안드로이드·APK분석
인증자가 로그인 코드를 생성하는 방법
Aegis의 배포 APK에서 여섯 자리 로그인 코드를 추적하고 데모 시계를 움직여 30초마다 바뀌는 이유를 확인하세요.
안드로이드 사례 연구 읽기코딩 에이전트와 함께 리버스 엔지니어링
앱, 게임, 웹사이트에 대해 코딩 에이전트에게 질문해 보세요. REA는 답의 근거가 되는 코드를 살펴볼 도구를 제공합니다.
이 프롬프트를 코딩 에이전트에 붙여 넣으세요:
npx rea-agents@latest setup을 사용해 REA를 설치하고 이 코딩 에이전트에 연결해 줘. 먼저 설정 변경 계획을 보여 주고 내 승인을 받은 뒤 실행해 줘. 마지막으로 설치를 확인해 줘.
터미널에서 직접 실행할 수도 있습니다:
npx rea-agents@latest setup
설정 변경 계획을 확인하고 승인한 뒤 에이전트를 다시 시작하세요.
처음 또는 누락 Node.js 아니면 코딩 에이전트? 단계별 설치 가이드를 따르십시오.
리버스 엔지니어링은 프로그램 자체를 살펴보고 소프트웨어의 작동 방식을 이해하는 것입니다. REA를 사용하면 에이전트가 코드를 추적하고 기능을 설명하며 다시 구현하는 일을 도울 수 있습니다.
에이전트에게 프로그램이나 페이지와 질문을 전달하세요.
REA는 코드, 참조 관계, 실행 중 관찰 결과를 반환합니다.
에이전트는 조사 결과를 바탕으로 기능을 설명하거나 다시 구현합니다.
계산기에서 200 + 10%의 결과가 220인 이유는 무엇일까요?
0x180124945: MOV EAX, dword ptr [R13 + 0x18]
0x180124949: CMP EAX, 0x5c
0x18012494c: JZ 0x180124aba
0x180124952: CMP EAX, 0x5b
0x180124955: JZ 0x180124aba
0x18012495b: MOV EDX, 0x64
0x180124960: LEA RCX, [RSP + 0x160]
0x180124968: CALL 0x180122650
0x18012496e: LEA RDX, [R13 + 0x160]
0x180124975: LEA RCX, [RSP + 0x78]
0x18012497a: CALL 0x180109720
0x18012497f: MOV RSI, RAX
0x180124982: MOV qword ptr [RSP + 0x28], RAX
0x180124987: LEA RDX, [RSP + 0x160]
0x18012498f: MOV RCX, RAX
0x180124992: CALL 0x180123190
; … value-copy instructions omitted …
0x180124a14: MOV RDX, RDI
0x180124a17: LEA RCX, [RSP + 0xf8]
0x180124a1f: CALL 0x180109720
0x180124a24: LEA R8, [RSP + 0x30]
0x180124a29: MOV RDX, RAX
0x180124a2c: LEA RCX, [RSP + 0xb8]
0x180124a34: CALL 0x180123c10
당신은 명령을 디코딩 함수 호출을 따라 계산을 재구성.
에이전트에게 같은 질문하기
사용 REA 검사 Windows 계산기 왜 200 + 10% 220 줘?
+후,%버튼이 걸립니다 첫 번째 숫자의 백분율.
10% of 200 = 20200 + 20 = 220
두 가지 예제를 해 봅시다. 게임의 속도를 바꾸고, 계산기의 % 버튼을 다시 구현합니다.
예 01·Chrome's 룡 게임
계속 달리면 게임이 빨라집니다. 속도 조절 기능을 넣어 다시 구현하려면 먼저 속도가 어떻게 변하는지 알아야 합니다.
사용 REA 이 공룡 게임을 검사합니다. 왜 더 빨리 얻을 수 있습니까? 속도 규칙을 표시 한 다음 조정 가능한 속도로 작은 버전을 만듭니다.
REA를 사용하면 에이전트가 실행 중인 게임의 코드를 읽을 수 있습니다. 속도는 6에서 시작하고, 13 미만인 동안 갱신할 때마다 조금씩 증가합니다.
아래 미니게임에 이 규칙을 구현하고 속도 슬라이더를 추가했습니다. 시작을 누르고 원하는 속도를 골라 보세요.
원래 규칙:6 에서 시작한 다음 13 으로 늘립니다.
검사 대상: 와이우의 Chromium-파생 브라우저 에디션.
if (this.currentSpeed < this.config.MAX_SPEED) {
this.currentSpeed += this.config.ACCELERATION;
}
시작 6. 추가 0.001 충돌없이 각 업데이트,속도가 아래에있는 동안 13.
각 부분이 하는 일
REA 로컬 디버깅 연결을 통해 <URL> 브라우저 버전을 검사하고 로드된 버전을 반환했습니다. index.js,그 원천과 다이제스트를 포함합니다.
ACCELERATION: 0.001,
MAX_SPEED: 13,
SPEED: 6
우리는 장애물과 자동 스케줄링이 비활성화 된 제어 된 브라우저 검사에서 원래 게임의 업데이트 기능을 호출했습니다. 4,000 개의 업데이트 후,속도는 10.0 이었고,10,000 개의 업데이트 후,13.0 이 되었고,10 진수로 반올림되었습니다.
새로운 미니 게임은 그 속도 규칙을 유지합니다. 그리기,점프 및 충돌 코드는 작은 교육 구현입니다. 실험실 열기 새 코드를 확인하고 동일한 속도 검사를 실행합니다.
대상을 직접 검사하려면 다음을 수행하십시오 브라우저 연결 단계 사용 공룡 페이지. 에이전트에 해당 페이지 및 로컬 디버깅 끝점을 지정한 다음 위의 프롬프트를 복사합니다.
예 02·Windows계산기
% 버튼은 + 뒤와 × 뒤에서 다르게 작동합니다. 두 규칙을 찾아 작은 계산기에서 시험해 봅시다.
사용 REA 검사 Windows 계산기의%버튼. +와 200 이후의 규칙을 복구 한 다음 둘 다 사용하는 작은 계산기를 만듭니다.
REA는 에이전트가 % 버튼의 코드를 읽도록 돕습니다. 이 코드는 서로 다른 두 규칙을 적용합니다.
10% of 200 = 20 → 200 + 20 = 220
200 × 0.1 = 20
아래에 두 규칙을 다시 구현했습니다. + 또는 ×를 고르고, %를 누른 뒤 =를 누르세요.
10%의 200=20. 그런 다음 200+20=220.
이 예제에서는, previous = 200 그리고 current = 10.
if (operation == multiply || operation == divide) {
percent = current / 100;
} else {
percent = current * previous / 100;
}
설치된 앱에서 작동%버튼으로
ms-calculator:. 그런 다음 에이전트는 설치된 앱의 라이브러리를 선택합니다.
100.
0x180124945: MOV EAX, dword ptr [R13 + 0x18]
0x180124949: CMP EAX, 0x5c
0x18012494c: JZ 0x180124aba
0x180124952: CMP EAX, 0x5b
0x180124955: JZ 0x180124aba
0x18012495b: MOV EDX, 0x64
#define IDC_MUL 92 // 0x5c
#define IDC_DIV 91 // 0x5b
#define IDC_PERCENT 118 // 0x76
0x64 = 100
검사와REA4.1.0:Windows계산기 11.2508.4.0,x64. 읽을 수있는 요약은 복구 된 지점을 설명하기 위해 마이크로 소프트의 공개 소스에서 이름을 사용합니다.
출시된 앱이나 게임의 기능을 코드와 검증 결과와 함께 살펴보세요.
안드로이드·APK분석
Aegis의 배포 APK에서 여섯 자리 로그인 코드를 추적하고 데모 시계를 움직여 30초마다 바뀌는 이유를 확인하세요.
안드로이드 사례 연구 읽기Electron·기능 추적
Notion에 패키징된 JavaScript에서 시스템 클립보드까지 추적하며 복사가 서식 있는 블록 데이터를 보존하는 방식을 살펴보세요.
읽Notion사례 연구네이티브 프로그램 · 재구현
1996년 Windows 게임에서 공의 위치가 좌우 소리로 바뀌는 방식을 복원합니다.
읽DX-Ball사례 연구첫 번째 조사
우리의 노트 예제를 다운로드,그 추적 CSV 수출,하나의 변경된 입력을 확인합니다.
이 가이드는 소프트웨어 종류별 설정과 첫 조사를 안내합니다.
사용 REA 검사 https://rea.tools/. 나를 위해이 웹 사이트를 복제.
예,이 하나.
사용 REA 이 게임을 실행 파일에서 재구성합니다. 다에서 게임 플레이 로직을 복구하고 원본에 대해 테스트합니다.