NabilRFG12/Reverse-Engineer-anything
Reverse engineer anything with agents, from app behavior down to native binaries.
REA(Reverse Engineer Anything) – 빠른 개요
정의 – REA는 Node 기반 플랫폼으로, 대규모 언어 모델 에이전트(Claude, Gemini, Grok 등)가 소스 코드가 없는 소프트웨어를 자동으로 조사할 수 있게 합니다. 로컬 MCP(Modular Capability Provider) 서버를 통해 에이전트와 통신하고, 분석 도구 모음(Hopper, Ghidra, IDA, pwntools, JADX, Binwalk, 브라우저 등)을 실행하며, LLM이 설명, 수정 또는 재구현할 수 있는 증거(의사 코드, 어셈블리, 모듈 그래프, 네트워크 캡처 등)를 반환합니다.
중요성 – 전통적인 리버스 엔지니어링은 수동적이며, 깊은 전문 지식과 여러 무거운 도구가 필요합니다. REA는 이러한 도구를 간단한 CLI(rea …)와 MCP 계약 뒤에 추상화하여 AI 어시스턴트가 무거운 작업을 수행할 수 있게 합니다: "Notion에서 클립보드는 어떻게 작동하나요?" 같은 질문을 하면 단계별 추적, 코드 스니펫, 즉시 사용 가능한 구현을 얻을 수 있습니다.
주요 기능
| 대상 유형 | REA가 추출하는 것 | 필요한 도구 |
|---|---|---|
| 네이티브 바이너리(PE/ELF/Mach-O) | 의사 코드, 어셈블리, 문자열, 심볼, 호출 그래프 | Hopper, Ghidra 또는 IDA(설치 또는 자동 설치) |
| JavaScript/Electron 앱 | 모듈 목록, 가져오기, 소스 맵, IPC 브리지 | Node.js/npm만 |
| .NET 어셈블리 | 메타데이터, CIL, 네이티브 종속성 | 정적 검사 |
| Android APK | 매니페스트, 역컴파일된 클래스 | 헤드리스 JADX + JDK |
| 펌웨어 이미지 | 영역, 추출된 파일 | Binwalk/Unblob |
| 웹사이트 및 네트워크 캡처 | DOM 구조, 스크립트, HAR 데이터, 스크린샷 | Chrome 계열 브라우저, mitmdump |
| EVM 바이트코드, 기록된 Linux 충돌 등 | 디스패치 테이블, 레지스터, 신호 | pwntools, 선택적 GDB |
사용 방법
- 설치 –
npx rea-agents setup을 실행하여 MCP 서버를 등록하고 선택한 LLM 에이전트용 "스킬"을 설치합니다. - 에이전트에게 질문 – 자연어 요청을 입력하면 에이전트가 REA를 호출하여 적절한 분석 도구를 실행하고 구조화된 증거를 반환합니다.
- CLI 대체 – 동일한 명령을 직접 실행할 수 있습니다 (예:
rea analyze-javascript-application /path/to/app --json). - 업데이트 –
rea update를 실행하거나setup명령을 반복하여 최신 버그 수정을 받습니다.
쇼케이스 예제 – README에는 세 가지 상세 사례 연구 링크가 있습니다:
- 클래식 DX-Ball 게임에서 사운드 팬 계산 재구성 (x86 → C).
- Electron 기반 Notion 앱에서 클립보드 브리지 추적.
- PC-98 게임에서 DOS 시대 총알 링 계산 복구. 각각 재구성된 코드가 포함된 공개 GitHub 저장소가 있습니다.
커뮤니티 및 지원 – Discord 서버, 광범위한 문서(웹사이트, 가이드, MCP 계약 카탈로그), 그리고 REA에 연결할 수 있는 성장하는 에이전트 생태계가 있습니다.
법적 고지 – REA는 합법적인 리버스 엔지니어링 연구를 위한 것이며, 사용자는 대상 소프트웨어를 분석할 권한이 있는지 확인해야 합니다.
TL;DR
REA는 Node.js 기반의 AI 증강 리버스 엔지니어링 프레임워크로, 로컬 MCP 서버를 통해 LLM 에이전트를 기존 바이너리 분석 도구에 연결하고, 모델이 설명이나 새 코드로 변환할 수 있는 증거를 제공합니다. 다양한 아티팩트 유형(네이티브 바이너리, JavaScript/Electron, .NET, Android, 펌웨어, 웹 캡처 등)을 지원하며 Claude, Gemini, Grok과 같은 인기 있는 에이전트와 작동합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트