실시간 모드 제작: IA가 게임을 디컴파일하고 즉시 패치하는 방법
요약
LLM과 리버스 엔지니어링 도구를 결합하여 게임 바이너리를 디컴파일하고, 그 논리를 이해한 후 자동 패치를 생성하는 실습 파이프라인을 제시합니다. 이 가이드는 에이전트 아키텍처 설계부터 실제 코드 예시, 모델 비교까지 포함하며, 사용자가 직접 워크플로우를 구축할 수 있도록 돕습니다.
핵심 포인트
- LLM과 리버스 엔지니어링 도구 조합으로 모드 제작 가능
- Ghidra나 radare2로 바이너리 디스어셈블리 수행
- OpenAI, Anthropic 등 LLM API 활용하여 패치 코드 생성
- x64dbg, DLLInject 등으로 컴파일된 모드를 주입 및 테스트
게임 디컴파일 및 실시간 모드 생성 AI
LLM과 리버스 엔지니어링 도구를 활용한 실습 파이프라인 구축 방법
서론
좋아하는 게임에 소스 코드를 단 한 줄도 건드리지 않고 모드를 출시할 수 있다고 상상해 본 적 있나요? 지난 몇 달 동안 **대규모 언어 모델(LLMs)**과 리버스 엔지니어링 도구의 조합은 바이너리를 디컴파일하고, 그 논리를 이해하며, 몇 분 만에 자동 패치를 생성하는 것을 가능하게 했습니다. Hacker News에서 150,000건 이상의 조회수를 기록한 화제의 기사 이후, 커뮤니티에서는 이론만 설명하는 것이 아니라 복사-붙여넣기 할 수 있는 실습 가이드를 요청하고 있습니다. 이 게시물에서는 바로 그것을 찾을 수 있습니다: 에이전트 아키텍처, 환경 설정, 명령어 예시 및 코드 조각, 모델 비교, 그리고 오늘 당장 자신만의 워크플로우를 구축할 수 있도록 하는 보안 및 법적 체크리스트까지 모두 담겨 있습니다.
1. 지능형 에이전트 아키텍처
┌─────────────────────┐
│ 입력: 바이너리 │
│ (.exe, .dll, .so) │
...
- 디스어셈블리(Disassembly): 제어 흐름과 내보내진 심볼을 얻기 위해
radare2(빠르고 CLI 방식) 또는Ghidra(그래픽 인터페이스)를 사용합니다. - 프롬프팅(Prompting): 구체적인 지침(
실행 파일 분석 및 JSON으로 출력 저장
r2 -A -c "aaa; aflj" -o symbols.json ./MyGame.exe
...
funcs.json 파일에는 다음과 같은 내용이 포함되어 있습니다:
[
{"offset":4096,"name":"UpdatePlayer","size":112},
{"offset":4224,"name":"SpawnEnemy","size":96}
...
]
4. LLM 프롬프팅
import os, json, openai, anthropic, google.generativeai as genai
from tqdm import tqdm
...
일반적인 결과 (UpdatePlayer):
// Offset 0x1000, 크기 112 바이트
struct Vec2 { float x, y; };
struct Player {
...
5. 자동 컴파일 및 테스트
# 5.1 후크 DLL 컴파일
g++ -shared -fPIC -O2 -std=c++20 -I./include stubs.cpp -o mod_hook.dll
...
모든 테스트가 성공하면, 해당 모드는 x64dbg나 DLLInject와 같은 도구를 사용하여 주입할 준비가 됩니다.
6. 모델 간 빠른 비교 (2024년 4월)
| 모델 | 가격 (USD/1백만 토큰) | 평균 지연 시간 (1 KB) | 시그니처 정확도 | 실용적 코멘트 |
|---|---|---|---|---|
| GPT‑4o (OpenAI) | $0.03 (프롬프트) / $0.06 (완성) | 1.8초 | 88% | 최고의 속도, 좋은 도구 지원. |
| ... | ||||
| 권장 사항: 소규모 프로젝트에는 Claude‑3.5 API(정확도)를 사용하고 파이프라인의 경우 |
언급된 도구: Groq Cloud
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기