소스 코드가 없는 애플리케이션의 작동 방식을 알고 싶을 때 유용한 도구가 **REA (Reverse Engineer Anything)**입니다.
이번 글에서는 공식 GitHub 정보를 바탕으로 REA가 어떤 도구인지 간단히 소개합니다.
이 글에 대하여
2026년 10월 시점의 공개 문서를 참조하여 정리했습니다. 필자 자신이 REA를 설치하고 분석을 시도한 기사는 아닙니다. 실제 분석 정확도나 사용 편의성은 미검증입니다.
REA는 AI 코딩 에이전트가 리버스 엔지니어링용 분석 기능을 사용할 수 있도록 하는 오픈 소스 도구입니다.
CLI(Command Line)와 MCP 서버를 제공하며, 에이전트와 연동하여 애플리케이션의 구조나 처리를 조사할 수 있습니다.
공식 자료에서는 소스 코드가 없는 애플리케이션을 분석하고 특정 기능의 작동 방식을 알아내는 용도가 소개되어 있습니다.
공식 문서에서는 다음과 같은 대상을 언급하고 있습니다.
- 네이티브 실행 파일 및 라이브러리
- JavaScript / Electron 애플리케이션
- .NET 어셈블리
- 웹사이트
분석 대상에 따라 사용하는 기능이나 필요한 환경은 다릅니다. 예를 들어, 네이티브 바이너리의 상세 분석에는 Ghidra와 같은 분석 엔진을 이용합니다.
REA 공식 사이트에는 실제 분석 내용을 소개하는 예시가 있습니다. 여기서는 두 가지만 소개합니다.
Windows 계산기로 200 + 10%
를 입력하면, 결과는 220
이 됩니다.
공식 사이트에서는 계산기 프로그램에 포함된 명령어나 함수 호출을 조사하여, 덧셈 후의 '10%'는 첫 번째 숫자 200의 10%(20)로 처리된다는 점을 설명하고 있습니다. 한편, 곱셈에서는 10%
를 0.1
로 처리하는 예시도 보여주고 있습니다.
이는 표시되는 계산 결과뿐만 아니라 내부의 처리를 단서 삼아 작동 방식을 조사하는 예입니다.
공식 사이트에서는 Chromium 기반의 공룡 게임 브라우저 버전을 대상으로, 달리다 보면 게임 속도가 빨라지는 메커니즘을 조사한 사례도 소개하고 있습니다.
획득한 JavaScript 코드를 통해 속도가 초기값 6
에서 상한선 13
으로 증가하는 처리를 확인했으며, 그 규칙을 사용한 조작 가능한 작은 게임도 게재되어 있습니다.
다만, 이는 공식이 지정하는 브라우저 버전을 분석한 사례이며, 모든 Chrome 버전에서 동일하게 구현된 것인지는 확인하지 못했습니다.
이는 REA 공식에서 공개한 사례 소개일 뿐, 필자가 같은 분석을 실시하여 재현성을 확인한 것은 아닙니다.
Node.js와 npm이 사용 가능한 환경에서, 공식 문서는 다음 설정 명령어를 안내하고 있습니다.
설정 시 연동할 AI 에이전트를 선택하고, 설정 변경을 확인하며 진행합니다. 사용하는 분석 대상에 따라 별도의 분석 엔진 준비가 필요할 수 있습니다.
예를 들어, AI 에이전트에게