
Позвольте ИИ-агентам исследовать запущенную игру изнутри. В реальном времени, безопасно, мгновенно.
Живой внутрипроцессный зонд для реверс-инжиниринга игр с помощью ИИ.
Статические инструменты говорят вам, что делает код. ReAgentLive говорит вам, что истинно в запущенной игре прямо сейчас, и позволяет проверить это, ничего не сломав.
Живой. Работает внутри игры и отвечает из живой памяти, на собственном тике игры. Безопасный. Ссылки, которые знают, когда объект умер; записи, которые сначала проверяют; изменения, которые сами себя откатывают. Мгновенный. Никакой базы данных, никаких часов анализа: вопросы о коде получают ответ из живых байтов за миллисекунды.
Поддержка Unreal Engine первого класса. Соберите пакет Unreal против SDK, который Dumper-7 генерирует для вашей игры, и работайте по именам: находите объекты, читайте и переходите по отражённым полям, вызывайте функции, перечисляйте все экземпляры класса — всё в игровом потоке. Всё остальное (память, код, нативные структуры) работает в любой игре.
Наведите ИИ-агента на запущенную игру с обычными инструментами — и он упрётся в те же стены:
ReAgentLive построен вокруг этих стен.
Загрузите одну DLL в любой x64-процесс, здесь — в запущенный интерпретатор Python, и спрашивайте. Ни игры, ни SDK, ни базы данных. Вывод сокращён из JSON, который печатает консоль:
> reagentlive -c "search text PYTHONPATH --module python313.dll --paged --timing"
hits: python313.dll+0x2c1ca8 4.9 ms
> reagentlive -c "xrefs python313.dll+0x2c1ca8 --timing"
lea python313.dll+0x12ff02 in function +0x12fd64..+0x1301ce
scanned all of python313.dll 29.6 ms
> reagentlive -c "disasm python313.dll+0x12ff02 3"
+0x12ff02 lea rdx, [0x7FF827981CA8] string: "PYTHONPATH"
+0x12ff09 mov rcx, rbx
+0x12ff0c call python313.dll+0x1301d0
Строка, каждое место, где код её использует, и код вокруг неё: три
команды, заметно меньше секунды, прямо из байтов, которые выполняет процесс.
Каждый адрес возвращается как module + rva, готовый для вставки в
ваш дизассемблер.
Ни один из этих элементов по отдельности не нов. Ново их сочетание.
| ReAgentLive | Обычный способ |
|---|---|
| Внутри процесса, на потоке, которому доверяет хост. Без подключённого отладчика, без собственных хуков | Отладчик, фреймворк для хуков или чтение извне |
| Точность до тика: на потоке движка всё в одном ответе относится к одному моменту | Рваные чтения извне или опрос |
| Безопасность по построению: ссылки, которые отказываются от заменённого объекта, запись только поверх ожидаемых байтов, закрепления и пробные записи, истекающие сами | Сырые записи, переданные агенту |
| Рассчитано на издержки ИИ: одна консоль, немного команд, каждая из которых выполняет целый поиск, фильтрованный вывод, состояние, сохраняемое между запусками | Большие наборы инструментов, которые сначала заполняют контекст |
| Мгновенно: вопросы о коде по одному адресу из живых байтов, без базы данных | Часы анализа до первого ответа |
| Рефлексия и сырая память в одном инструменте: объекты Unreal и нативные структуры рядом | Что-то одно из двух |
ReAgentLive работает тихо. Он отвечает, когда его спрашивают, а в остальное время не мешает игре:
OpenProcess, никаких ReadProcessMemory, никакого отладчика. Запросы передаются
через одну именованную секцию разделяемой памяти.Низкий след означает, что он не мешает игре. Это не значит, что он скрыт: см. чем он не является.
| Если вы хотите | ReAgentLive даёт вам |
|---|---|
| Увидеть, что игра делает прямо сейчас | находить объекты, выгружать их, проходить по путям полей, читать контейнеры, сэмплировать любое значение каждый тик |
| Проверить идею без пересборки | защищённые записи, закрепления, удерживающие значение, пробные записи, которые сами откатываются, вызовы движка |
| Понять код без ожидания | быстрый путь: инструкции, ссылки, функции, использующие смещение, проверки сигнатур |
| Назвать то, что вы нашли | один раз пометить непрорефлексированные члены; экспортировать метки в ваш статический инструмент |
| Позволить ИИ сделать всё вышеперечисленное | одна консоль с JSON на входе и выходе, клиент на Python и навык, обучающий методу |
Пример с собственным потоком — это DLL, которая работает в любом процессе x64: без мода, без SDK, без знания игры.
# From a Visual Studio x64 developer shell, in the ReAgentLive folder:
cmake -S examples/own_thread -B build/own-thread -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build/own-thread
# Load reagentlive-own-thread.dll into the target with any DLL loader, then:
reagentlive -c "status; modules"
Вы получаете память, быстрый путь и нативные объекты (vtable, цепочки указателей,
region, строки). Без pid консоль находит процесс сама.
Подробнее: пример own-thread.
DLL с собственным потоком — быстрый способ войти. ReAgentLive показывает себя лучше всего, когда хост тикает его на игровом потоке движка, из мода или хука, который у вас уже есть:
| Где тикает хост | Что вы получаете |
|---|---|
| Игровой поток | всё: команды объектов и полей, вызовы движка и тик, который является одним моментом игры (batch и get сообщают через same_tick, укладываются ли они в один) |
| Другой поток (свой или поток отрисовки кадра) | память, быстрый путь и нативные объекты; команды движка отклоняются, а чтения в одном тике могут не совпадать |
status сообщает, какой из них у вас (host_thread). Как попасть на игровой
поток — дело хоста; что даёт каждый выбор, описано в
hosting.
census (что существует, что только что
появилось) и each (одно поле по всем экземплярам, за один тик).
Пак Unrealreagentlive обучает методу исследования:
правилам, рабочему процессу, подводным камням. Навык