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

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

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

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

MasterGH

MasterGH

Lua. Сравнение времени выполнения двух функций

Пример1. Узнать во сколько раз string.match() медленее string.find()   Пример2. Создание лишней локальной переменной   Ответы: 1.38,  1.04.   Если значение меньше единицы, то оптимизированный код хуже. Если значение больше единицы, то стоит использовать более оптимизированный вариант.   Для простого поиска лучше использовать string.find чем string.match.     Еще несколько примеров   Для чего может пригодиться. Может пр

MasterGH

MasterGH

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

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

MasterGH

MasterGH

Tool Lua Regular expressions 2

CT таблица для составления регулярных выражений 4-х функций   string.match (s, pattern [, init]) string.gmatch (s, pattern) string.gsub (s, pattern, repl [, n]) string.find (s, pattern [, init [, plain]]) Функция string.gsub может принимать в аргумент функции "repl" таблицу (тогда будет замена по ключам значений из таблицы ) или в аргумент "repl" может попадать некоторая другая функция с аргументом найденного слова (тогда будет вызов этой другой функции при каждом захвате символа или

MasterGH

MasterGH

Куда смотрят глаза

Был вопрос на форуме о том, как узнать, а куда смотрит игрок и как нарисовать линию в экранных координатах. Я не нарисую отрезки в окне игры в экранных координатах, но могу отобразить точки одного отрезка для одного глаза 2д-панельками в экранных координатах (хотя визуально, у Unity экранные координаты связаны с 3д координатами по масштабу пикселя на метр на сцене). Для наглядности все же в окнах сцены будут отрезки в 3д-координатах.         Чтобы посмотреть

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 6.7 Lua. Функция autoAssemble

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

MasterGH

MasterGH

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

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

MasterGH

MasterGH

[ Cheat Engine 6.7 + Pointermap] Поиск указателей. Видео

Я задался вопросом, что такое pointermap. Вообще о нем не слышал и речь пойдет о нем. Я узнал о нём и прикинул, что возможно круто, а возможно и не круто иметь готовую цепочку указателей перед тем, как что-то делать в отладке. Цепочки можно раскрыть в окне структур и прикинуть, что там в них и "около" каких адресов будет происходить отладка. Во время отладки можно смотреть на окна структур. Может быть, а может быть и нет что-то интересное связать в отладке и с данными об указателях...  

MasterGH

MasterGH

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

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

MasterGH

MasterGH

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

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

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 6.7 и Lua. Часть 1

Где писать Lua код?   Lua Engine окно, которое вызывается из главного окна CE.   Lua Console окно, которое вызывается из окна отладки CE.   Окно Autoassembler скрипта с вставки {$lua}, {$asm}   Lua Engine окно и Autoassembler-ные скрипты могут сохраняться в файлах Cheat Engine *.CT. *.CETRAINER, *.EXE   Lua Console для пошаговой отладки Lua кода и просмотров результатов ошибок и функции print()   Моя первая программа   Сначала узнаем версию для CE 6.7 и это

MasterGH

MasterGH

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

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

MasterGH

MasterGH

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

Наконец-то дошли руки до третий части.   Речь пойдет о создании структур программно. Пример, что будет в конце записи     Сразу к делу. Нужен поинтер и процесс. Запустим туториал из Cheat Engine из меню Health->Cheat Engine Tutorial. Прохождение туториала подробно описано здесь     Подключаемся к процессу идем на 8-мой шаг. В руководстве есть поинтер [[[["Tutorial-i386.exe"+XXXXXX]+C]+14]+0]+18   Вместо XXXXXX может быть любое

MasterGH

MasterGH

Некоторые приемы создания читов

1. Персонаж падает с большой высоты и разбивается   Ищем адрес скорости прыжка прыгая под speedhack. Находим эту скорость. Ставим бряк на доступ. Прыгаем. Инструкции на чтение добавляем в список адресов и там начинаем нопить - Либо по одной - Либо рискнем по половине от половины - Либо рискнем и все сразу занопим   Если повезет, а должно повезти, то инструкция не прочитает то значение скорости, которое уложило бы персонажа на землю и можно будет прыгать на

MasterGH

MasterGH

Анализ Dissect Data Structure

Конечно не секрет, что типы данных не правильно определяются. Вот пример для 50-ти адресов   Слева как определил данные CE. Справа как определил их я по логу ниже Понравились данные с размером в 1 байт, привлекают в нимание. Как только я переключил на ноль или 1, то персонаж перестал двигаться и не реагировал на движение.   Лог инструкций   Пытаюсь по логам определить алгоритм для Lua, чтобы скрипт сам ставил тип и смещение. Конечно есть сюрпризы, когда

MasterGH

MasterGH

Анализ Dissect Data Structure 2

Охота на структуры и удивительное путешествие в мир структур в L4D2   1. Игру L4D2 в оконный режим 2. Установка плагина (позже) 3. Установка VEH отладчика, иначе вылеты 4. Первая миссия. Ищем адрес патронов. Бряк на адрес. Нашли инструкцию Красным показано, что я не всю структуру проанализирую позже. Долго было ждать. Структура больше 5К байт...   5. Делаем сигнатуру любой инструкции при работе  с патронами на всякий случай, если игра вылетит. se

MasterGH

MasterGH

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

Я обратил внимание на следующие поведения записи и чтения 1. Срабатывают только инструкции чтения до изменения параметра, адрес рабочий С адресом работают инструкции на чтение, но если в друг в этом адресе что-то поменять (например в 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

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

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

MasterGH

MasterGH

Не работает плагин сборки Firebase для AirTest IDE

Почти месяц ковыряюсь со сборкой апк, которая не запускается на инструментальном тестировании в Firebase   Рис.1 Сборка апк на инструментальное тестирование TestLab  от Firebase. Окно AirTest IDE   Две апк-шки создается. 1. В Unity, с иvпортом Poco SDK  2. В Плагине как на рисунке   Затем обе апк-шки отправляются на инструметальное тестирование в Firebase  Запускаю тест. Шесть секунд видео со стандартной заставкой и конец теста.  

MasterGH

MasterGH

Unity набирает обороты

В версии Unity 2018 довольно много интересного.   1. Это Unity Hub. Та штука, которая позволяет быть в курсе новых версий Unity.  2. PackageManager. Покажет пакаджи установленный в проекте. 3. Pro Builder. Довольно интересный инструмент, который позволяет моделить оркужение в Unity и творить простые локации, здания и создавать примитивы с наложением текстур... там очень много чего, я не не смотрел особо. Это альтернатива террейну. Фишка в том, что мы не являясь художниками (2

MasterGH

MasterGH

Взлом крафта в StarsOne

В оригинале, если нет всех компонентов рецепта, то нельзя скрафтить вещь. Цель: скрафтить без компонетов по нажатию кнопки   Игра на Unity и можно пробовать использовать в dnSpy модифицировать файл Assembly-CSharp.dll Открываем файлик и смотрим на классы связанные с крафтом   Так находим кнопку, которая создаст указанное количество вещей крафта в CreateItem     Задача скрафтить по имеющемуся рецепту любую вещь. Для этого я добавляю проверку количес

MasterGH

MasterGH

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

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

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