REA 그림 사용법
REA 그림 사용법

REA 사용법

앱을 뜯지 않고 속을 들여다보는 돋보기예요. 무엇을 보느냐에 따라 쓰는 법이 조금씩 달라요.

무엇을 들여다볼까요?

처음 한 번만 준비해요

어떤 파일을 보든 이 준비는 같아요.

  1. 1. 붙여넣기
    npx rea-agents setup
  2. 2. 보고 승인하기

    바뀔 내용이 먼저 나와요. 확인하고 고르면 기존 설정은 백업돼요.

  3. 3. 다시 켜기

    Claude Code 같은 에이전트를 껐다 켜면 끝이에요.

말로 부탁하기

가장 쉬워요. 아래 칸마다 있는 말풍선 문장을 에이전트에게 그대로 보내도 돼요. 파일 경로만 바꾸세요.

명령어로 직접 하기

아래 명령을 한 번 실행하면 rea 명령이 생겨요.

npm install --global rea-agents

설치하기 싫으면 rea 대신 npx -y rea-agents@latest를 붙여 쓰세요.

필요한 것: Node.js 22.19 이상, 24.11 이상, 또는 26 이상과 npm.

그림으로 더 자세히설치와 설정

웹페이지

크롬에 열린 페이지를 옆에서 지켜봐요. 페이지는 건드리지 않아요.

필요한 것

  • 크롬·브레이브 같은 크로미엄 브라우저

알려 주는 것

  • 페이지 구조
  • 스크립트
  • 네트워크 요청
  • API 주소 후보
  • 스크린샷
에이전트에게 이렇게 말해 보세요

9222 포트로 열어 둔 크롬 페이지에서 검색창이 어떤 서버 주소를 부르는지 REA로 조사하고 증거를 보여줘.

직접 해 보기 명령어 5단계

  1. 1

    크롬을 관찰 모드로 열기

    평소 쓰는 프로필과 따로 켜요. 맨 끝 주소를 보고 싶은 페이지로 바꾸세요. (Mac 기준)

    "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --remote-debugging-port=9222 --user-data-dir=/tmp/rea-browser-profile https://example.com
  2. 2

    페이지 번호(id) 찾기

    열린 탭 목록이 나와요. 보고 싶은 탭의 id를 복사해 두세요.

    rea list-browser-targets http://127.0.0.1:9222 --json
  3. 3

    페이지 속 들여다보기

    TARGET_ID를 2번에서 찾은 id로 바꿔요. 화면 구조, 스크립트, 네트워크를 알려 줘요.

    rea inspect-web-page http://127.0.0.1:9222 TARGET_ID --json
  4. 4

    스크립트 속 숨은 주소 찾기

    자바스크립트를 실행하지 않고 읽기만 해서, 화면 경로와 API 주소 후보를 찾아요.

    rea analyze-web-bundle http://127.0.0.1:9222 TARGET_ID --json
  5. 5

    누르는 동안 지켜보기 선택

    명령을 실행하고 10초 안에 페이지를 직접 눌러 보세요. 그동안 일어난 이동과 새로고침을 기록해요.

    rea observe-web-session http://127.0.0.1:9222 TARGET_ID --observation-ms 10000 --json
  • REA는 브라우저를 켜거나 끄지 않아요. 다 보고 나면 직접 닫으세요.
  • 9222 포트는 내 컴퓨터 안(127.0.0.1)에서만 쓰세요. 다른 컴퓨터에 열지 마세요.
  • Windows·Linux에서는 크롬 실행 파일 이름만 다르고, 뒤에 붙는 두 옵션은 같아요.

그림으로 더 자세히웹페이지 관찰

DMG 파일

Mac 앱 설치 파일을 열어 속을 봐요. 앱을 실행하지는 않아요.

필요한 것

  • Mac (DMG를 열려면)
  • 네이티브 앱이면 Hopper·Ghidra·IDA 중 하나

알려 주는 것

  • 파일 목록과 해시
  • 앱 구조
  • 모듈 관계
  • 의사코드
  • 기능의 호출 경로
에이전트에게 이렇게 말해 보세요

~/Downloads/MyApp.dmg 안의 앱이 검색 기능을 어떻게 만들었는지 REA로 분석하고 증거를 보여줘.

직접 해 보기 2번에서 길이 둘로 나뉘어요

  1. 1

    안에 뭐가 들었나 보기

    REA가 DMG를 잠깐 열어 파일 목록을 만들고, 다시 닫아요.

    rea inspect-artifact ~/Downloads/MyApp.dmg --json
  2. 2

    app.asar가 있는지 보기

    1번 결과에서 app.asar를 찾아보세요. 있으면 A, 없으면 B로 가요.

    다음 단계 전에 DMG를 더블클릭해서 열어 두세요. /Volumes/MyApp 아래에 나타나요.

  3. 3-A

    자바스크립트 앱 A · Electron

    모듈, import, IPC 연결을 정리해 줘요.

    rea analyze-javascript-application "/Volumes/MyApp/MyApp.app/Contents/Resources/app.asar" --json
    3-B

    네이티브 앱 B

    Hopper가 앱을 읽고 함수와 글자(문자열)를 정리해요. .app을 그대로 넣으면 돼요.

    rea analyze "/Volumes/MyApp/MyApp.app" --provider hopper --json
  4. 4

    기능 따라가기 B인 경우

    궁금한 기능의 단어(예: search)로 관련 코드를 따라가요.

    rea trace "/Volumes/MyApp/MyApp.app" "search" --provider hopper --json
  • DMG 속 목록 보기(1번)는 Mac에서만 돼요.
  • Hopper가 없으면 --provider ghidra로 바꿔 Ghidra를 써도 돼요. 처음 준비할 때 Hopper를 함께 설치하도록 고를 수도 있어요.
  • 다 보고 나면 Finder에서 꺼내기(⏏)를 눌러 직접 연 DMG를 닫으세요.

그림으로 더 자세히Mac 앱 구조네이티브 분석

안드로이드 앱 (APK)

APK 파일을 열어 코드를 읽어요. 앱을 실행하지 않으니 휴대폰이 없어도 돼요.

필요한 것

  • JDK 17 이상
  • JADX 파일 (jadx-headless-mcp 0.7.1)
  • Mac·Linux·Windows x64

알려 주는 것

  • 권한과 매니페스트
  • 클래스 목록
  • 디컴파일된 코드
  • 호출 관계
에이전트에게 이렇게 말해 보세요

~/Downloads/app.apk에서 로그인을 처리하는 코드를 REA로 찾아서 설명해줘.

직접 해 보기 명령어 5단계

  1. 1

    도구 두 가지 준비하기

    JDK 17 이상을 설치하고 JADX 파일을 받아요. 그다음 파일 위치를 알려 주면 돼요. 받는 방법은 아래 안드로이드 안내서에 있어요.

    export REA_JADX_MCP_JAR="$HOME/.local/share/rea/android/jadx-headless-mcp-0.7.1-all.jar"
  2. 2

    앱 신분증 보기

    패키지 이름, 요청하는 권한, 클래스 수를 알려 줘요.

    rea inspect-android-package ~/Downloads/app.apk
  3. 3

    클래스 찾기

    이름에 Login이 들어간 클래스를 찾아요. 찾는 단어만 바꾸면 돼요.

    rea search-android-classes ~/Downloads/app.apk Login
  4. 4

    코드 읽기

    메서드를 자바 코드처럼 보여 줘요. 클래스 이름은 3번 결과에서 가져오세요.

    rea inspect-android-method ~/Downloads/app.apk com.example.LoginActivity onCreate
  5. 5

    누가 부르는지 보기

    이 클래스를 쓰는 곳을 거꾸로 따라가요. 기능이 어디서 시작되는지 알 수 있어요.

    rea trace-android-references ~/Downloads/app.apk com.example.LoginActivity
  • JADX 파일을 받은 뒤 SHA-256 값이 안내서에 적힌 값과 같은지 꼭 확인하세요.
  • Windows PowerShell에서는 export 대신 $env:REA_JADX_MCP_JAR = '경로'를 써요.
  • com.example.LoginActivity는 예시예요. 3번에서 나온 실제 이름으로 바꾸세요.

그림으로 더 자세히안드로이드 APK