---
title: REA-วิศวกรรมย้อนกลับสำหรับตัวแทนการเข้ารหัสของคุณ
url: https://rea.tools/th/
---

วิศวกรรมย้อนกลับกับตัวแทนการเข้ารหัสของคุณ

# เรียนรู้ว่า ซอฟต์แวร์ทำงานอย่างไร

ถามเอเจนต์เขียนโค้ดของคุณเกี่ยวกับแอป เกม หรือเว็บไซต์ REA มีเครื่องมือให้ตรวจสอบโค้ดที่อยู่เบื้องหลังคำตอบ

[เริ่มต้น](https://rea.tools/get-started/)
[ดูตัวอย่าง ↓](https://rea.tools/th/#dinosaur)

## ตั้งค่า REA

วางพรอมป์ต์นี้ในผู้ช่วยเขียนโค้ด AI ของคุณ:

ตัวแทนการเข้ารหัสของคุณ

ใช้ npx rea-agents@latest setup เพื่อติดตั้ง REA และเชื่อมต่อกับผู้ช่วยเขียนโค้ดนี้ แสดงแผนการตั้งค่าก่อนและรอให้ฉันอนุมัติ แล้วตรวจสอบการติดตั้ง

หรือรันคำสั่งนี้ในเทอร์มินัล:

`npx rea-agents@latest setup`

ตรวจสอบและอนุมัติแผนการตั้งค่า แล้วเริ่มผู้ช่วยใหม่


ตัวเลือกการตั้งค่า


วิธีติดตั้งอื่น: [curl →](https://rea.tools/get-started/#curl-installation)

ครั้งแรกหรือหายไป Node.js หรือตัวแทนการเข้ารหัส? [ทำตามคู่มือการตั้งค่าทีละขั้นตอน→](https://rea.tools/get-started/)

[สร้างสภาพแวดล้อม RL →](https://rea.tools/th/#rl-environments)

บันทึกเว็บแอปเพื่อฝึกและทดสอบเอเจนต์

[โชว์เคส→](https://rea.tools/th/showcase/)

การตรวจสอบและเดโมแบบโต้ตอบ

[บล็อก →](https://rea.tools/th/blog/)

วิธีการและบันทึกการสร้างซอฟต์แวร์ขึ้นใหม่

## วิธีทำงาน

วิศวกรรมย้อนกลับคือการทำความเข้าใจการทำงานของซอฟต์แวร์ด้วยการตรวจสอบตัวโปรแกรม เมื่อใช้ REA เอเจนต์ของคุณจะตามโค้ด อธิบายฟีเจอร์ และช่วยสร้างฟีเจอร์นั้นขึ้นใหม่ได้

1. ### ถามเกี่ยวกับหนึ่งฟีเจอร์

   ส่งโปรแกรมหรือหน้าเว็บพร้อมคำถามให้เอเจนต์ของคุณ
2. ### ตรวจสอบโปรแกรม

   REA ช่วยให้เอเจนต์อ่านโค้ดและดูว่าโปรแกรมทำอะไรขณะทำงาน
3. ### เข้าใจแล้วลองปรับเปลี่ยน

   เอเจนต์ใช้สิ่งที่พบเพื่ออธิบายหรือสร้างฟีเจอร์ขึ้นใหม่

ดูการตรวจสอบเครื่องคิดเลขทั้งหมด

ทำไม 200 + 10% จึงได้ 220 ในเครื่องคิดเลข?

### ตามคำสั่งทีละขั้น

ต้นฉบับ 64·เลือกคำแนะนำ 

```
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
```



01·สาขาใด?

“**0\*5 บาท? 0\*5 องศาเซลเซียส?** สองกระโดดไปยังสถานที่เดียวกัน ผู้ประกอบการคนไหน”

ค้นหารหัสคำสั่งแล้วติดป้ายชื่อสาขา

0x5b
:   แบ่ง÷

0x5c
:   คูณ×

02 · ฟังก์ชันที่เรียกทำอะไร?

"100 เป็นที่ชัดเจน การโทรเป็นแค่ที่อยู่ **อันไหนแบ่งกัน? ซึ่งค่าไปใน?**”

ตรวจสอบฟังก์ชั่นผู้ช่วยและติดตามค่าที่เก็บไว้

0x64
:   100

…123190
:   แบ่ง

03·กฎคืออะไร?

"เส้นทางนี้คูณด้วยอินพุตอื่นๆ แล้ว **10%หมายถึง 10%ของ 200** หลังจาก+.”

ตั้งชื่อตัวดำเนินการและตรวจสอบเส้นทางตัวดำเนินการทั้งสอง

200 × 10 / 100
**20**

![](https://rea.tools/assets/localized/th/figures/analyst-thinking.svg)

เหตุผลผู้เชี่ยวชาญที่เป็นตัวอย่าง

**คุณถอดรหัสคำแนะนำตามสายฟังก์ชั่นและสร้างการคำนวณ**

ถามเอเจนต์ด้วยคำถามเดียวกัน

ตัวอย่างพรอมต์\*เครื่องคิดเลข

ใช้ REA เพื่อตรวจสอบ Windows เครื่องคิดเลข ทำไม 200 + 10% ให้ 220?

คำตอบตัวอย่าง·ขึ้นอยู่กับการค้นพบ

หลังจาก+ปุ่ม%ใช้เวลา **เปอร์เซ็นต์ของจำนวนแรก**

`10% of 200 = 20`**200 + 20 = 220**

ข้อมูลที่ REA ให้
:   คำแนะนำของผู้จัดการถอดรหัสและการโทร

สิ่งที่ผู้ช่วยอธิบาย
:   ซึ่งสาขาที่ใช้สิ่งที่มันคำนวณและวิธีการที่จะสร้างมัน

การประกอบที่เลือกจากเครื่องคิดเลขที่ติดตั้ง ความคิดและคำตอบแสดงถึงการค้นพบ. [ดำเนินการต่อด้วยตัวอย่างเครื่องคิดเลข↓](https://rea.tools/th/#calculator)

มาลองสองตัวอย่างกัน: เปลี่ยนความเร็วของเกม แล้วสร้างปุ่ม % ของเครื่องคิดเลขขึ้นใหม่

ตัวอย่าง 01\*Chromeเกมไดโนเสาร์

## ทำไมไดโนเสาร์จึงวิ่งเร็วขึ้น?

เกมจะเร็วขึ้นเมื่อคุณวิ่งต่อไป หากจะสร้างเกมขึ้นใหม่พร้อมตัวปรับความเร็ว เราต้องรู้ก่อนว่าความเร็วเปลี่ยนอย่างไร

### 1. ถามเรื่องความเร็ว

ตัวอย่างคำถาม · เกมไดโนเสาร์

ใช้ REA เพื่อตรวจสอบเกมไดโนเสาร์นี้ ทำไมมันถึงได้เร็วขึ้น? แสดงกฎความเร็วแล้วสร้างรุ่นขนาดเล็กที่มีความเร็วที่ปรับได้

### 2. หากฎการเปลี่ยนความเร็ว

REA ช่วยให้เอเจนต์อ่านโค้ดของเกมที่กำลังทำงานได้ ความเร็วเริ่มที่ 6 และเพิ่มขึ้นเล็กน้อยทุกครั้งที่อัปเดตขณะที่ยังต่ำกว่า 13

### 3. ลองเล่นผลลัพธ์

เรานำกฎนี้มาสร้างมินิเกมด้านล่างและเพิ่มแถบเลื่อนความเร็ว เริ่มเล่น แล้วเลือกความเร็วของคุณเอง

ความเร็ว 6.0
 ใช้กฎการเร่งการกู้คืน

กฎเดิม:เริ่มต้นที่ 6 จากนั้นเพิ่มขึ้นถึง 13

เลื่อนแถบเลื่อนเพื่อตั้งค่าความเร็วของคุณเอง พื้นที่หรือกระโดดล้างแคคตัส



เปิด JavaScript เพื่อเล่น คุณยังอ่านกฎและเปิดดูซอร์สโค้ดด้านล่างได้

[เปิดห้องปฏิบัติการความเร็ว→](https://rea.tools/th/examples/dino-lab/)

ดูสคริปต์การตรวจสอบและวิธีการลองวิเคราะห์

ตรวจสอบเป้าหมาย: [วายู Chromium-รุ่นเบราว์เซอร์ที่ได้มา](https://wayou.github.io/t-rex-runner/).

REA \*โหลด index.js \*สายที่เลือก

```
if (this.currentSpeed < this.config.MAX_SPEED) {
  this.currentSpeed += this.config.ACCELERATION;
}
```

เริ่มที่ 6 เพิ่ม 0.001 แต่ละการปรับปรุงโดยไม่ต้องปะทะกันในขณะที่ความเร็วอยู่ด้านล่าง 13.

สิ่งที่แต่ละส่วนทำ

1. 01 · REA

   อ่านสคริปต์เกมที่ทำงาน

   คืนโค้ดและการตั้งค่าจริงให้กับเอเจนต์
2. 02·ตัวแทนของคุณ

   สร้างกฎใหม่เพิ่มตัวควบคุม

   ใช้การเร่งการกู้คืนในเกมขนาดเล็กที่มีการเลื่อนความเร็ว
3. 03·คุณ

   เปลี่ยนความเร็วและเล่น

   ลองเร่งเดิมแล้วเลือกก้าวของคุณเอง

REA ตรวจสอบรุ่นเบราว์เซอร์ผ่านการเชื่อมต่อดีบักท้องถิ่นและส่งกลับโหลด `index.js` รวมทั้งแหล่งที่มาและย่อย

การตั้งค่าที่เลือกจากสคริปต์ที่ตรวจสอบแล้ว

```
ACCELERATION: 0.001,
MAX_SPEED: 13,
SPEED: 6
```

เราเรียกว่าฟังก์ชั่นการปรับปรุงเกมเดิมในการตรวจสอบเบราว์เซอร์ควบคุมกับอุปสรรค หลังจาก 4,000 ปรับปรุงความเร็ว 10.0;หลังจาก 10,000 มันเป็น 13.0 ปัดเศษให้เป็นหนึ่งทศนิยม

มินิเกมใหม่ช่วยให้กฎความเร็วที่ การวาดภาพการกระโดดและรหัสการชนกันคือการดำเนินการเรียนการสอนขนาดเล็ก [เปิดห้องแล็บ](https://rea.tools/th/examples/dino-lab/) เพื่อดูรหัสใหม่และเรียกใช้การตรวจสอบความเร็วเดียวกัน

เพื่อตรวจสอบเป้าหมายด้วยตัวคุณเองตาม [ขั้นตอนการเชื่อมต่อเบราว์เซอร์](https://rea.tools/th/guides/browser/#prepare) ใช้ [หน้าไดโนเสาร์](https://wayou.github.io/t-rex-runner/). ณแล้วคัดลอกพร้อมท์ข้างต้น.

[ตรวจสอบรหัสความเร็ว](https://github.com/wayou/t-rex-runner/blob/5455bfa408ec6b707c7300ff194b7390733a766d/index.js#L565-L571) · [Chromium ผู้เขียน·ใบอนุญาตบีเอส](https://rea.tools/assets/licenses/dinosaur.txt)

ตัวอย่าง 02\*Windowsเครื่องคิดเลข

## สร้างปุ่ม % ของเครื่องคิดเลขขึ้นใหม่

ปุ่ม % ทำงานต่างกันหลัง + และ × มาหากฎทั้งสองแล้วลองในเครื่องคิดเลขเล็ก ๆ กัน

### 1. ถามเรื่องปุ่ม %

ตัวอย่างคำถาม · เครื่องคิดเลข

ใช้ REA เพื่อตรวจสอบ Windows ปุ่ม%ของเครื่องคิดเลข กู้คืนกฎหลังจาก+และ×แล้วสร้างเครื่องคิดเลขขนาดเล็กที่ใช้ทั้งสอง

### 2. หากฎทั้งสอง

REA ช่วยให้เอเจนต์อ่านโค้ดที่อยู่เบื้องหลังปุ่ม % โค้ดนี้ใช้กฎสองแบบ:

ด้วย+
:   เอา 10%ของเลขแรก`10% of 200 = 20 → 200 + 20 = 220`

กับ×
:   เปลี่ยน 10%เป็น 0.1`200 × 0.1 = 20`

### 3. ลองปุ่ม %

เราสร้างกฎทั้งสองขึ้นใหม่ด้านล่าง เลือก + หรือ × กด % แล้วกด =

200 +
**20**

10%ของ 200=20. จากนั้น 200+20=220

ภาพประกอบโต้ตอบของกฎร้อยละตรวจสอบ

ดูรหัสจริงและวิธีการตรวจสอบคำตอบ

สำหรับตัวอย่างนี้, `previous = 200` และ `current = 10`.

สรุปที่สามารถอ่านได้ของตัวจัดการ%

```
if (operation == multiply || operation == divide) {
  percent = current / 100;
} else {
  percent = current * previous / 100;
}
```

จากแอปที่ติดตั้งไปยังปุ่ม%การทำงาน

1. 01 · REA อ่าน calc.exe

   มันเปิดตัวแอพพลิเคเครื่องคิดเลข

   รหัสเปิด `ms-calculator:`. จากนั้นเอเจนต์จะเลือกไลบรารีของแอปที่ติดตั้งไว้
2. 02 · REA อ่านห้องสมุด

   คืนรหัสตัวจัดการ%ของ

   ฟังก์ชั่นตรวจสอบผู้ประกอบการและใช้ค่าคงที่ `100`.
3. 03·ตัวแทนของคุณตีความมัน

   อธิบายและทำซ้ำกฎ

   ตรวจสอบสาขาที่มีแหล่งที่มาของไมโครซอฟท์,แล้วลอง+และ×ข้างต้น.

REA \*เลือกคำแนะนำเดิม

```
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
```

ตรวจสอบด้วย REA 4.1.0: Windows เครื่องคิดเลข 11.2508.4.0 เท่า 64 สรุปสามารถอ่านได้ใช้ชื่อจากแหล่งสาธารณะของไมโครซอฟท์เพื่ออธิบายสาขาที่กู้คืน

[การดำเนินงานร้อยละ](https://github.com/microsoft/calculator/blob/d125246a4e19842ce1332e6c7839cf0e110027d8/src/CalcManager/CEngine/scifunc.cpp#L98-L111) · [กรณีทดสอบของไมโครซอฟท์](https://github.com/microsoft/calculator/blob/d125246a4e19842ce1332e6c7839cf0e110027d8/src/CalculatorUnitTests/CalculatorManagerTest.cpp#L350-L370) · [คู่มือการติดตั้งพื้นเมือง](https://rea.tools/guides/native/)

## REA กรณีศึกษา

สำรวจฟีเจอร์ในแอปหรือเกมที่เผยแพร่แล้ว พร้อมโค้ดและผลที่ตรวจสอบแล้ว

[โชว์เคส→](https://rea.tools/th/showcase/)

แอนดรอยด์ · APK การวิเคราะห์

### วิธีที่ผู้รับรองความถูกต้องสร้างรหัสล็อกอิน

ตามการสร้างรหัสเข้าสู่ระบบหกหลักของ Aegis ใน APK ที่เผยแพร่ แล้วเลื่อนนาฬิกาสาธิตเพื่อดูว่าทำไมรหัสจึงเปลี่ยนทุก 30 วินาที

[อ่านกรณีศึกษาAndroid](https://rea.tools/showcase/aegis/)

Electron\*การติดตามคุณลักษณะ

### ยังไง Notion คัดลอกข้อความและเอชทีเอ็ม

ตาม JavaScript ที่บรรจุใน Notion ไปถึงคลิปบอร์ดของระบบ และดูว่าการคัดลอกเก็บข้อมูลบล็อกแบบสมบูรณ์ไว้อย่างไร

[อ่าน Notion กรณีศึกษา](https://rea.tools/th/showcase/notion/)

พื้นเมือง\*ฟื้นฟู

### DX-Ballการคำนวณเสียงแพน

หาว่าตำแหน่งลูกบอลกลายเป็นเสียงด้านซ้ายหรือขวาอย่างไรในเกม Windows ปี 1996

[อ่าน DX-Ball กรณีศึกษา](https://rea.tools/th/showcase/dx-ball/)

## สร้างสภาพแวดล้อม RL

เปลี่ยนเซสชันเว็บแอปที่บันทึกไว้เป็นสภาพแวดล้อมที่รันได้สำหรับฝึกและทดสอบเอเจนต์ AI

เอเจนต์จะบันทึกคำขอจากเบราว์เซอร์และคำตอบจากแอป REA ใช้ข้อมูลนี้สร้างสภาพแวดล้อมในเครื่อง เพื่อให้เอเจนต์ฝึกทำงานได้โดยไม่ต้องเปิดแอปต้นฉบับ

หากต้องการรองรับการลบโฟลเดอร์ บันทึกต้องแสดงโฟลเดอร์ก่อนลบและยืนยันว่าหลังลบแล้วไม่มีโฟลเดอร์นั้นอยู่

[คู่มือสร้างสภาพแวดล้อม](https://rea.tools/guides/rl-environments/) · [ชมเดโมบน X](https://x.com/reatools/status/2112574822584918075?s=20)

เมื่อตั้งค่า REA ในเอเจนต์แล้ว ให้เปลี่ยน URL และงานเกี่ยวกับโฟลเดอร์ในตัวอย่างให้ตรงกับแอปของคุณ:

ตัวแทนการเข้ารหัสของคุณ

ใช้ REA สร้างสภาพแวดล้อม RL จากเว็บแอปทดสอบของฉันที่ `http://127.0.0.1:3000` ครอบคลุมการแสดงรายการ สร้าง เปลี่ยนชื่อ และลบโฟลเดอร์ อนุญาตให้สร้างและลบโฟลเดอร์ทดสอบ แต่ห้ามเปลี่ยนข้อมูลที่มีอยู่ บันทึกในโฟลเดอร์ชื่อ `my-env` ตรวจสอบว่างานใดใช้ได้ และบอกวิธีรันให้ฉันทราบ

ตัวอย่างคำสั่ง เปลี่ยน URL และงานเกี่ยวกับโฟลเดอร์ให้ตรงกับแอปของคุณ

การสืบสวนครั้งแรกของคุณ

## ลองดู REA บนแอปขนาดเล็ก

ดาวน์โหลดตัวอย่างบันทึกของเรา,ติดตามของ CSV ส่งออกและตรวจสอบการป้อนข้อมูลที่มีการเปลี่ยนแปลงอย่างใดอย่างหนึ่ง

[ลองตัวอย่างที่แนะนำ](https://rea.tools/th/first-investigation/)

## เลือกเป้าหมายของคุณ

คู่มือเหล่านี้ครอบคลุมการตั้งค่าและการตรวจสอบครั้งแรกสำหรับซอฟต์แวร์แต่ละประเภท

### โปรแกรมเครื่องรหัส

ตรวจสอบฟังก์ชัน,สตริง,การอ้างอิงและเรียกฟังก์ชันความสัมพันธ์ในปฏิบัติการและไลบรารี.

[คู่มือการวิเคราะห์โปรแกรมเครื่องรหัส](https://rea.tools/guides/native/)

### JavaScript & Electron

ติดตามโค้ดภายในแอปเดสก์ท็อปที่เขียนด้วย JavaScript

[เวิร์กโฟลว์แอ็พพลิเคชัน](https://rea.tools/guides/javascript/)

### เบราว์เซอร์และรันไทม์กิจกรรม

จับภาพกิจกรรมของเบราว์เซอร์หรือกระบวนการที่เลือกแล้วเปรียบเทียบผลลัพธ์ข้ามรัน

[คู่มือการสังเกตเบราว์เซอร์](https://rea.tools/th/guides/browser/)

ลองโครงการที่ใหญ่ขึ้น

ตัวอย่างพรอมต์\*เว็บไซต์

ใช้ REA เพื่อตรวจสอบ https://rea.tools/. โคลนเว็บไซต์นี้สำหรับฉัน.

ใช่อันนี้

ตัวอย่างพรอมต์\*ฟื้นฟูเกม

ใช้ REA เพื่อสร้างเกมนี้จากการปฏิบัติการของ กู้คืนตรรกะการเล่นเกมในซีและทดสอบกับเดิม

[ดู DX-Ball กรณีศึกษา→](https://rea.tools/th/showcase/dx-ball/)

## มีคำถามไหม?

[อ่าน FAQ](https://rea.tools/th/faq/) สำหรับวิธีตั้งค่าและคำตอบของคำถามที่พบบ่อย

[เข้าร่วม Discord](https://discord.gg/GkcryMnJDM) เพื่อขอความช่วยเหลือและพูดคุยเกี่ยวกับการวิเคราะห์ของคุณ

รายงานบั๊กหรือขอฟีเจอร์ใน [GitHub Issues](https://github.com/morluto/rea/issues/new/choose)
