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

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

Чтение адресов и записи в адреса

Я обратил внимание на следующие поведения записи и чтения 1. Срабатывают только инструкции чтения до изменения параметра, адрес рабочий С адресом работают инструкции на чтение, но если в друг в этом адресе что-то поменять (например в CE), тот тут же выскочат инструкции на запись. Нельзя однозначно утверждать, что адрес является настроечным параметром, но и нельзя утверждать, что это не рабочий адрес. Какая-то инструкция может жестко менять значение, а может быть будет "стараться" измен

MasterGH

MasterGH

Часть2. Lua простые регулярные выражения

Если нужно найти начало и конец подстроки. Пример Попробуем найти слово lab в троке gamehacklab.ru print(string.find('gamehacklab.ru', 'lab')) >9 11 Если не найдена подстрока, то вернет nil.   С помощью string.match можем выводить не индексы, а строку print(string.match('gamehacklab.ru', 'lab')) &

MasterGH

MasterGH

Часть1. Lua. Захват выражения в квадратных скобках

Есть такой плагин "AA Maker" и там довольно интересные регулярные выражения на Lua. Разберем некоторые выражения   Выражение ''%[(.*)%]' - захват всего, что в квадратных скобках   Пример local s = 'mov eax, [ecx + 4]' print(string.match(s, '%[(.*)%]')) --> ecx + 4 Символ "%" нужно всегда ставить перед специальными символами такими как ^

MasterGH

MasterGH

Форуму 10 лет

11 декабря 2019 года форуму Gamehacklab исполнится 10 лет. Это дата первого пользователя форума.   Поздравляю всех:  активных пользователей, высший состав форума, админов и модеров, старожил, помогаторов, тех кто был на форуме очень давно и перестал заходить.   Отдельно @Xipho, @srg91, @partoftheworlD, @Garik66, @LIRW, @SER[G]ANT, @gmz. Извините, если кого-то персонально  пропустил.   Можно пожелать всем бесконечного энтузиазма на тему поиск

MasterGH

MasterGH

Форма Cheat Engine

В архиве два файла. Функции 1. Контекстное меню. Компактное/ не компактное окно CE 2. Сохранение и загрузка положения и размера формы CE 3. Сохранение и загрузка компактного состояния формы или не компактного   Сделано на энтузиазме после написания класса сохранения и загрузки параметров. После запуска, CE будет там, где её (CE) закрыли с по

MasterGH

MasterGH

Трассеровка по ретам. Скриншот

  На скриншоте 22 ветви трассеровки от адреса патронов не входя в call-ы до корневого цикла. Корневой цикл определяется, когда поиск происходит более трех секунд и не находит ничего. Вполне хватает этого времени. Буду еще повторно тестить и проверять доходит ли он цикла или надо еще что-то придумывать. Желтым выделяется точка, вертикальная полоса ветви и связи с такими же узлами. Узел это адрес выхода из ret

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

Составление критериев в к плагинам Cheat Engine

Для тех кому интересно, вопрос к ним. Какие критерии можно добавить спрашивая оценку плагина? Например, по 5-ти бальной шкале спрашивать оценку у пользователей:   Необходимость плагина в Cheat Engine Работает без ошибок                            Понятно как пользоваться Интерфейс плагина Удобство плагина Нравится Простая установка   Думаю, прикрутить аналитику прямо в плагины. Там будет как аналитика использования плагина, та

MasterGH

MasterGH

Самое интересное в дополненной реальности

Дополненная реальность похоже на спецэффекты в кино, только на экране видим изображение получаемое с видео камеры, которой управляет пользователь.    Что интересно. Камера, которая есть у многих на телефоне и допустим некоторая программа с API(какой-нибудь дополненной реальности написанная вами) определяет, что происходит на изображении и по этим данным можно   1) определить плоскости реальные в нашем мире 2) определить положение объектов относительно друг друга в нашем

MasterGH

MasterGH

Регулярки на Lua. Пронумеровать список строк

В общем хорошо взялся за регулярки на Lua!  Всё подряд прогоняю через них, что под руку попадется, любые задачи.   Случайный пример задачи. Пронумеровать список   Тут же написал     И получил ответ. В следующий раз только вызывать "EnumerateText([[ текст со строками]])"   Тут в буфер текст улетит и выведет в мессагу. После закрытия мессаги через CTRL+V вставит текст, куда хотим Пронумерованные функции — функции работы со строками последней

MasterGH

MasterGH

Регулярки на Lua

Добавлен файл [Cheate Engine] Lua Regular expression.CETRAINER. Файл можно скачать в теме по ссылке. Исходники в приватном разделе.  

MasterGH

MasterGH

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

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

MasterGH

MasterGH

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

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

MasterGH

MasterGH

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

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

MasterGH

MasterGH

Пример. Lua генерируем код

Функция loadstring позволяет исполнять текст как код. Попробуем генерировать числа, сравнения чисел и логику И, ИЛИ. Цель: просто пример.   Создать пары случайных чисел А и Б. Случайно сравнить попарно. Создать случайно логику  "И, ИЛИ" и сравнить результаты сравнения до тех пор, пока не будут истинны    

MasterGH

MasterGH

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

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

MasterGH

MasterGH

Плагин для ведения логов в CE

Плагин ведет историю поиска, отсева, отмены. Логи выглядят следующим образом Для чего может применятся На шаге отсева посмотреть в логах, какое значение искали до этого и какой способ поиска использовали. При неудачных поисках мы просматриваем как и что мы сканировали раньше. Если вообще ничего не получается при сканировании, то логами можно обмениваться. Горячие клавиши, которые настраиваются из окна настроек CE работают и в логах.   Установка: скоп

MasterGH

MasterGH

Отладка Lua скриптов и stacktrace функций

Пример, который показывает как снять стек вызовов функций function A0() -- Здесь можно удалить ":gsub('\n','\r\n')", но тогда в консоли текст будет в одну строку print(debug.traceback():gsub('\n','\r\n')) end function A1() A0() end function A2() A1() end function A3() for i=1,3 do A2() end end A3()   Можно поставить пошаговую отладку в консоли Lua (как на скриншоте) и  пройти по шагам

MasterGH

MasterGH

Оптимизация CE Lua кода по сборке мусора

Есть инструкции, которые добавляют мусора больше чем другие.   Показываем объем памяти мусора print(string.format('Lua memory usage %.1f MiB',collectgarbage('count')/1024)) Ниже код того как попробовать узнать сколько мусора добавил код при парсинге ассемблерной строки двумя способами   Пример результатов могут отличаться. Фиг его знает почему. Возможно работает сборщик мусора в разные моменты времени Lua memory usage 1.8 MiB Lua memory usage 1.8 MiB Lua memory us

MasterGH

MasterGH

Обработка исключения в Cheat Engine Lua

pcall() функция может вызывать функцию, которая может вызывать исключение. Возвращает статус в виде булевой о том, есть ли исключение или нет и возвращает текст исключения.    Источник   Как этим пользоваться? Если вдруг знаем, что может произойти ошибка, то можно её обработать и выполнить правильное действие не останавливая работу Lua скрипта. Или например если  не выполняется условие, то можем сами создать ошибку с помощью функции error, что остановит скрипт.

MasterGH

MasterGH

Обработка исключения в Cheat Engine AA

Новые директивы try/except в AA доступны Cheat Engine 6.8 Beta2   Задача  try/except в AA обработать исключение, не допустить crash. Чтобы игра продолжалась, а чит в лучшем случае не закрыл бы процесс. В теории возможно определить, что был crash и что-то сделать. Например, отправить логи в свой или иной удаленный сервис аналитики, что такой-то чит не сработал...   Пример от DarkByte для  try/except с счетчиком crashes    

MasterGH

MasterGH

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

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

MasterGH

MasterGH

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

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

MasterGH

MasterGH

О новинках в мире. Виртуальная реальность и другое..

Unity + ARKit 2.0 + Apple Device + iOS > 12.x  позволят сканировать через визуальную одометрию реальный мир и расставлять в нем виртуальные объекты и загружать их в точные места, куда раньше поставили. Особенность в том, что чем больше информации собрали физической камерой из разных положений и углов, тем больше шансов, что увидим объекты именно там куда их поставили. Это еще классно тем, что карту мира можно расширять, сохранять, загружать, передавать в реальном времени на разные устройства

MasterGH

MasterGH

Новости по будущему плагину

Проведено огромное количество опытов над структурами. Много переделок. Очень кратко напишу, что поменялось.   1. Название структуры состоит из адреса, количества адресов в ней и  времени в миллисекундах на один байт в структуре. Подчеркнуто красным   2. Смещения отбираются только те, на которых за X времени не было обнаружено ни одной инструкции на запись. Чем больше та самая чувствительность,  тем точнее результат 3. В именах структур теперь ценная информ

MasterGH

MasterGH

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

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

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