Перейти к содержанию
  • записи
    104
  • комментариев
    125
  • просмотров
    31 828

Записи в этом блоге

Пошаговая отладка Lua скриптов в Cheat Engine

Открываем Lua консоль из дизассемблера Пишем Lua скрипт Дальше по шагам как на картинке   Сколько я не пользовался CE я никогда не знал об этом отладчике. Когда я случайно узнал, то был приятно удивлен. Если мы пишем какую-то функцию и она дает сбой, то её можно отладить как на скриншоте. Это может быть и не функция.

MasterGH

MasterGH

4. Видео. Фильтр "свой-чужой"

Завтра состоится очень скромная премьера 27 июня в 19.00 (по Московскому времени) видео "Фильтр-свой" чужой.  Почему видео находится не на официальном канале? Какая цель у видео? Это личное любительское видео-хобби по отладке и изменению игрового кода — взлому игр. Я записываю видео для себя и для желающих. Приходите смотреть     gta3.CT

MasterGH

MasterGH

Встраиваем C декомпилятор в CE 6.8.3

Вступление   В CE выделим участок кода и функцию Sub eax,edx - вычитание и наиболее значимее чем запись и чтение. После декомпиляции Если выделили две инструкции   Обращать внимание будем на математику, логику, условия и потом на чтение и запись. В данном случае, нужно найти вычитание из адреса "eax4->f1152 = eax4->f1152 - (eax3 + 1)"     Как поставить декомпилятор 1. С форума Cheat Engine качаем архив 2. Распаковыв

MasterGH

MasterGH

CE 6.8.2. Lua .Считаем размер инъекции в байтах

Пост для тех, кто интересуется Lua в Cheat Engine.    Можно подхватить разные моменты активации и деактивации записи в таблице CE и рассчитать размер кода между метками   1. По шаблону вставляем АА код для туториала Cheat Engine 2. Регистрируем метки-маркеры в АА коде 3. Этими метками в Lua считаем и выводим ""endCode - startCode" размер байтов   Пример, который подсчитал 15 байтов       Пример скрипта   Документация ко

MasterGH

MasterGH

Lua ООП конспект

Пригодится для создания больших плагинов в Cheat Engine. Более ~500 строк   Наследование   Инкапсуляция   Полиморфизм   Спасибо автору за исходники.

MasterGH

MasterGH

Работа с системой контроля версий в команде разработчиков

Инфа по совместной работе с гитом. Может быть пригодится кому, а может и нет. Такую систему я использую на работе недавно.   Можно совместно работать над одним большим проектом через git-flow. Возможно, кто-то из форумчан тоже использует git flow на работе.     Кратко. Модель контроля версии построена на 4 ветках   master - релизы develop - разработка feature - фичи hotfix - исравления   С develop начинается разработка через копирования в ветк

MasterGH

MasterGH

CE Lua. Ищем свойства userData.

UserData в Lua это пользовательский тип.  Точно не знаю, но я думаю  в документации в CE Lua (celua.txt или здесь на офф. сайте) тип userData у всех классов или большинства классов. Например,  проверим, что главная форма CE это userData тип local mainFormCE = getMainForm() print(type(mainFormCE)) > userdata (вывод из консоли) Выводим список свойств следующим образом через getmetatable функцию. Метатаблица — это  особая  таблица свойств Lua-переменной (подробнее здесь) local mainF

MasterGH

MasterGH

CE 6.7 Lua. Функция autoAssemble

Источник   Как вступление. Мне нравится Lua, потому что в нем можно писать код в виде строковых данных (и Lua строки, и ассемблерные строки), а затем выполнять эти строки как код. В теории код может по фидбеку делать другой код в автоматическом режиме. Это на мой взгляд неисчерпаемые потенциальные возможности AI ограничивающиеся железом.   В CE 6.7 функция autoAssemble вызываемая в Lua скриптах позволяет включать и теперь выключать скрипт со "своим" dealoc-ом.   При

MasterGH

MasterGH

Обновление2. Ветвления кода связанные с адресом

        Репозиторий   1. На адрес устанавливается брейкпоинт. 2. Идем в игру делаем или не делаем что-то 3. Начинают срабатывать инструкции на брейкпоинте 4. От каждой инструкции начинается трейслог, подобный тому, который есть

MasterGH

MasterGH

Интересные программы

1. WebSite-Watcher позволяет отслеживать изменения на веб-страницах в том числе по по регулярным выражениям. Можно отслеживать изменения на сайтах Cheat Engine и других. Форум отслеживать смысла особого нет. Проще подписаться на обновление и почтовый клиент поставить. 2. Программы тестирования и автоматизации под разные ОС:     Sikuli — открытая кросс-платформенная визуальная среда создания сценариев-скриптов     AirTest IDE — почти как Sikuli и более того, китайские разработчики

MasterGH

MasterGH

CE Lua ModuleList region scan

Поиск по модулям     Исходник   Поместить ModuleListRegioScan.lua в autorun.   Что интересно, Дарк Байт решил написать на Lua. Эта функция жестко в CE не впиливается. Можно выбирать, хочу это расширение поставить или нет. Посмотрел, если понравится, то оставил. Cheat Engine перекомплировать не нужно и не нужно в нем делать опции скрывать или показывать функционал.   Источник

MasterGH

MasterGH

Разработка плагинов для Cheat Engine

Планируется улучшать и дорабатывать плагины, показать как с ними работать.   1. Вывод данных в окно логов: сканирование, подключение к процессу, опции сканирования, состояния активации и деактивации записией в таблице CE и другие  2. Запись действий из пункта 1, сохранение этих действий и воспроизведение по кнопке или горячим клавишам 3. Показ в дизассемблере CE ветвлений кода при проходе потоками разными цветами (можно видеть код, который не был пройден в разных ситуациях) 4. До

MasterGH

MasterGH

Cheat Engine 6.7 и Lua. Часть 2

Как контролировать включение и выключение скриптов в таблице   AA или "Autoassembler code" код похожий на язык программирования ассемблера. Обычный АА-скрипт состоит из двух директив и добавляется в таблицу CE как запись // Код срабатывающий как при активации, так и при деактивации [ENABLE] // Код активации [DISABLE] // Код деактивации Чтобы код активировался, нужно включить галку напротив записи в таблице и наоборот выключить. Есть такие директивы как {

MasterGH

MasterGH

Cheat Engine 6.7 и Lua. Часть 4

Решил попробовать написать CE Lua  скрипт, который прочесывает структуру и в Dissect data/structures окне создавал бы структуру только со смещениями, с которыми код работает, т.е. читает или пишет.   Например, мой персонаж прогуливается по городу, а каждые 200 мс ставится брейкпоинт на смещение +1 до гипотетической N границы структуры (например до 4096).   Я не успел сделать определение типа, но смещения внутри структуры получить я успел.   Итак, находим начало стру

MasterGH

MasterGH

Программирование с помощью патернов проектирования

Отличная книга по изучению паттернов проектирования. Ее можно читать со шпаргалкой по паттернам (иллюстрацию по паттернам можно загуглить). Перед этим еще загуглить SOLID + Unity . До кучи еще алгоритмы и структуры данных.  Все это  пригодится, чтобы пойти работать на программиста игр или приложений с разными типами реальности: дополненная, виртуальная и смешанная. А так же сейчас можно встретить вакансии по программированию не только Android, iOS устройств, шлемов и очков, но раз

MasterGH

MasterGH

Sikulix-скрипт сравнения изображений в играх

Вполне читерская программа Sikulix   Помощник для нахождения отличий   Исходник:   Картинки для тренировки   Игра Sikulix Документация Туториалы   Sikulix умеет: ждать появления или исчезновения элемента, просто ждать, периодически просматривать область в background (например игрового чата); читать (и писать) текст в(/из) поля ввода, "нажимать на клавиатуру", подсвечивать области, кликать по элементам, удерживат

MasterGH

MasterGH

Делаем огромный брейкпоинт на всю структуру

Обычно, дается 4 аппаратных брейкпоинта на адреса памяти. Их можно включать одновременно  и найти инструкции, которые в данный момент срабатывают. Так можно определить тип данных у адресов и найти инструкции. По инструкциям найти смещения внутри дизассемблированной инструкции. По смещениям визуально определить структуры в структурах. Расструтуризовать структуру в dessect data и найти много интересных параметров для читов. Вручную с 4мя бряками делать очень хлопотно.    Начинается все с

MasterGH

MasterGH

Модели в Unity + Fuse + Mixamo. Demo

Кому интересно как c помощью инструмента Fuse сделать модель  вроде той, что я набросал на скриншоте выше и заставить её бегать, я предлагаю посмотреть в этом видео, незнакомого автора.    

MasterGH

MasterGH

О стабильности CE 7.2, точке входа и выходе видео

Прошлая точка входа запускающая активирующий скрипт не хотела работать, если запустить гигантский трейнер (сгенеренный на CE), а потом игру.   Для работы трейнера точка входа теперь  задается вот таким образом после генерации кода трейнера   Подробнее в исходниках (лучше смотреть позже, после просмотра видео, которое еще готовится) gta3.CT   У версии CE 7.2 есть к сожалению баги. 1. При генерации трейнера нужно вручную править высоту надписей —  надписи

MasterGH

MasterGH

Lua Regex Tester (Cheat Engine)

Используется UDF1.CELabel1.Caption = string.match(stringLine, stringPattern)   Для запуска нужна CE 6.4. string.match.CETRAINER

MasterGH

MasterGH

CE 7.2 Операции с трейслогом

Я решил рассмотреть три новые функции:   Пользовательские типы данных в hex-окне Фильтр на окне определения адресов Поиск данных в окне Tracer   1. Пользовательские тип данных в hex-окне   Пример как сделать:   Фильтр на окне определения адресов     3. Поиск данных в окне Tracer   Обычный поиск, как на прошлых скринах   Примеры   Ну и более интересная версия перебора и одновременн

MasterGH

MasterGH

Телепорт на Lua. 10 слотов. 3 типа данных

Функции: 1) Три типа данных: float, double, integer 2)  10 слотов сохранений 3) Управление горячими клавишами. ctrl+X - где X от 0 до 9 сохраняет позицию, shift + X загружает ранее сохраненную позицию 4) Озвучивание загрузки или сохранения Как пользоваться: 1. Подключаемся к процессу игры любым способом (хоть вручную, хоть на Lua, чем угодно) 2. В CE вставляем Lua скрипт   3. Меняем адрес teleport_address = "03D2C6DC"   на тот который нужно. Здесь

MasterGH

MasterGH

×
×
  • Создать...

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

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