
decomp.wtf 포크: Windows PE 매칭, MinGW/clang-cl 툴체인, 그리고 선택적 REA MCP 브리지
소유한 대상에 AI 에이전트를 지정하고 분해하세요. decomp.anything은 게임, Windows 및 Linux 프로그램, 앱, 웹 페이지, 펌웨어, 일반 파일을 위한 매칭 디컴파일 및 리버스 엔지니어링 워크벤치입니다. 에이전트는 실제 바이너리에 대고 C 또는 C++를 작성하고, 원본 컴파일러가 이를 빌드하며, 결과는 바이트 단위로 검증됩니다. 또는 일치시킬 원본 빌드가 없을 때는 동일한 프로젝트가 REA로 바이너리를 열고 에이전트가 그 함수들을 대신 분석합니다.
설치 · 매칭 작동 방식 · 무엇이든 검사 · 공개 디컴프 · 에이전트 · 함께 디컴파일 · 기반 기술
decomp.anything은 Sam Wolfs의 **decomp.wtf**를 기반으로 한 독립 포크입니다. 업스트림 프로젝트는 중단되었지만 코드가 MIT 라이선스이므로 이 포크가 이를 이어받아 확장합니다. 이 저장소가 활성화된 후속 프로젝트입니다.
decomp.wtf가 레트로 게임 매칭에 집중했던 반면, decomp.anything은 동일한 엔진을 임의의 소프트웨어로 확장합니다. Windows 및 Linux 바이너리는 바이트 단위로 매칭할 수 있고, 그 외의 것은 REA 프로젝트로 열립니다. 동일한 프로젝트 대시보드, 에이전트, 노트를 사용하며 그 프로시저들이 작업 항목이 됩니다. 따로 배워야 할 별도의 REA 모드는 없습니다.
decomp.wtf에서 유지되는 것:
이 포크가 추가하는 것:
inspect_binary가 REA에 의사코드, 시그니처, 호출자를 요청할 수 있으며, REA 자체는 Compilers & tools에서 설치할 수 있습니다.decomp connect를 위한 opencode 2 지원.매칭은 여전히 바이트 단위로 정확히 일치하는 경로입니다. 모든 바이너리는 일반 프로젝트로 열립니다. 매칭 가능한 대상은 컴파일 후 비교하는 루프를 거치고, 그 외의 모든 것은 대신 REA 작업 항목, 동일한 에이전트, 동일한 대시보드와 발견 사항을 갖게 됩니다.
| 목표 | decomp.anything이 제공하는 것 |
|---|---|
| 게임 디컴파일 | ROM, 디스크 이미지 또는 프로그램 파일을 넣으세요. 에이전트가 함수를 맡아 C 또는 C++로 작성하고, 원본 컴파일러가 각 매칭을 바이트 단위로 증명합니다. |
| PC 프로그램 매칭 | Windows .exe/.dll 또는 Linux ELF 프로그램이나 .so를 가져와 C 또는 C++로 작성하고, 컴파일러의 바이트를 원본과 비교하세요. |
| 공개 디컴프 이어가기 | 앱이 알고 있는 커뮤니티 프로젝트 중 하나를 포크하고, 에이전트가 프로젝트의 실제 소스 트리에서 작업을 이어가도록 하세요. |
| 그 밖의 모든 것 검사 | 게임처럼 넣으세요. 이 앱이 분할하거나 매칭할 수 없다면, REA가 일반 프로젝트로 엽니다. 프로시저가 작업 항목이 되고, 에이전트가 병렬로 읽으며, 발견 사항이 동일한 대시보드에 표시됩니다. 자체 프로시저가 없는 영역에는 작업을 추가하세요. |
| 아카이브 내부 살펴보기 | ZIP, TAR 또는 유사한 아카이브를 넣으세요. 모든 일반 파일이 작업 항목이 되며, Contents에서 미리 볼 수 있고, 바이너리나 중첩 아카이브는 연결된 하위 프로젝트로 열 수 있습니다. |
| 함께 작업하기 | 방을 호스팅하고 사람들을 초대하여 원본 파일을 공유하지 않고도 매칭, 이름, 구조체, 노트를 공유하세요. |
| 자체 에이전트 사용 | Claude Code, Codex, Antigravity CLI, opencode, OpenAI 호환 엔드포인트 또는 모든 MCP 클라이언트. |
모든 것이 사용자의 컴퓨터에서 실행됩니다. 계정도, 텔레메트리도, 업로드되는 것도 없습니다.
decomp.anything은 Linux x86-64에서 실행되며, WSL 2를 통해 Windows에서도 실행됩니다. macOS는 지원되지 않습니다. Python 3.12 이상과 uv가 필요합니다. npm 기반 에이전트와 REA에는 Node.js가 필요하고, Ghidra에는 Java 21 이상이 필요합니다.
이 저장소에서:
git clone https://github.com/giveen/decomp.anything.git
cd decomp.anything
uv sync
uv run decomp
앱을 시작하고 브라우저에서 엽니다. 프로젝트는 기본적으로 ~/Decomp에 저장되며, 다른 곳에 두려면 DECOMP_HOME을 설정하세요.
체크아웃에서 데스크톱 설치. 저장소 자체의 설치 프로그램은 업스트림 릴리스가 아니라 이 체크아웃을 설치합니다:
bash install/install.sh
Windows에서는 PowerShell에서:
powershell -ExecutionPolicy Bypass -File install\install.ps1
Windows 설치 프로그램은 필요 시 WSL 2를 활성화하고, decomp-wtf 배포판을 생성하며, 이 체크아웃을 그 안에 설치하고, decomp 명령과 앱 메뉴 및 데스크톱 바로가기를 추가합니다. 체크아웃 설치는 이 저장소를 업데이트 소스로 기록하므로, 업데이트는 업스트림이 아닌 decomp.anything을 따릅니다.
웹사이트 없이 GitHub에서:
curl -fsSL https://raw.githubusercontent.com/giveen/decomp.anything/main/install/install.sh | bash
Windows에서는 PowerShell에서:
irm https://raw.githubusercontent.com/giveen/decomp.anything/main/install/install.ps1 | iex
기본적으로 main을 따릅니다. 브랜치를 설치하려면 DECOMP_SOURCE 또는 DECOMP_BRANCH를 추가하거나, 체크아웃
설치 프로그램을 실행하여 로컬 트리를 설치하세요.
Compilers & tools를 열어 대상에 필요한 것을 설치하세요. 시대별 컴파일러는 고정되어 있으며 체크섬으로 검증됩니다. 독점 컴파일러(IDO, CodeWarrior)는 라이선스에 동의한 후에만 설치됩니다. REA와 Ghidra는 선택 사항입니다.
[!TIP] ROM이 없으신가요? 이 앱에는 공개 도메인 코드와 zlib로 빌드된 실제 N64 ROM인 Demo Quest 64가 포함되어 있습니다. 홈 화면에서 열어 에이전트가 작동하는 모습을 확인하세요.
이미 Claude Code, Codex, Antigravity CLI 또는 opencode를 사용 중이신가요? decomp.anything의 도구를 한 번만 제공하세요:
decomp connect
그런 다음 자신의 터미널에서 다음과 같이 요청하세요:
~/roms/game.z64에 있는 내 게임을 디컴파일해 줘
또는 게임이 아닌 대상이라면:
~/bin/app.apk에 있는 바이너리로 작업해 줘: 클래스와 내보낸 컴포넌트를 매핑해 줘
에이전트는 대상을 임포트하거나 열고, 라이브 뷰를 표시하며, 여러분이 사용하는 것과 동일한 도구를 사용합니다. 그 뒤에는 필요할 때 앱을 시작하는 MCP 서버인
decomp mcp가 있습니다. 직접 등록할 수도 있습니다:
claude mcp add decomp -- decomp mcp
| 에이전트 | 대신 패키지로 설치하기 |
|---|---|
| Claude Code | /plugin marketplace add giveen/decomp.anything, 그다음 /plugin install decomp-anything@decomp-anything ("decompile" 스킬 추가) |
| Codex, Antigravity CLI, opencode | decomp connect codex, decomp connect antigravity, decomp connect opencode |
.pdata, 심볼, 익스포트, 호출로부터 Windows 프로그램에 대해 동일한 작업을 수행합니다. ELF 리더는 심볼 테이블이나 .eh_frame을 사용합니다. 다른 도구들은 GameCube/Wii, DS, GBA, PlayStation 대상을 다룹니다.점수 0은 바이트가 일치함을 의미합니다. 근사적인 성공은 없습니다.
앱과 함께 제공되는 데모 ROM에서 실행되는 원본 decomp.wtf 시뮬레이션.
대상에서 가져온 어셈블리: