Перейти к содержанию

youneuoy

Пользователи+
  • Постов

    128
  • Зарегистрирован

  • Посещение

  • Победитель дней

    4

Весь контент youneuoy

  1. Вариантов масса на самом деле, и тебе для их понимания нужно лишь прочесть не очень большое руководство по lua тут, за день-два освоишь 100%. После изучения руководства тебе стало бы понятно, что вместо чтения файла лучше вызвать функцию dofile(путь к скрипту),loadfile, require или что-то подобное. Если хочешь считывать файл как делаешь это сейчас то для исполнения считанной строки используй loadstring.
  2. считай все, а вторую строку не сохраняй нигде?
  3. это ничего, автор вопроса шесть лет ждал и ещё немного подождать сможет.
  4. Это когда для lua поля структур делаешь возможно геттеры/сеттеры в т.ч. и на знак равенства назначать. А в c++ так нельзя?Разве что ты можешь попробовать что-нибудь с дефайнами или шаблонами вперемешку с перегруженными операторами. Но это всё равно будет выглядеть не так, как требуется. Хочешь улучшать навыки программирования - выстраивай логику программы наиболее удобным образом.
  5. для начала ты можешь посмотреть примеры готового кода. На гитхабе, например. Вот первое, что поиск выдал: https://github.com/Onelio/Win32GUI Ну а вообще с винапи всё работает точно также, как и с любым другим апи и особенностей при создании классов-оболочек никаких нет. Вот только если ты пишешь простое приложение, то возможно с классами нет смысла заморачиваться. Достаточно например сделать функцию, которая будет создавать кнопочку и назначать ей все необходимые свойства.
  6. на скриншоте рисование в окне игры. Нужно всего 3-4 функции хукнуть(я этого не делаю и использую загрузку своей библиотеки через враппер d3d9.dll, так антивирус не ругает за инжект). Кстати, imgui позволяет очень просто передавать свой контекст между несколькими .dll, очень удобно если систему плагинов делаешь. давно появилась. У imgui это называется бекэндами и они есть для чего угодно, в т.ч. для андроида и мака(и при необходимости новые писать довольно просто, погляди код в папке backends). Можно использовать sdl или allegro и не париться о всяких там directx. а зачем там документация? Это ведь конструктор форм, да ещё и для c#. И я его не рекомендовал, кстати - указал ведь, что у меня быстрее и красивее получается накидать менюшку прямо в коде при помощи imgui или winapi и я полностью на это перешёл. есть враппер imgui для c#. графика винапи не имеет сторонних зависимостей и именно этим она хороша.
  7. первые попытки делать что-то, имеющее gui я начал с wpf(это c#) и с его формочками у меня всё время получались очень страшные интерфейсы. После этого я перешёл на c++ и попробовав разное пришёл к такому набору: простые приложения(где нужно одно окошко с кнопочками) пишу с использованием винапи, а для сложных использую вот эту штуку (позволяет очень быстро и относительно красиво делать как обычные менюшки, так и сложные таблицы, позволяет использовать opengl или directx и ещё всякие штуки, следовательно можно писать кроссплатформенные программы, поддерживает загрузку разных шрифтов и т.п. и т.п.). Как по мне это лучшие из возможных вариантов для человека, не очень разбирающегося в дизайне и прочих подобных вещах(кнопочки на формочках я действительно коряво делаю, без конструкторов формочек на мои программы можно смотреть без крови из глаз). Ну и вот пример - менюшка, стилизованная под игру medieval 2 total war(игра использует directX 9 и рисовать можно просто заинжектив dll-ку):
  8. у тебя вектор с указателями, верно? Вот они все в одном месте находятся. И ещё такие контейнеры зачастую сами расположены внутри класса. И про это ты наверняка уже знаешь из обучающего плейлиста гхл и впустую тратишь своё время(когда пишешь подобные посты) и время других пользователей(которые это читают или даже отвечают на это)?
  9. это становится понятно после прочтения названий этих функций(и это не функции поиска указателя). Одна отслеживает чтение данных по определённому адресу, вторая - запись. Т.е. есть код: mov [0x29385129],0x5141234123 mov rdx,[0x29385129] первая функция(чтение) покажет тебе адрес второй инструкции, а вторая(запись) - первой. на ютуб канале гхл есть плейлист, в котором описаны все(или почти все) возможности CE. И ты судя по посту в другой теме его весь просмотрел, быть может есть смысл повторить просмотр/заняться его изучением?
  10. в c++ возьми указатель на вектор и посмотри его значение в режиме отладки или просто выведи на экран. Скопируй это значение в поле адреса CE Dissect Data/Structures, после чего изучай структуру. Попробуй потом также сделать и с другими типами/контейнерами/классами/чем угодно вообще и повторяй до тех пор, пока не поймёшь как оно всё работает. CE+Ghidra с задачами справляются не хуже.
  11. зато глупости писать не постеснялся? ничегошеньки не понял. Как и писал выше - лучше сначала пересмотри все ролики, потом попробуй сделать что хотел самостоятельно, а после уже пости вопросы/решения и т.п.
  12. ты не прав, было предложено использовать кейв возле инструкции, а не структуры и записать туда адрес структуры. Посмотрел твои старые посты, впечатление произвели не оч. хорошее.
  13. здесь речь идёт скорее об обучении основам реверса вообще, а не только о СЕ. Мне кажется, что если бы ты просмотрел это всё то вопросов многих у тебя бы не возникло(а ещё ответы на вопросы были бы прям совсем понятны). Ты ведь спрашиваешь здесь о банальных вещах не потому, что всё очень просто, верно? А вообще я уже успел забыть о чём разговор ведём?
  14. кажется ты сделал что-то не то. В ce есть специальный инструмент для поиска неиспользуемой памяти. Пересмотри обучающие ролики с канала гхл, там это точно было. Вот этот плейлист(вообще весь) обязателен к внимательному просмотру: оба варианта верны. В данном случае вызывается метод конкретного объекта, это работает примерно как и в c++ соглашение thiscall. Если поставить двоеточие то в качестве первого параметра отправляется указатель на объект, если точку то необходимо самому передать указатель(file:write("что-то там ") vs file.write(file,"что-то там"))
  15. а зачем тебе считывать переменные СЕ из C# или python? Делай всё что нужно сразу при помощи C# или python. А ещё удобнее(на мой взгляд) писать подобные штуки на c++(альтернатив мало, если речь идёт о чём-то крупном). Или же прямо в CE lua(lua ничуть не хуже, чем тот же python). Но кажется для начала тебе(возможно) следует немного больше попрактиковаться с CE. Если у тебя есть серьёзная причина поступить иначе то попробуй для начала просто записать адрес переменной в файл, самое быстрое решение.
  16. это проще, чем рисовать в окне игры. Достаточно будет просто CE Lua?
  17. совет - посмотри обучающие ролики на ютуб канале гхл - https://youtube.com/playlist?list=PL1rFTirh2a0OiFJerJUT3a7UXEL5M7xxD
  18. структура кода верна, но не понятно что это за "item" и почему ты выполняешь такое странное сравнение. Почитай вот это, наверное: https://wiki.cheatengine.org/index.php?title=Lua:Class:ComboBox И в дальнейшем описывай всё более подробно?
  19. кликать нужно постоянно? Если нет то установи активное окно, покликай сколько нужно и восстанови старое. Если винда десятка то вероятно возможно открыть окно на отдельном рабочем столе(не проверял) или сделать что-то ещё подобное. если это правда, то мб он с кодом игры что-то делал. Разбирайся, что тут ещё можно сказать? есть. Но ты выше писал, что оно не работает.
  20. так сделай окно активным, самый быстрый и удобный вариант ведь? Кстати, а в чём смысл писать на C# подобное? нет, SendInput работает со вводом вообще, для всей системы.
  21. гидра и CE наше всё? плохо искал. Ну и код может быть не только в .exe, а в .dll файлах ещё и т.п. нужны - ищи?
  22. ага, примерно так и есть. Очень удобно на самом деле. Пример посмотри здесь, да и вообще рекомендую почитать немного СЕ вики. Ещё можно вызывать lua функции из СЕ ассемблера, но с брейкпоинтами проще. если оформлять отдельной программой, то заморачиваться с ассемблером нужды нет?
  23. Зачем винапи и ассемблер в этой задаче? Мне кажется лучше поставить бряк и написать код для логгирования на lua(если мы про cheat engine говорим) . например на функцию lua debugger_onBreakpoint. На форуме даже где-то статья или тема про это была и скорее всего не одна.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.