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

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

CE Lua чистка памяти от утечек

ИМХО отказываться от CE Lua скриптов из-за утечек памяти не стоит. Можно чистить память следующим образом function startCollectgarbageProcess(interval, showStatus) local timer1 = createTimer(true) timer1.Interval = interval timer1.onTimer = function () if (showStatus) then print(string.format('Lua memory usage %.1f MiB',collectgarbage('count')/1024)) end collectgarbage("restart") collectgarbage("collect") if (showStatus) then print(string

MasterGH

MasterGH

CE Lua рисование отдельным потоком

На видео показано рисование через поток и рисование без потока Когда происходит рисование без потока, то окно нельзя подвинуть, не работает кнопка и даже не возможно работать с Cheat Engine           Код:     &

MasterGH

MasterGH

CE Lua программа пишет программу

Функция loadstring исполняет строку кода как функцию. f = loadstring ("print 'hello, world'") f () --> hello, world Есть еще и такая функция как string.dump. Она создает строку из функции function f () print "hello, world" end s = string.dump (f) -- Можно строку тут же запустить как код loadstring (s) () --> hello, world Если по обратной связи строить и исполнять строку кода, то

MasterGH

MasterGH

CE Lua Крестики и нолики

Игра с рандомом. Есть счет. Запускается через таблицу в аттаче.   Здесь мог быть AI на Lua, возвращающий номер клетки от 1 до 9. function InputAI() -- рандом return math.random (1, 9) end Извиняюсь, лучше рандома пока не могу предложить.     Крестики и нолики.CT

MasterGH

MasterGH

CE Lua выход из рутины до ближайшего цикла

Особенности 1) переход на следующий адрес по инструкциям ветвления вычисляется Lua кодом по ret, jmp, jmp condition до исполнения кода 2) определение опкодов ветвления по readmem без дизассемблериования 3) по тестам последний брейкпоинт снимается на ближайшем цикле   Пример лога до близжайшего цикла, когда поднимается из рутины вверх &#

MasterGH

MasterGH

CE Lua ModuleList region scan

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

MasterGH

MasterGH

CE Lua ColorPicker (скрытый компонент)

Чтобы получить цвет из компонента нужно найти его на форме CE через Lazarus. Этот компонент нельзя найти визуально, он скрыт. Узнал об этом случайно, когда зашел на форум Cheat Engine в тему расширений на Lua. Теперь в дизассемблере можно будет быстренько цвета менять

MasterGH

MasterGH

CE Lua 7.0 Поиск по формуле

В таблице поиска есть колонки ссылающиеся на название Lua перменных: "value" и "previousvalue"   А что можно делать?   Сравнивать текущее и предыдущие значения вместе или по отдельности, в том числе на разных вкладках CE   Примеры: value == 65 value == 0x65 (или поставить галку hex) value ~= 65 (или поставить галку not) Можно и такое  сравнение сделать после поиска неизвестного используя математические функции: math.abs(value - previousvalue)

MasterGH

MasterGH

CE Lua Оптимизация splitDisassembledString()

Напишем функцию, которая в 3.2 раз быстрее кода ниже splitDisassembledString(disassemble(address))   Сравнивая скорости получаем оптимизацию в ~3.20 раза быстрее.   Пример использования function GetDebugString2(address) local clearString = string.gsub(disassemble(address), '%s','') return string.match(clearString, '^(.-)%-(.-)%-(.-)$') end local address, bytes, opcode = GetDebugString2(0x0045464A) print(address) print(bytes) print(opcode) gsub очищает пробелы

MasterGH

MasterGH

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

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

MasterGH

MasterGH

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

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

MasterGH

MasterGH

CE 6.8 Обзор нового инструмента поиска по структурам

1. Открываем trainme Dark Byte. 2. Проходим первый шаг (там нужно сделать One Hit Kill чит через прогресс бар, количество патронов тоже интересно поломать) 3. Так вот на Step2  ищем адрес здоровья нашего космического корабля. Ставим брейкпоинт на доступ, стреляем. Видим, три адреса и вот теперь новые функции в контекстном меню как на скриншоте   На "(1)-(2)" - вызываем контекстное меню выделив адрес своего корабля и добавляем его в группу1. Тоже самое делаем д

MasterGH

MasterGH

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

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

MasterGH

MasterGH

CE 6.7 Lua. Интересный пример скрипта

Появилась такая опция асинхронного выполнения скриптов   Если эту опцию поставить на скрипты, то появляются вот такие часики   АА-шные скрипты могут искать в этот момент сигнатуру. Lua скрипты потестить было интересно, узнать действительно ли асинхронно выполняется. Например, один скрипт выполняет счет, второй выполняет счет. По выполнении выводится результат.     Во время выполнения включаем первую галку. Тут CE подвисает. Затем успеваем нажат

MasterGH

MasterGH

5. Поиск смещений

Обучалка (премьера) в субботу,  в 14.00 Мск. Длительность 2 часа   Анонсы   Удачи во взломе и приятного просмотра!

MasterGH

MasterGH

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

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

MasterGH

MasterGH

[The Escapists 2 + Unity + dnSpy] Спавн итемов.

Спавн итемов удалось сделать через dnSpy. При клике на любой предмет на меню крафта он создается в инвентаре, а если там занято, то выкидывается на карту.   Я переписал метод клика на рецепт, вот он оригинальный   На этот       Для спавна заменить Assembly-CSharp.dll из архива, сделав копию предварительно Assembly-CSharp.rar

MasterGH

MasterGH

[Lua] Логические операторы

Существует три логических оператора: and, or, not. Те, кто уже знаком с языками программирования знают, как эти логические операторы работают. Например,      A = true     B = true         if A and B then print('Условие "A and B" выполняется') end         if A or B then print('Условие "A or B" выполняется') end         B = false     if not (B == A) then print('Условие "not (B == A)" выполняется') end   Но, дальше интереснее.     Все логические операторы считают false

MasterGH

MasterGH в Lua

[dnSpy + Unity ] Пошаговая отладка

Пошаговая отладка в dnSpy позволяет ставить брейкпоинты на C# код во время работы игры, перемещаться по коду, просматривать значения переменных. Сэкономит кучу времени при поиске и отладке игрового кода,   1. Страница загрузки dnSpy 2. Скачиваем dnSpy и все архивы с mono.dll файлами Unity-debugging-4.x-win32.zip Unity-debugging-4.x-win64.zip Unity-debugging-win32.zip Unity-debugging-win64.zip 3. Смотрим свойства exe файла игры и определяем по нему вер

MasterGH

MasterGH

[Cheat Engine] Dissect Data Scaner 1.0.1 beta

Немного комментариев к этой версии.   1. Исправлены смещения 2. Добавлены также инструкции на запись   На скриноте ниже пример сравнения текущей структуры с координатами в СТАЛКЕРЕ Зов Припяти с копией структуры.  

MasterGH

MasterGH

[Cheat Engine Lua] Тестирование производительности2

Уже была запись про тестирование производительности. В этом примере тестируем разное обращение к функции со средним арифметическим значением     Результаты при 4-х запусках avg = 0.93333998758048 avg = 1.0322099291325 avg = 0.92657961891689 avg = 1.1883763135947   Вывод. Разница не существенная.

MasterGH

MasterGH

[CE Lua, Plugin] Вывод иерархии компонентов

Скрипт позволит вывести иерархию компонентов CE в виде текста.   Иерархия компонентов CE нужна для написания плагинов.  Например, для ColorPicker и для смены шрифта (подобротнее об этом было где-то было в блоге).   Скрипт:   Для CE 6.7  

MasterGH

MasterGH в CE Lua, Plugin

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

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

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