REA Reverse - 무엇이든 리버스 엔지니어링하기

1 day ago 3

REA는 코딩 에이전트가 프로그램 자체를 검사하고 동작을 설명하도록 도구를 제공하며, 분석한 기능을 변경하거나 재구현하는 데 활용할 수 있음 사용자가 자연어로 질문하면 REA가 명령어, 디컴파일 코드, 호출 관계 등을 제공하고, 에이전트가 적용되는 분기와 계산 방식, 재구현 방법을 해석함 Chrome 공룡 게임 사례에서는 실행 중인 스크립트에서 속도 증가 규칙을 찾아, 같은 가속 규칙과 속도 조절 기능을 갖춘 작은 게임을 만듦 Windows Calculator 사례에서는 % 버튼의 연산자별 분기를 복원해, 200 + 10%는 220이 되고 200 × 10%는 20이 되는 동작을 재현함 분석 대상은 네이티브 실행 파일과 라이브러리, JavaScript/Electron 앱, 브라우저와 프로세스 실행 활동까지 아우름 프로그램 검사와 에이전트의 역할 리버스 엔지니어링은 프로그램 자체를 검사해 소프트웨어의 동작을 알아내는 작업이며, 기능을 설명하거나 변경하거나 다시 만들 수 있을 만큼 이해하는 것이 목표임 REA가 없으면 사용자가 직접 명령어를 해독하고 호출을 따라가며 계산 과정을 복원해야 하지만, REA를 사용하면 에이전트에 자연어로 분석을 요청할 수 있음 REA는 핸들러의 명령어, 디컴파일 코드, 호출 정보를 제공함 에이전트는 어떤 분기가 적용되는지, 무엇을 계산하는지, 어떻게 재구현할지 해석함 설치는 npx rea-agents@latest setup 으로 진행하며, 설정 계획을 승인한 뒤 에이전트를 재시작함 코딩 에이전트에 설치와 연결을 요청하면서, 실행 전 계획 승인과 설치 후 검증을 지시할 수도 있음 공룡 게임의 가속 규칙 복원 분석 대상은 wayou의 Chromium 기반 브라우저 버전이며, 목표는 원래 가속 동작을 재현하면서 속도를 조절할 수 있는 게임을 만드는 것임 REA는 로컬 디버깅 연결로 HTTP 브라우저 버전을 검사하고, 실제 로드된 index.js의 소스와 다이제스트를 반환함 에이전트는 실행 중인 스크립트의 업데이트 함수와 속도 설정을 읽어 규칙을 복원함 검사한 속도 코드의 설정은 SPEED: 6, ACCELERATION: 0.001, MAX_SPEED: 13임 속도 6에서 시작해 충돌 없는 업데이트마다 0.001씩 증가하며, 현재 속도가 13 미만일 때만 증가 연산을 수행함 원본 게임의 업데이트 함수를 통제된 브라우저 환경에서 호출해 규칙을 확인함 장애물과 자동 실행 예약을 비활성화한 상태에서 ...

Read Entire Article