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

MasterGH

Ветераны
  • Постов

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

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

    129

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

  1. Запустить игру в оконном режиме Поставить брейкпоинт, задать ему условие прерывания. Прерваться на брейкпоинте по F9: "раз", "два", "Три". Снять брейкпоинт по F5. Выделить следующую инструкцию, которая еще не выполнилась. Поставить трейссер и отпустить по F9. Все
  2. Для тех кому интересно, вопрос к ним. Какие критерии можно добавить спрашивая оценку плагина? Например, по 5-ти бальной шкале спрашивать оценку у пользователей: Необходимость плагина в Cheat Engine Работает без ошибок Понятно как пользоваться Интерфейс плагина Удобство плагина Нравится Простая установка Думаю, прикрутить аналитику прямо в плагины. Там будет как аналитика использования плагина, так и будет опросник выше. Ну и пользовательское соглашение об анонимном сборе данных для улучшения качества приложения. Чтобы можно было улучшать только те плагины, которые устанавливают и которыми пользуются.
  3. MasterGH

    User Action Logger 1.0 Beta

    Обновлен и залит плагин "User Action Logger 1.0 Beta"
  4. Версия 1.0 Beta

    20 раз скачали

    Cheat Engine 6.8.3 Cheat Engine Extensions "User actions logger 1.0 Beta" Repository: https://bitbucket.org/MasterGH/ce-lua-user-actions-logger/src/master/ Author: MasterGH Donations: paypal, mastergh.developer@gmail.com Site: https://gamehacklab.ru/ Youtube channel: https://www.youtube.com/gamehacklabru VK: https://vk.com/gamehacklab How to install: Put files in main directory to chate engine Version: Beta 1.0 (22.018.2019) + Add output base information about user actions + Add GHL panel Files: autorun->User actions logger.lua autorun->GHLLogo.lua autorun->forms->GHLLogo.frm На русском: "User actions logger 1.0 Beta" Репозиторий: https://bitbucket.org/MasterGH/ce-lua-user-actions-logger/src/master/ Автор: MasterGH Donations: paypal, mastergh.developer@gmail.com Сайт: https://gamehacklab.ru/ Youtube канал: https://www.youtube.com/gamehacklabru VK: https://vk.com/gamehacklab Как установить: Распаковать файлы в директория Cheat Engine Версия: Beta 1.0 (22.018.2019) + Добавлены базовые действия в логи + Добавлены ссылки на ресурс game hack lab Файлы: autorun->User actions logger.lua autorun->GHLLogo.lua autorun->forms->GHLLogo.frm
  5. Планируется улучшать и дорабатывать плагины, показать как с ними работать. 1. Вывод данных в окно логов: сканирование, подключение к процессу, опции сканирования, состояния активации и деактивации записией в таблице CE и другие 2. Запись действий из пункта 1, сохранение этих действий и воспроизведение по кнопке или горячим клавишам 3. Показ в дизассемблере CE ветвлений кода при проходе потоками разными цветами (можно видеть код, который не был пройден в разных ситуациях) 4. Дополнительное окно дизассемблера с опциями подсветки инструкций по типу в градации черно-белых цветов: математические инструкции, логические инструкции, инструкции ветвления, на чтение и запись. 5. Улучшение плагина "Dessect Data Scanner" с DBVM или на 4-HW брекйпоинта. В случае DBVM количество брейкпоинтов не ограничено и можно определить тип данных одновременно для каждого байта в структуре по смещениям, а в случае 4-х байтов это в режиме без DBVM одновременно задействуются все 4 hw брейкпоинта, а не 1 hw как сейчас. Extensions:
  6. У меня бывают такие случаи, когда увидишь простой пример кода после которого захочется заняться разработкой какой-нибудь игры. Вот один из таких примеров о том, как сделать подъем и опускание предмета и затем его вращение. Это 5 строчек "таких" и 5 строчек "таких", вот подъем и вращение На видео код можно применять для левитации предметов и вражеских персонажей, которых можем поднимать, удерживать и бросать.
  7. Отличная книга по изучению паттернов проектирования. Ее можно читать со шпаргалкой по паттернам (иллюстрацию по паттернам можно загуглить). Перед этим еще загуглить SOLID + Unity . До кучи еще алгоритмы и структуры данных. Все это пригодится, чтобы пойти работать на программиста игр или приложений с разными типами реальности: дополненная, виртуальная и смешанная. А так же сейчас можно встретить вакансии по программированию не только Android, iOS устройств, шлемов и очков, но различных устройств и дронов. Об алгоритмах может быть позже напишу
  8. Я перепутал название переменной) Так все же работает. Пошаговый Lua отладчик в помощь Вообще не очень понятно, зачем открывать файл как процесс, подсчитав его размер. Я бы эту строчку закомментировал. Если надо открывать файл редактором, то можно текстовым или своим на Lua сделанным
  9. Вот так заработало (из utf8 в ansi) Если не будет работать тогда проверить путь. local pathRU = "C:\\Текстовый фaйл.txt" local utf8Path = utf8ToAnsi(pathRU) local file, error = io.open(utf8Path) print (file, error) Одинарные символы "\" заменить на "\\". Если и это не поможет, то в текстовым файле (справочнике CE Lua) есть классы для работы с файлами на чтение и запись.
  10. А ты пробовал преобразовать путь в UTF8? У CE есть такая функция преобразования
  11. MasterGH

    Lua плагины в CE

    Нет времени, пока напишу заметки. 1. Можно сделать плагин с визуализацией счетчиков обращений к видимым данным в MemoryView с подключенным DBVM. 2. По аналогии в Dessect Data Scanner сделать выбор DBVM режима. DBVM позволяет обойти ограничение в 4 аппаратных брейкопинта и в реальном времени визуализировать данные, которые обращаются к памяти на чтение, запись. Показывать счетчик обращения и даже показывать спискок инструкций при наведении курсором на байт или иные данные в MemoryView. В случае c Dessect Data Scanner может ускорить расструктуризацию, а не по 1-ому брейкпоинту снимать показания X секунд пробегаясь по структуре. Кстати, кто-нибудь шарит в алгоритмах, структурах данных и паттернах проектирования? Если шарите, поделитесь в каких задачах применяли.
  12. Как вариант поискать и смотреть техническую документацию по компилятору или изучать выполнение декомпилятора под дизассемблером. Там должно быть условие, которое выводит ошибку при парсинге строк кода. Если предположить, то сделали так специально, чтобы не было cmp eax, value je label1 ; альтернатива "switch/case" ; ... label1: sub esp, 4 ; инициализация типа int a = 5 mov [ebp+4], 5 по "протоколу" возможно никогда не делают прыжки на sub esp после прыжка просто так. Это делается, как я предполагаю, в начале функции или в фигурных скобках обозначающих поостранство имен внутри case, или под switch до первого case, или на последнем case... В общем как захотели компилятор написать так и написали. Либо по каким-то причинам техническим, либо по "своим" правилам. А может чтобы упростить разработку и сроки "не дописали", просто ошибку вывели. Статья про switch case под дизассемблером на трех компиляторах. Там, конечно, нет вариантов как в этой теме,но их можно самостоятельно под отладкой посмотреть
  13. Это можно сделать также как и в игровом движке. 1) В Update функции, если компонент не найден еще, то искать X тип компонента (искать например каждые 5 секунд) 2) Если компонент найден, то вызывать у него метод каждые X секунд Комментарии:
  14. Скрипт написан с ошибками. Сгенерируй скрипт из CE и сравни со своим. Тебе добавить только три строчки. label, registesymbol и mov[метка], регистр. Ну еще и unregistersymbol
  15. Менять лого, конечно, бестолковое дело. Допустим это нужно для шутки или для себя лично. Далее меняем лого через файл, поместив его в директорию CE с названием например NewLogo.png local fullpath = getCheatEngineDir()..'/'..'NewLogo.png' SwitchLogo(fullpath) Или меняем через URL (нашел я случайный вариант) Чтобы вручную Lua функции не вызывать, создаем Lua файл и кладем в папку автозапуска и лого будет меняться при запуске CE
  16. MasterGH

    Выбор ЯП

    Весь интерфейс в теории можно сверстать в самом игровом движке. Потом создать специальный модуль (asset) и изнутри игры его загружать в неё саму. Я делал это в Unity играх несколько раз и это было интересно. Фактически всю игру, механику и интерфейс можно контролировать и быстро поменять, но с условием, что в рантайме увидешь быстро игровые обьекты и их свойства. Например можно сделать ассет летающей обзорной камеры. И вроде такие ассеты можно создавать и изнутри игры и их грузить в другие игры
  17. Здесь задаются условия срабатывания брейкпоинта (нажать Ctrl + B). Нужно заранее знать EIP или RIP адреса инструкций, которые нужно исключить.
  18. Я проверил. Это без разницы. Вообще я думал кода будет больше, когда я давно писал SEH я еще инструкции добавлял. Я беру убираю эти директивы и получается точно такой же код, однако вылет)) Похоже CE прячет байты и инструкции того самого SEH
  19. try/except на последней версии CE 6.8.3 должно работать {$try} mov eax,[ecx+10] jmp short noerror {$except} xor eax,eax noerror: Может быть, ты свой скрипт покажешь, если хочешь конечно Под except нужно восстановить оригинальное значение. Хотя я думаю, не поможет этот try/catch. Будет вылетать на других инструкциях
  20. Алгоритм: 1. Левая часть1 строки из пробелов создается на N-1 символ за проход цикла 2. Правая часть2 из "X" увеличивается на +1 символ за проход цикла 3. Левая и правая части соединяются в строку и выводятся Реализация на CE Lua (знаю, что не на C++, поэтому оффтоп) local N = 30 for i=0,N do print(string.rep('_',N-i)..string.rep('X',i)) end
  21. Этот пример стоит попробовать, я и забыл про этот синтаксис, но только исключение может быть в другом участке кода, например, из-за записи значения вместо указателя и другой участок кода вызовет исключение. Так что решили проблему? По Lua я не помогу, т.к. пока очень мало времени. По Lua я бы сделал иначе. Там нужно вызывать Lua функцию через AA. Если будет время, покажу пример.
  22. Теоретически. Как пример для любой игры сингловой или мультиплеерной: 1. Ищем адрес координат игрока 2. Ставим брейкпоинт на адрес координат игрока 3. Ищем инструкцию, которая работает со всеми координатами 4. Собираем постоянно в массив самые дальние координаты и узнаем примерную область карты. Вообще зависит от движка игры. Если это Unity, то можно перебрать все коллизии с самым большим размером и дальними положениями, или если есть что-то похожее на Terrain, то найти этот компонент и получить свойства ширины и длинны.
×
×
  • Создать...

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

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