Trên trang này

Kỹ thuật đảo ngược, với agent mã hóa của bạn

Tìm hiểu cách
phần mềm hoạt động.

REA cung cấp công cụ để trợ lý lập trình AI của bạn kiểm tra chương trình và giải thích cách nó hoạt động.

ĐÃ BIẾT LẠI? Chuyển đến hướng dẫn phân tích →

Bạn muốn đi sâu hơn? Đọc Blog →

Thiết LẬP REA

Dán lời nhắc này vào trợ lý lập trình AI của bạn:

Agent mã hóa của bạn

Cài đặt REA và kết nối với trợ lý lập trình này bằng npx rea-agents@latest setup. Trước tiên, cho tôi xem kế hoạch và chờ tôi chấp thuận. Sau đó, kiểm tra kết quả cài đặt.

Hoặc chạy lệnh này trong terminal:

npx rea-agents@latest setup

Xem và chấp thuận kế hoạch cài đặt, rồi khởi động lại trợ lý.

Lần đầu tiên, hoặc mất tích Node.js hoặc một agent mã hóa? Làm theo hướng dẫn thiết lập từng bước →

Kỹ thuật đảo ngược là gì?

Tìm hiểu cách phần mềm hoạt động bằng cách kiểm tra chính chương trình đó.

Mục tiêu: hiểu một tính năng đủ tốt để giải thích nó, thay đổi nó hoặc xây dựng lại nó.

Ví dụ: vì sao Máy tính cho kết quả 220 khi tính 200 + 10%?

Trước khi dùng REA · Bạn tự điều tra

Ban đầu x64 * lựa chọn hướng dẫn
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

Bạn giải mã các hướng dẫn, làm theo các cuộc gọi hàm và xây dựng lại tính toán.

Với REA · Bạn hỏi trợ lý AI

Chỉ một lời nhắc.

Hỏi trợ lý bằng ngôn ngữ thông thường.

Ví dụ nhắc · Máy tính

Sử dụng REA để kiểm tra Windows Máy tính. Tại sao 200 + 10% cho 220?

Câu trả lời ví dụ · dựa trên những phát hiện

Sau +, nút % mất một tỷ lệ phần trăm của số đầu tiên.

10% of 200 = 20200 + 20 = 220
REA cung cấp
Hướng dẫn của trình xử lý, mã dịch ngược và các cuộc gọi.
Trợ lý giải thích
Chi nhánh nào áp dụng, những gì nó tính toán và cách xây dựng lại nó.
Lắp ráp được chọn từ DLL Máy tính đã cài đặt. Những suy nghĩ và trả lời minh họa những phát hiện. Tiếp tục với ví dụ máy tính ↓

Hãy thử hai ví dụ. Thay đổi tốc độ của trò chơi, sau đó quay lại Máy tính và xây dựng lại nút % của trò chơi.

Ví dụ 01 * Chrome ' s trò chơi khủng long

Vì sao khủng long chạy nhanh dần?

Mục tiêu
Xây dựng lại trò chơi với tốc độ điều chỉnh.
Tại sao kỹ sư đảo ngược nó?
Để tái tạo gia tốc của nó, chúng ta cần quy tắc trong trò chơi đang chạy: nó bắt đầu nhanh như thế nào, nó tăng bao nhiêu và khi nào nó dừng lại.

Chơi bản dựng lại

6 → 10 → 13

Quy tắc ban đầu: bắt đầu từ 6, sau đó tăng lên 13.

Di chuyển thanh trượt để thiết lập tốc độ của riêng bạn. Không gian Hoặc Nhảy xóa một cây xương rồng.

REA trả về

Kịch bản thực sự chạy trong trang. Tác nhân đọc chức năng cập nhật và cài đặt tốc độ của nó, sau đó sử dụng quy tắc đó trong một trò chơi mới.

Ví dụ nhắc · Trò Chơi Khủng Long

SỬ DỤNG REA để kiểm tra trò chơi khủng long này. Tại sao nó nhanh hơn? Hiển thị quy tắc tốc độ, sau đó xây dựng một phiên bản nhỏ với tốc độ có thể điều chỉnh.

Mục tiêu được kiểm tra: PHIÊN bản trình duyệt CÓ NGUỒN GỐC TỪ Chromium của wayou.

REA · đã tải index.js * các dòng đã chọn
if (this.currentSpeed < this.config.MAX_SPEED) {
  this.currentSpeed += this.config.ACCELERATION;
}

Bắt đầu từ 6. Thêm 0.001 mỗi bản cập nhật mà không có va chạm, trong khi tốc độ thấp hơn 13.

Mở phòng thí nghiệm tốc độ →

Mỗi phần làm gì

  1. 01 * REA Đọc kịch bản của trò chơi đang chạyTrả lại mã và cài đặt thực tế của nó cho tác nhân.
  2. 02 * agent của BạnXây dựng lại quy tắc, thêm một điều khiểnSử dụng khả năng tăng tốc phục hồi trong một trò chơi nhỏ với một thanh trượt tốc độ.
  3. 03 * BạnThay đổi tốc độ và chơiHãy thử tăng tốc ban đầu, sau đó chọn tốc độ của riêng bạn.
Xem kịch bản, kiểm tra và cách thử phân tích

REA đã kiểm tra PHIÊN bản TRÌNH duyệt HTTP thông qua kết nối gỡ lỗi cục bộ và trả về đã tải index.js, bao gồm cả nguồn và tiêu hóa của nó.

Cài đặt đã chọn từ tập lệnh được kiểm tra
ACCELERATION: 0.001,
MAX_SPEED: 13,
SPEED: 6

Chúng tôi đã gọi chức năng cập nhật của trò chơi gốc trong kiểm tra trình duyệt được kiểm soát, với các chướng ngại vật và lập lịch tự động bị vô hiệu hóa. Sau 4.000 bản cập nhật, tốc độ là 10.0; sau 10.000, nó là 13.0, được làm tròn thành một số thập phân.

Trò chơi nhỏ mới giữ quy tắc tốc độ đó. Bản vẽ, nhảy và mã va chạm của nó là một triển khai giảng dạy nhỏ. Mở phòng thí nghiệm để xem mã mới và chạy kiểm tra tốc độ tương tự.

Để tự mình kiểm tra mục tiêu, hãy làm theo các bước kết nối trình duyệt sử dụng trang khủng long. Cung cấp cho agent CỦA bạn URL trang đó và điểm cuối gỡ lỗi cục bộ của bạn, sau đó sao chép lời nhắc ở trên.

Kiểm tra mã tốc độ · Tác GIẢ Chromium * giấy phép BSD

Ví dụ 02 * Windows Máy Tính

Dựng lại nút % của Máy tính.

Chúng tôi đã thấy tại sao 200 + 10% cho 220. Bây giờ chúng ta hãy khôi phục các quy tắc cho cả + và ×, và thử chúng.

Mục tiêu
Xây dựng một máy tính nhỏ xử lý cả + và × chính xác.
Tại sao kỹ sư đảo ngược nó?
Nút tương tự sử dụng các quy tắc khác nhau sau + và ×. Chúng tôi kiểm tra ứng dụng đã cài đặt để tìm số phần trăm được áp dụng.

Hãy thử tính toán

200 + 20

10% của 200 = 20. Sau đó, 200 + 20 = 220.

Minh họa tương tác của quy tắc phần trăm được kiểm tra.

REA trả về

Một nhánh chia cho 100. Người kia cũng nhân với số đầu tiên. Tác nhân sử dụng cả hai để tạo lại nút%.

Đối với ví dụ này, previous = 200 và current = 10.

Ví dụ nhắc · Xây dựng lại nút %

SỬ dụng REA để kiểm tra NÚT % CỦA MÁY TÍNH Windows. Khôi phục các quy tắc sau + và ×, sau đó xây dựng một máy tính nhỏ sử dụng cả hai.

Tóm tắt có thể đọc được của trình xử lý %
if (operation == multiply || operation == divide) {
  percent = current / 100;
} else {
  percent = current * previous / 100;
}
Với +
Lấy 10% số đầu tiên.10% of 200 = 20 → 200 + 20 = 220
Với ×
Biến 10% thành 0,1.200 × 0.1 = 20

Từ ứng dụng đã cài đặt đến nút % hoạt động

  1. 01 · REA đọc calc.exeNó khởi chạy ứng dụng Máy TínhMã mở ra ms-calculator:. Sau đó, tác nhân chọn thư viện của ứng dụng đã cài đặt.
  2. 02 * REA đọc thư việnTrả lại mã % handlerHàm kiểm tra toán tử và sử dụng hằng số 100.
  3. 03 * đại Lý của Bạn giải thích nóGiải thích và tái tạo các quy tắcKiểm tra chéo nhánh với Nguồn Của Microsoft, sau đó thử + và × ở trên.
Xem mã thực và câu trả lời đã được kiểm tra như thế nào
REA * hướng dẫn ban đầu được chọn
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
Id nhà điều Hành * Nguồn Của Microsoft
#define IDC_MUL 92      // 0x5c
#define IDC_DIV 91      // 0x5b
#define IDC_PERCENT 118 // 0x76

0x64 = 100

KIỂM tra VỚI REA 4.1.0: Windows Máy tính 11.2508.4.0, x64. Tóm tắt có thể đọc được sử dụng tên từ Nguồn công Khai Của Microsoft để giải thích chi nhánh đã khôi phục.

Thực hiện tỷ lệ phần trăm · Trường hợp thử nghiệm của Microsoft · Hướng dẫn thiết lập gốc

Cuộc điều tra đầu tiên của bạn

Hãy thử REA trên một ứng dụng nhỏ.

Tải Xuống Ví Dụ Ghi Chú của chúng tôi, theo dõi XUẤT CSV của NÓ và kiểm tra một đầu vào đã thay đổi.

Hãy thử ví dụ hướng dẫn

Muốn tìm hiểu sâu hơn?

Nói với agent của bạn những gì bạn muốn hiểu hoặc xây dựng. VỚI REA, bạn có thể làm việc cùng nhau trên bất cứ điều gì từ nhân bản trang web này để xây dựng lại một trò chơi từ thực thi của nó.

Ví dụ nhắc * Trang Web

SỬ DỤNG REA để kiểm tra https://rea.tools/. Sao chép trang web này cho tôi.

Vâng, cái này.

Ví dụ nhắc · Tái Thiết Trò chơi

SỬ dụng REA để xây dựng lại trò chơi này từ thực thi của nó. Khôi phục logic trò chơi Trong C và kiểm tra nó so với bản gốc.

Xem nghiên cứu điển hình DX-Ball →

Đối với các bước thiết lập và phân tích, hãy chọn mục tiêu của bạn:

Chương trình mã máy

Kiểm tra các hàm, chuỗi, tham chiếu và mối quan hệ gọi hàm trong tệp thực thi và thư viện.

Phân tích hướng dẫn chương trình mã máy

JavaScript & Electron

Các mô-đun bản đồ, tuyến ĐƯỜNG, IPC và các phụ thuộc gốc từ thư mục ứng dụng hoặc KHO LƯU trữ ASAR.

Quy trình làm việc ứng dụng

Hoạt động trình duyệt và thời gian chạy

Nắm bắt các trình duyệt được lựa chọn hoặc quá trình hoạt động, sau đó so sánh các kết quả trên chạy.

Hướng dẫn quan sát trình duyệt

Bạn có câu hỏi?

Đọc CÂU hỏi THƯỜNG gặp, trò chuyện VỚI CHÚNG TÔI TRÊN Discord , hoặc mở sự cố GitHub đối với lỗi và yêu cầu tính năng.

Tham gia cộng đồng

Chia sẻ điều tra và nhận trợ giúp từ NHỮNG NGƯỜI dùng REA khác TRÊN Discord . Theo DÕI REA Trên X để cập nhật dự án.

Hàng đầu