
AI 에이전트가 실행 중인 게임을 내부에서 탐험하도록 하세요. 실시간, 안전, 즉시.
AI 기반 게임 리버싱을 위한 라이브, 인프로세스 프로브.
정적 도구는 코드가 무엇을 하는지 알려줍니다. ReAgentLive는 실행 중인 게임에서 지금 이 순간 무엇이 참인지 알려주고, 아무것도 망가뜨리지 않고 그것을 테스트할 수 있게 해줍니다.
라이브. 게임 내부에서 실행되며, 게임 자체의 틱에서 라이브 메모리로부터 답합니다. 안전. 객체가 언제 소멸했는지 아는 참조, 먼저 검사하는 쓰기, 스스로 되돌리는 변경. 즉각적. 데이터베이스도, 몇 시간의 분석도 필요 없습니다: 코드에 대한 질문은 라이브 바이트로부터 밀리초 단위로 답해집니다.
언리얼 엔진 최고 수준 지원. SDK Dumper-7이 여러분의 게임을 위해 생성한 것에 맞춰 언리얼 팩을 빌드하고, 이름으로 작업하세요: 객체 찾기, 리플렉션된 필드 읽기 및 따라가기, 함수 호출, 클래스의 모든 인스턴스 나열, 모두 게임 스레드에서. 그 외의 모든 것(메모리, 코드, 네이티브 구조체)은 어떤 게임에서든 동작합니다.
AI 에이전트에게 일반적인 도구로 실행 중인 게임을 가리키면, 같은 벽에 부딪힙니다:
ReAgentLive는 이러한 벽들을 중심으로 만들어졌습니다.
어떤 x64 프로세스에든 DLL 하나를 로드하세요, 여기서는 실행 중인 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
문자열, 코드에서 그 문자열을 사용하는 모든 위치, 그리고 그 주변 코드: 세 개의
명령, 1초도 걸리지 않고, 프로세스가 실행 중인 바이트에서 곧바로. 모든 주소는
module + rva 형태로 반환되어 디스어셈블러에 바로 붙여넣을 수 있습니다.
이 중 어느 하나도 새로운 것은 아닙니다. 조합이 새롭습니다.
| ReAgentLive | 일반적인 방식 |
|---|---|
| 프로세스 내부에서, 호스트가 신뢰하는 스레드 위에서. 디버거를 붙이지 않고, 자체 훅도 없음 | 디버거, 후킹 프레임워크, 또는 외부에서 읽기 |
| 틱 단위 정확성: 엔진의 스레드에서, 하나의 응답에 담긴 모든 것이 같은 시점에서 나옴 | 외부에서의 찢어진 읽기, 또는 폴링 |
| 구조적으로 안전: 교체된 객체를 거부하는 참조, 예상한 바이트 위에만 쓰기, 스스로 만료되는 핀과 트라이얼 | 에이전트에 그대로 넘겨진 원시 쓰기 |
| AI의 비용에 맞춰 설계: 하나의 콘솔, 각각 전체 조회를 수행하는 적은 수의 명령, 필터링된 출력, 실행 간 유지되는 상태 | 컨텍스트를 먼저 채워버리는 거대한 도구 표면 |
| 즉시성: 라이브 바이트에서 단일 주소 코드 질문, 데이터베이스 불필요 | 첫 답변까지 몇 시간의 분석 |
| 리플렉션과 원시 메모리를 한 도구에: Unreal 객체와 네이티브 구조체를 나란히 | 둘 중 하나만 |
ReAgentLive는 조용합니다. 요청이 있으면 답하고, 그 외에는 게임을 방해하지 않습니다:
OpenProcess도, ReadProcessMemory도, 디버거도 없습니다. 요청은
하나의 명명된 공유 메모리 섹션을 통해 전달됩니다.낮은 풋프린트는 게임을 방해하지 않는다는 뜻입니다. 숨겨진다는 뜻은 아닙니다: 그것이 아닌 것을 참고하세요.
| 원하는 것 | ReAgentLive가 제공하는 것 |
|---|---|
| 게임이 지금 무엇을 하는지 보기 | 객체 찾기, 덤프, 필드 경로 추적, 컨테이너 읽기, 매 틱마다 임의 값 샘플링 |
| 재빌드 없이 아이디어 테스트 | 가드된 쓰기, 값을 유지하는 핀, 스스로 되돌리는 트라이얼 쓰기, 엔진 호출 |
| 기다리지 않고 코드 이해 | 패스트 레인: 명령어, 참조, 오프셋을 사용하는 함수, 시그니처 검사 |
| 찾은 것에 이름 붙이기 | 리플렉션되지 않은 멤버를 한 번 라벨링; 라벨을 정적 도구로 내보내기 |
| 위의 모든 것을 AI가 하도록 하기 | JSON 입출력이 가능한 하나의 콘솔, Python 클라이언트, 그리고 방법을 가르치는 스킬 |
own-thread 예제는 모든 x64 프로세스에서 동작하는 DLL입니다: 모드도, 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 예제.
own-thread DLL은 빠른 진입 방법입니다. ReAgentLive는 호스트가 이미 보유한 모드나 훅에서 엔진의 게임 스레드에서 틱할 때 최고의 성능을 발휘합니다:
| 호스트가 틱하는 위치 | 얻는 것 |
|---|---|
| 게임 스레드 | 전부: 객체 및 필드 명령, 엔진 호출, 그리고 게임의 한 순간인 틱 (batch와 get은 same_tick으로 한 틱에 맞는지 알려줌) |
| 다른 스레드 (자체 스레드 또는 프레임 프레젠트) | 메모리, 패스트 레인, 네이티브 객체; 엔진 명령은 거부되며, 한 틱 내의 읽기가 일치하지 않을 수 있음 |
status는 어느 쪽인지(host_thread) 알려줍니다. 게임 스레드에 진입하는 방법은
호스트의 몫이며, 각 선택이 무엇을 제공하는지는
호스팅에 있습니다.
census(무엇이 존재하는지, 무엇이 방금 스폰되었는지),
each(한 틱에 모든 인스턴스에 걸친 하나의 필드)를 추가합니다.
Unreal 팩reagentlive 스킬은 조사 방법을 가르칩니다:
규칙, 워크플로, 함정. 스킬코어는 엔진을 알지 못합니다. 엔진별 모든 것은 팩에 있습니다: 현재 하나, Unreal용입니다. 메모리, 패스트 레인, 네이티브 객체는 이미 어떤 엔진에서든 작동하며, 팩은 그 위에 객체, 필드, 호출을 추가합니다.
자연스러운 다음 팩은 Unity(Mono 및 IL2CPP)와 Source 2입니다. 이는 후보일 뿐 약속은 아닙니다: 실제 프로젝트가 필요로 할 때 만들어집니다 (백로그).
ReAgentLive는 대체품이 아닌 친근한 이웃입니다. 정적 측면에는 IDA 또는
Ghidra MCP를, 스캐닝과 후킹에는 Cheat Engine MCP 또는 Frida를 유지하세요;
ReAgentLive는 실행 중인 프로세스만이 답할 수 있는 것을 위한 추가 도구이며,
모든 주소를 module + rva로 넘겨 에이전트가 이들 사이에서 주소를 옮길 수 있게 합니다.
| 이웃 | 하는 일 | ReAgentLive가 제공하는 것 | ReAgentLive가 받는 것 |
|---|---|---|---|
| 정적 도구 (주요 페어링) | 전체 함수, 타입, 디컴파일 | 라이브 값, module + rva, 내보낸 레이블, 시그니처 검사 | 이름, 함수의 의미 |
| 엔진 덤퍼 | 전체 SDK와 오프셋 | 오프셋이 올바른지에 대한 라이브 검사 | 엔진이 리플렉션하지 않는 것에 대한 이름 |
| 계측 도구 | 호출 추적, 후킹 | 정확한 주소, 전후의 라이브 상태 | 누가 무엇을 호출하는지 |
| 메모리 스캐너 | 범위 축소 스캔, 포인터 스캔 | 발견을 확인할 일관된 스냅샷 | 후보 주소 |
버전 0.1.0 (변경 로그): 사용 가능하며, 1.0 이전까지 API가 여전히 변경될 수 있습니다. Windows x64, C++23. 제공되는 기능: 인프로세스 에이전트, 틱 정확도 읽기, 가드된 쓰기, 핀과 트라이얼, Unreal 팩, 고속 레인, 네이티브 객체, 콘솔, Python 클라이언트, 자체 스레드 예제. 계획된 항목들은 실제 필요가 생길 때까지 대기합니다(백로그).
문서: docs/INDEX.md에서 시작하세요: 작업별 페이지, 모든 명령과 해당 페이지, 그리고 용어집.
MIT (LICENSE). 의존성은 모두 MIT: 콘솔용 nlohmann/json과 Zydis
(Zycore 포함)는 구성 시 가져오며, 테스트용 doctest는
third_party/에 있습니다.