คำนวณตำแหน่งเสียงสเตอริโอซ้าย/ขวา
ใน DX-Ball อิฐตีวัสดุตำแหน่งหน้าจอแนวนอน รหัสเสียงเปลี่ยนมันเป็นค่าแพนซ้าย/ขวา
ฟังก์ชั่นเริ่มต้น, 0x00406400 มีผลแยกคอมไพเลอร์สั้น:เรียกฟังก์ชันไป __ftol(). REA งกลับคำแนะนำและเรียกฟังก์ชันซึ่งให้ตัวแทนวิธีการตรวจสอบเลขคณิตที่ขาดหายไป
ใหม่กับเงื่อนไขเหล่านี้?
-
การแนะนำ: ขั้นตอนที่ตัวประมวลผลทำงานแสดงในรูปแบบที่สามารถอ่านเช่น
MOVหรือADD. - ผลลัพธ์การถอดคอมไพเลอร์/รหัสปลอม: ความพยายามของเครื่องมือวิเคราะห์เพื่อเปิดคำแนะนำกลับเป็นโค้ดเหมือนซี มันสามารถพลาดชิ้นส่วนเช่นเดียวกับในตัวอย่างนี้
- ฟังก์ชันที่เรียก: ฟังก์ชันที่เรียกอันนี้ จะแสดงค่าที่จะส่งผ่านใน
-
ที่อยู่: ตำแหน่งในโปรแกรมเขียนในเลขฐานสิบหกเช่น
0x00406400. - ค่าคงที่: ตัวเลขคงที่เก็บไว้ในโปรแกรมอ่านเป็นไบต์ดิบและถอดรหัส
สามชิ้นของหลักฐานหนึ่งการคำนวณ
- 01·คำแนะนำอินพุตจำนวนเต็มสแต็คอ่านให้ค่าที่ใช้โดยคำแนะนำจุดลอยตัว
-
02·ฟังก์ชันที่เรียกพิกัดหน้าจอฟังก์ชั่นอิฐตีที่เรียกฟังก์ชันนี้ผ่าน
20 + 30 × tile_x. -
03·ไบต์ข้อมูลค่าคงที่เป็นตัวเลขไบต์อ้างอิงถอดรหัสไป
1.5625,500.0และค่าสเกล
pan = (x × 1.5625 − 500.0) × scale
ถามเกี่ยวกับพฤติกรรม
หลังจาก การเชื่อมต่อ REA ถึงตัวแทนของคุณ และ การตั้งค่าเครื่องมือวิเคราะห์พื้นเมือง ให้ปฏิบัติการในท้องถิ่นและคำถาม:
ฉันควรใช้เครื่องมือวิเคราะห์ใด
REA การศึกษาและการติว,อังกฤษ(สหราชอาณาจักร),อังกฤษ(สหรัฐอเมริกา):
- Hopper (macOS หรือ Linux): REAการติดตั้งของตรวจพบหรือมีการติดตั้ง บน macOS,เปิด Hopper ครั้งเดียวและเลือกโหมดการสาธิตหรือเปิดใช้งานใบอนุญาตก่อนการวิเคราะห์ครั้งแรกข
- Ghidra (macOS หรือ Linux การทดลอง Windows):ฟรีแต่ต้องการที่มีอยู่ Ghidra 12.1.64 บิตเจดีเค 21 หรือใหม่กว่า
- IDA (Windows):สำหรับที่มีอยู่ IDA การติดตั้งด้วย MCP ลงทะเบียน
เห็นมั้ย ตั้งค่าการวิเคราะห์โปรแกรมเครื่องรหัส สำหรับขั้นตอน
ใช้ REA เพื่อหาวิธีการ DX-Ball คำนวณเสียงแพน อธิบายการคำนวณและแสดงรหัส
รือไม่ ให้ตัวแทนของคุณเส้นทางไปยังท้องถิ่นของคุณ DX-Ball 1.07 ปฏิบัติการ REA ไม่รวม DX-Ball เพื่อใช้สำเนาของคุณเองหรือถามชนิดเดียวกันของคำถามเกี่ยวกับขนาดเล็กอื่น Windows โปรแกรมที่คุณมี
ฉันจะได้รับเส้นทางเต็มของแฟ้มได้อย่างไร
- Windows: ในสำรวจแฟ้มให้คลิกขวาที่แฟ้มแล้วเลือก คัดลอกเป็นเส้นทาง. บน Windows 10 กดค้างไว้ในขณะที่การคลิกขวา
- macOS: ในการค้นหาให้คลิกขวาที่แฟ้มค้างไว้และเลือก คัดลอก"..."เป็นชื่อพาธ.
- ระบบใดๆ: ลากไฟล์ลงในหน้าต่างเทอร์มินัลและเส้นทางของมันจะปรากฏขึ้น
อ่าน REA ผลลัพธ์
อ่านข้อมูล
MOV EAX, dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0xc], EAX
FILD dword ptr [EBP + -0xc]
คำแนะนำโหลดอาร์กิวเมนต์จำนวนเต็มและแปลงสำหรับเลขคณิตจุดลอยตัว นี่คือการป้อนข้อมูลที่ขาดจากมุมมองหลอกแรก
ติดตามฟังก์ชันที่เรียก
ADD EAX, 0x14
PUSH EAX
CALL 0x00406400
REA ระบุตัวฟังก์ชันที่เรียกหาอิฐ คำแนะนำก่อนหน้านี้คูณกระเบื้องประสานงานด้วย 30;เพิ่ม 0x14 (20)ให้ตำแหน่งหน้าจอของอิฐ
อ่านค่าคงที่อ้างอิง
0x420068 000000000000f93f → 1.5625
0x420070 0000000000407f40 → 500.0
0x4210a0 000000000000f03f → 1.0
คณิตศาสตร์อ้างอิงที่อยู่เหล่านี้ การอ่านไบต์เป็นค่าจริงลำดับคำสั่งจะบอกเอเจนต์ว่ามีการใช้งานอย่างไร
เขียนและตรวจสอบฟังก์ชั่นการกู้คืน
pan = (double)x;
pan = pan * 1.5625;
pan = pan - 500.0;
pan = pan * dxball_pan_scale;
return (DxBallInt)pan;
ด้วยขนาด 1.0 ตำแหน่งหน้าจอ 0,320 และ 640 แผนที่ -500,0 และ 500 ก่อนที่จะแปลงจำนวนเต็ม การคำนวณทำให้ศูนย์กลางของหน้าจอที่ศูนย์กลางของสนามสเตอริโอ
ตัวแทนที่ใช้ REAการค้นพบที่จะเขียนซีตรวจสอบแยกต่างหากเมื่อเทียบกับ 3,205 ปัจจัยการผลิตกับเดิม 86 ฟังก์ชั่นแ
เครื่องชั่งสำหรับธุรกิจค้าปลีกอาหารเครื่องชั่งคิดราคาเครื่องชั่งติดป้ายราคา
ลองใช้ไบนารีของคุณเอง
เชื่อมต่อการวิเคราะห์ผู้ให้บริการโปรแกรมเครื่องรหัส แล้วให้ตัวแทนของคุณปฏิบัติการในท้องถิ่นหรือห้องสมุดและคุณลักษณะในการตรวจสอบ คำถามเริ่มต้นที่มีประโยชน์รวมถึง"วิธีการคือไฟล์นี้แยก?"หรือ"ฟังก์ชั่นใดที่จัดการกับการกระทำของเมนูนี้”
ถ้าคุณรู้อยู่แล้วว่าชื่อฟังก์ชั่นหรือที่อยู่คุณสามารถสอบถามได้จากขั้ว สำหรับการกำหนดค่า Ghidra การติดตั้ง:
npx -y rea-agents@latest function /absolute/path/to/program main \
--provider ghidra --json
แทนที่เส้นทางเป้าหมายและ main ที่มีชื่อฟังก์ชั่นของคุณเองหรือที่อยู่ แต่ละ CLI การอิมพอร์ตการเรียกใช้และการวิเคราะห์ไบนารีแล้วปิดเซสชัน ตัวแทนของคุณ MCP การสืบค้นข้อมูลใช้ไบนารีที่นำเข้าอีกครั้งในขณะที่เซสชันนั้นเปิดอยู่
อ่านโค้ดปลอมควบคู่ไปกับคำแนะนำและการอ้างอิง เมื่อผลลัพธ์ออกจากสายหรือค่าที่ยังไม่ได้รับการแก้ไขให้ใช้ตำแหน่งนั้นเป็นคำถามถัดไป