Reverse engineer anything with agents, from app behavior down to native binaries.
이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.
마음에 드는 기능을 발견했다면, 바이너리 수준까지 어떻게 동작하는지 이해하세요.
웹사이트 · 가이드 · 쇼케이스
빠른 시작 · REA 동작 방식 · 분석 가능 대상 · 쇼케이스 · FAQ · 문서
npx rea-agents setup
앱에서 보고 내 제품에 넣고 싶은 기능이 있나요? 에이전트에게 REA로 조사하도록 요청하세요. 소스 코드 없이 앱을 검사하고, 그 기능이 어떻게 동작하는지 설명하며, 근거를 제시하고, 내 프로젝트용 버전을 만들어 줍니다.
REA는 에이전트를 네이티브 바이너리, JavaScript 및 Electron 앱,.NET 어셈블리, 웹사이트를 검사하는 도구에 연결합니다. 동일한 도구를 터미널에서도 사용할 수 있습니다. 분석은 로컬에서 실행되며, 결과에는 각 결론의 근거와 한계가 포함됩니다.
설정은 에이전트에 REA를 등록하고 그에 맞는 워크플로 지침을 설치합니다. 네이티브 분석은 기존 Hopper, Ghidra, IDA 설치를 사용할 수 있으며, 설정 과정에서 승인 시 Hopper를 선택적으로 설치할 수 있습니다. 정적 JavaScript 분석에는 네이티브 분석 엔진이 필요하지 않습니다.
설정 지침, 그림이 포함된 가이드, 실제 사례 연구는 REA 웹사이트를 방문하세요.
Node.js와 npm이 설치된 상태에서 다음을 실행하세요:
npx rea-agents setup
에이전트를 선택하고, 제안된 변경 사항을 검토한 뒤 승인하세요. 설정은 REA의 MCP 서버와 그에 맞는 워크플로 지침을 추가하며, 기존 구성은 백업합니다. 이후 에이전트를 재시작하세요.
설정은 Claude Code, Codex, Cursor, Gemini CLI, Grok Build 및 기타 에이전트를 지원합니다. 제공자 구성과 수동 MCP 등록은 설치 및 설정을 참고하세요.
Notes 앱에서 검색이 어떻게 동작하는지 이해하고, 근거를 보여주고, 내 프로젝트를 위해 비슷한 기능을 만들어 줘.
Notes를 대상 앱으로, 그리고 이해하고 싶은 기능으로 바꾸세요.
추출된 JavaScript/Electron 앱 디렉터리 또는 ASAR를 검사:
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json
결과에는 모듈, import, Electron 경계 및 그 근거가 포함됩니다. 경로를 대상으로 바꾸세요. 예를 들어 Windows에서는 "D:/apps/example"입니다.
정기적으로 사용할 rea 명령을 설치하려면:
npm install --global rea-agents
rea --help
네이티브 분석을 위해서는 먼저 제공자를 구성하세요. 네이티브 명령, 제공자 선택, 스냅샷 및 스크립팅은 CLI 및 Evidence 가이드를 참고하세요.
REA는 빠르게 변하며, 새 릴리스에는 잦은 버그 수정이 포함됩니다. 설치를 최신 상태로 유지하세요.
npm install --global 또는 bun add --global로 설치한 CLI의 경우:
rea update
Bun 전역 업데이트는 Bun 1.2.17 이상이 필요합니다. 더 오래된 Bun 릴리스에서는 rea update를 실행하기 전에 Bun을 수동으로 업그레이드하세요.
에이전트 등록과 스킬을 갱신하려면 업데이트가 출력한 설정 명령을 실행하세요.
npx를 사용한다면 다음으로 에이전트 설정을 업데이트하세요:
npx rea-agents@latest setup
설정 변경 사항을 검토하고 에이전트를 재시작하세요. 일회성 CLI 명령에는 npx rea-agents@latest 뒤에 명령을 붙여 사용하세요. Bun에서는 npx rea-agents@latest 대신 bunx rea-agents@latest를 사용하세요.
에이전트는 MCP를 통해 REA를 호출하여 대상을 검사하고 관련 코드를 추적합니다. REA는 근거와 함께 발견 사항을 반환합니다. 에이전트는 이를 사용해 후속 질문을 하거나, 동작을 설명하거나, 구현을 작성하고 테스트합니다. CLI 명령도 동일한 워크플로를 사용합니다.
전체 크기 그림을 여세요.
REA는 Node.js 22.x(>=22.19), 24.x(>=24.11) 또는 26+ 와 npm이 필요합니다. 추가 도구와 호스트 지원은 대상에 따라 다릅니다:
| 대상 | REA가 반환하는 것 | 요구 사항 및 가이드 | ||
|---|---|---|---|---|
| 네이티브 바이너리 | 의사코드, 어셈블리, 문자열, 심볼, 호출 및 참조 | Hopper, Ghidra 또는 IDA; 네이티브 분석 | ||
| 오프라인 ELF 레이아웃 | 섹션, 세그먼트, 원본 심볼/재배치 및 정적 완화 후보 | Linux x64에서 호출자가 제공하는 pwntools; 바이너리 진단 | ||
| Go 바이너리 | 내장 컴파일러 버전, 모듈, 대체 및 빌드 설정 | 내장 정적 ELF/PE/thin Mach-O 검사; Go 설치 불필요 | ||
| WASM 아티팩트 | 검증, 섹션, 정확한 import/export WAT 형식 및 디코딩된 WAT | 호출자가 제공하는 WABT 1.0.42; inspectwasmartifact |
||
| EVM 바이트코드 | 디스패치 셀렉터, 바이트 오프셋, 추론된 인자 및 가변성 | Linux x64의 로컬 raw/hex 캐리어; 오프라인 EVM 가이드 | ||
| 기록된 Linux 크래시 | 원시 노트, 기록된 모든 스레드의 레지스터/시그널 및 선택적 매핑 후보 | Linux x64에서 호출자가 제공하는 pwntools; 선택적 GDB/pwndbg; 기록된 크래시 | ||
| JavaScript / Electron | 모듈, import, 소스 맵, 라우트, IPC 및 네이티브 애드온 관계 | Node.js 및 npm; 애플리케이션 분석 | ||
| 웹사이트 | 페이지 구조, 스크립트, 네트워크 관찰 및 요청된 스크린샷 | Chrome 계열 브라우저; 브라우저 분석 | ||
| 저장된 네트워크 캡처 | 요청, 응답, 노출된 페이로드 및 소스 위치 | HAR; 네이티브 mitmproxy 캡처용 Linux의 mitmdump; 캡처 가이드 | ||
| .NET 어셈블리 | 메타데이터, CIL 명령, 선언된 네이티브 의존성 및 빌드 비교 | 없음(정적 전용); 관리 코드 가이드 | ||
| Android APK | 매니페스트 선언, 클래스, 디컴파일된 메서드 및 참조 | Linux/macOS/Windows x64의 헤드리스 JADX 및 전체 JDK; Android 가이드 | ||
| Android 기기 | 기기, 패키지, 프로세스, 로그, 덤프, 화면 캡처 및 APK/파일 전송 | 호출자가 제공하는 adb(에뮬레이터 또는 하드웨어); ADB 가이드 | ||
| JEB 프로젝트 | 엔진 기반 프로젝트 단위, 아티팩트 다이제스트 및 타입/메서드 의사코드 | MCP를 제공하는 호출자 시작 JEB 클라이언트, REAJEBMCP_URL로 선택; JEB 가이드 | ||
| Android 리소스 | 디코딩된 매니페스트, 문자열 테이블, 로케일 및 버전 정보 | 호출자가 제공하는 Apktool 런처; 리소스 가이드 | ||
| 펌웨어 | 영역, 추출 결과 및 네이티브 분석 핸드오프 | Linux의 Binwalk / Unblob; 펌웨어 가이드 | ||
| 패키지 및 리소스 | 파일 인벤토리, 다이제스트, plist, Apple 번들 구조 및 추출된 리소스 | 아티팩트 및 JavaScript 가이드, Apple 애플리케이션 | ||
| 프로세스 동작 | 터미널 출력, 상호작용, 종료 및 파일시스템 관찰, 실행 비교 | 네이티브 PTY가 있는 Linux/macOS; 프로세스 캡처 |
정적 JavaScript 및.NET 검사는 애플리케이션을 실행하지 않고 제공된 파일을 읽습니다. 런타임 캡처는 사용자 권한으로 선택한 대상을 실행하거나 상호작용합니다. 각 런타임 가이드에 그 효과가 설명되어 있습니다.
네이티브 형식과 호스트 지원은 제공자에 따라 다릅니다. Hopper 및 Ghidra 설정, IDA 가이드, 실험적 Windows Ghidra 지원을 참고하세요. Ghidra는 16비트 DOS 분석도 지원합니다. 대형 바이너리의 경우 REAGHIDRASTARTUPTIMEOUTMS 또는 REAHOPPERSTARTUPTIMEOUTMS로 제공자의 시작 기한을 늘리세요. 제공자 선택은 CLI 가이드를 참고하세요. 최신 npm 릴리스 이후 추가된 기능은 릴리스 가용성을 확인하세요.
사운드 호출을 따라 위치-팬 헬퍼로 들어가 명령을 검사하고, 불완전한 의사코드를 C로 바꿉니다. 재구성은 3,205개의 원본 x86 케이스를 통과하고 컴파일된 함수 바이트 63개를 모두 재현합니다.
사례 연구 읽기 · 재구성 저장소
렌더러의 클립보드 API를 찾아 preload와 IPC를 거쳐 메인 프로세스로 따라가고, 리치 클립보드 형식을 검사합니다.
사례 연구 읽기
원본 PC-98 게임의 16비트 명령을 검사하고, 고정 및 조준 각도 계산을 복원하며, 재구성된 C++를 역사적 컴파일러 출력과 비교합니다.
사례 연구 읽기 · 재구성 저장소
흥미로운 대상에 REA를 사용했다면 알려주세요. 대상, 질문, REA가 어떻게 도움이 되었는지, 무엇을 발견했는지를 포함해 이슈나 풀 리퀘스트로 사례를 공유해 주세요.
어떤 에이전트가 REA를 사용할 수 있나요?
로컬 MCP 서버를 지원하는 모든 에이전트입니다. 설정은 지원되는 에이전트를 구성하며, 다른 클라이언트는 수동 MCP 등록을 사용할 수 있습니다.
Hopper, Ghidra 또는 IDA가 필요한가요?
심층 네이티브 분석은 그중 하나를 사용합니다. 정적 JavaScript 및.NET 검사는 네이티브 분석 엔진 없이 동작합니다. 설정은 승인 후 Hopper를 설치할 수 있으며, Ghidra와 IDA는 기존 설치를 사용합니다. 제공자 설정을 참고하세요.
Hopper를 먼저 시작해야 하나요?
REA는 작업이 필요로 할 때 Hopper를 시작합니다. macOS에서는 첫 실행 대화상자가 데모 모드 선택 또는 라이선스 활성화를 요청할 수 있습니다. 첫 CLI/MCP 작업이나 무인 작업 전에 같은 사용자 세션에서 해당 프롬프트를 완료하세요. 필요하면 Hopper를 수동으로 여세요. Hopper 시작 및 문제 해결을 참고하세요.
skills.sh에서 스킬을 설치하면 무엇을 하나요?
스킬은 에이전트를 위한 조사 지침을 제공합니다. npx rea-agents setup으로 REA의 MCP 서버를 등록하고 그에 맞는 지침을 설치한 뒤 에이전트를 재시작하세요. 스킬 전용 설치를 참고하세요.
REA는 어떤 코드를 반환하나요?
네이티브 분석은 의사코드와 어셈블리를 반환합니다. JavaScript/Electron 분석은 모듈과 그 관계를 복원합니다. 에이전트는 이 발견 사항을 사용해 구현을 작성하고 테스트합니다. 쇼케이스에 실제 예시가 있습니다.
REA가 내 앱을 업로드하나요?
REA는 대상을 로컬에서 분석합니다. 에이전트가 도구 결과를 받으며, 그 모델 제공자는 자체 데이터 정책을 가집니다.
버그를 만나면 어떻게 해야 하나요?
먼저 업데이트하세요. 최근 릴리스가 이미 수정했을 수 있습니다.
npm install --global 또는 bun add --global로 설치한 CLI의 경우:
rea update
npx를 통한 에이전트 설정의 경우:
npx rea-agents@latest setup
에이전트를 사용 중이라면 설정 갱신을 완료하고 재시작하세요. 같은 작업을 다시 시도하세요. 문제가 지속되면 REA 버전, 대상 유형, 재현 단계 및 오류 출력을 포함해 이슈를 열어 주세요.
웹사이트의 실제 가이드부터 시작하세요. 정확한 옵션, 사전 요구 사항 및 결과 계약은 다음을 참고하세요: