Source page: http://www.backerstreet.com/rec/rec.htm
REC สตูดิโอเป็น Decompiler โต้ตอบ
มันอ่านที่ใช้ Windows, Linux, Mac OS X หรือแฟ้มที่ปฏิบัติการดิบและพยายามที่จะผลิตเป็นตัวแทน C-เช่นโค้ดและข้อมูลที่ใช้ในการสร้างแฟ้มที่ปฏิบัติการ
มันได้รับการออกแบบมาเพื่ออ่านไฟล์ผลิตสำหรับเป้าหมายที่แตกต่างกันและจะได้รับการรวบรวมในระบบโฮสต์หลาย
สตูดิโอถ่ายภาพ 4 เป็นสมบูรณ์เขียนของ Decompiler REC เดิม จะใช้เทคนิคการวิเคราะห์ที่มีประสิทธิภาพมากขึ้นเช่นบางส่วนของ USPTO เดี่ยวแบบคงที่ (SSA) ช่วยให้การโหลดไฟล์ Mac OS X และสนับสนุน 32 และ 64 บิตไบนารี
แต่ยังอยู่ ภายใต้การพัฒนา มันได้ถึงขั้นที่ทำให้มันมีประโยชน์มากขึ้นกว่าเดิม Rec สตูดิโอ 2
Rec สตูดิโอ 2 หน้า ที่นี่
เป็นที่กล่าวถึง Rec สตูดิโอ 4 ยังอยู่ภายใต้การพัฒนา คุณสมบัติอิสระเป้าหมายส่วนใหญ่ได้รับการเสร็จเช่น:
- โฮสต์หลายแห่ง: Rec สตูดิโอทำงานบน Windows XP/Vista/7, Ubuntu Linux, Mac OS X
- สนับสนุนข้อมูลโดยใช้สัญลักษณ์ แคระ 2 และการรับรู้บางส่วนของ PDB ไมโครซอฟท์รูปแบบ
- C ++ ได้รับการยอมรับบางส่วน: ชื่อ mangled สร้างโดย GCC จะ demangled เช่นเดียวกับมรดกที่อธิบายไว้ใน dwarf2 ได้รับเกียรติ อย่างไรก็ตาม, C ++ เป็นภาษาที่กว้างมากและยากดังนั้นคุณสมบัติบางอย่างเช่นแม่จะไม่น่าจะได้รับการสนับสนุนเท่าที่เคย
- ประเภทและฟังก์ชั่นคำจำกัดความต้นแบบสามารถระบุได้ในไฟล์ข้อความ บางมาตรฐาน Posix และ Windows API ที่มีบัญญัติไว้แล้วในแพคเกจ Rec สตูดิโอ
- การโต้ตอบได้รับการสนับสนุน จำกัด ให้ความหมายของส่วนป้ายชื่อและจุดเข้าฟังก์ชั่น จะต้องมีการปรับปรุงให้ดีขึ้นเพื่อสนับสนุนความละเอียดในโปรแกรมประเภทและพารามิเตอร์ฟังก์ชั่น
ตารางนี้แสดงคุณลักษณะเป้าหมายเฉพาะที่ได้รับการดำเนินการจนถึงขณะนี้:
ลักษณะ | x86 (ia32) | x86_64 | MIPS | PowerPC | mc68k | แขน |
disassembler | เสร็จสิ้น | เสร็จสิ้น | เสร็จสิ้น | เสร็จสิ้น | เสร็จสิ้น | วางแผน |
PE COFF รถตักดิน | เสร็จสิ้น | เสร็จสิ้น | n / a | n / a | n / a | n / a |
เอลฟ์รถตักดิน | เสร็จสิ้น | เสร็จสิ้น | เสร็จสิ้น | เสร็จสิ้น | เสร็จสิ้น | วางแผน |
คอฟรถตักดิน | เสร็จสิ้น | n / a | n / a | n / a | เสร็จสิ้น | n / a |
Mac OS X รถตักดิน | เสร็จสิ้น | เสร็จสิ้น | n / a | วางแผน | n / a | วางแผน |
ข้อมูลสัญลักษณ์ Dwarf2 | เสร็จสิ้น | เสร็จสิ้น | เสร็จสิ้น | เสร็จสิ้น | n / a | วางแผน |
ข้อมูลสัญลักษณ์ COFF | วางแผน | n / a | n / a | n / a | วางแผน | n / a |
โทรประชุม | กำลังดำเนินการ | กำลังดำเนินการ | กำลังดำเนินการ | วางแผน | วางแผน | วางแผน |
32 และ 64 บิต | กำลังดำเนินการ | กำลังดำเนินการ | n / a | n / a | n / a | n / a |
จุดลอยตัว | วางแผน | วางแผน | n / a | n / a | n / a | n / a |
ดีบักเกอร์หน้าต่าง | กำลังดำเนินการ | วางแผน | n / a | n / a | n / a | n / a |
ดีบัก gdb | กำลังดำเนินการ | กำลังดำเนินการ | n / a | n / a | n / a | n / a |
แหล่งที่มาถ่ายภาพเป็น ไม่ได้ อยู่ในโดเมนสาธารณะ
แม้ว่า REC สามารถอ่าน Win32 ปฏิบัติการ (aka PE) ไฟล์ที่ผลิตโดย Visual C ++ หรือ Visual Basic 5 มีข้อ จำกัด ในการส่งออกที่ผลิต REC จะพยายามที่จะใช้ข้อมูลอะไรก็ตามที่มีอยู่ในตารางสัญลักษณ์ .EXE หาก EXE ไฟล์ถูกรวบรวมโดยไม่ต้องแก้จุดบกพร่องข้อมูลถ้าไฟล์ฐานข้อมูลโปรแกรม (.PDB) หรือ CodeView รูปแบบ (C7) ถูกนำมาใช้หรือถ้าตัวเลือกเพิ่มประสิทธิภาพของคอมไพเลอร์ที่ถูกเปิดใช้งานการส่งออกที่ผลิตจะไม่ดีมาก นอกจากนี้ขั้นพื้นฐาน 5 ไฟล์ปฏิบัติการภาพมีส่วนผสมของ Subroutine รหัสและ แบบฟอร์ม ข้อมูล มันเป็นไปไม่ได้เกือบสำหรับบันทึกเพื่อตรวจสอบซึ่งเป็นที่ ตัวเลือกเดียวคือการใช้ไฟล์ .cmd และระบุด้วยตนเองซึ่งพื้นที่เป็นรหัสและพื้นที่ที่เป็นข้อมูล
ในทางปฏิบัติเท่านั้น C ไฟล์ปฏิบัติการผลิตออก
คอมไพเลอร์ อื่น ๆ อีกหลายที่มีอยู่จากแหล่งต่างๆ ฉันมองไปที่ หน้าวิศวกรรมย้อนกลับ สำหรับรายการ
แต่น่าแปลกใจที่สถาปัตยกรรมภายในของ Decompiler เป็นอย่างคล้ายกับที่ของคอมไพเลอร์ วรรณกรรมที่มีคุณภาพสูงที่มีอยู่สำหรับทั้งสอง ออกแบบหมายเหตุ หน้ามีข้อมูลเกี่ยวกับปัญหาที่เป็นนักเขียน Decompiler ใบหน้าเมื่อพยายามที่จะแยกโปรแกรมที่ซับซ้อนมากขึ้นกว่าการทดสอบหน่วยที่เรียบง่าย การรวบรวม หน้ามีการเชื่อมโยงและเอกสารที่เกี่ยวข้องกับการ คอมไพเลอร์ ทั่วไป
วิทยานิพนธ์ปริญญาเอกไมค์แวน Emmerik ของ อย่างมีนัยสำคัญขั้นสูงด้านการ การรวบรวม โดยสรุปการแก้ปัญหาสำหรับปัญหาพื้นฐานใน การรวบรวม ของโปรแกรมไบนารี
Cristina Cifuentes ย้อนกลับวิทยานิพนธ์ปริญญาเอกรวบรวมเทคนิค ‘อธิบายในรายละเอียดของทฤษฎีและการดำเนินงานของ Decompiler DCC สำหรับ 8086 โปรแกรม DOS
Wotsit หน้ามีการเชื่อมโยงไปยังรายละเอียดของรูปแบบไฟล์วัตถุเช่นคอฟและเอลฟ์
แนวความคิดบางอย่างที่เกี่ยวข้องกับการวิเคราะห์รหัสได้รับความคุ้มครองใน การอ้างอิงดีบักเกอร์ หน้า
หนังสือพื้นฐานอื่น ๆ ที่ผมใช้ในระหว่างการพัฒนาคือ:
- “คอมไพเลอร์ – หลักการเทคนิคและเครื่องมือ” เศรษฐี Ullman 1986 Addison-Wesley สำนักพิมพ์ ISBN 0-201-10088-6
- “การออกแบบขั้นสูงคอมไพเลอร์และการดำเนินงาน” สตีเว่น Muchnick 1997 มอร์แกน Kaufmann ผู้เผยแพร่ ISBN 1-55860-320-4
- “วิธีแก้จุดบกพร่องทำงาน – อัลกอริทึม, โครงสร้างข้อมูลและสถาปัตยกรรม” โจนาธาน Rosemberg 1996 จอห์นไวลีย์และบุตร ISBN 0-471-14966-7
disassemblers ที่ใช้ในการถ่ายภาพถูกนำมาจากแหล่งต่างๆ แฟ้ม copyrite ในการจัดจำหน่ายมีรายชื่อของเครดิตสำหรับแต่ละ disassemblers ที่ใช้ในการถ่ายภาพ ส่วนที่เหลือของรหัสที่เขียนขึ้นโดย ตัวเอง ในช่วง 25 ปีที่ผ่าน ฉันจะยังคงปรับปรุงการถ่ายภาพในเวลาว่างของฉัน แต่ฉันไม่สามารถรับประกันได้ว่าฉันสามารถแก้ไขข้อบกพร่องหรือเพิ่มคุณสมบัติใหม่โปรเซสเซอร์หรือโฮสต์
มีจำนวนมากของการอภิปรายเกี่ยวกับความชอบด้วยกฎหมายของ การรวบรวม คือ เครื่องมือ Decompiler ได้รับการบริการที่หลากหลายของแพลตฟอร์มเป็นเวลานาน คอมไพเลอร์ พร้อมกับเครื่องมืออื่น ๆ เช่น debuggers บรรณาธิการไบนารี disassemblers ฯลฯ ควรใช้เฉพาะเมื่อเจ้าของของโปรแกรมมีสิทธิตามกฎหมายที่จะทำวิศวกรรมย้อนกลับโปรแกรม
มันได้รับการจัดตั้งขึ้นโดยศาลในสหรัฐอเมริกาและประเทศอื่น ๆ ว่ามันเป็นกฎหมายที่จะใช้ คอมไพเลอร์ ภายใต้การใช้งานข้อยุติธรรมของกฎหมายลิขสิทธิ์
เพื่อหาข้อมูลเมื่อมันเป็นกฎหมายที่จะใช้ Decompiler คุณควรอ่านข้อความของกรณีดังต่อไปนี้:
- เซก้า Enterprises Ltd v. Accolade, Inc
- Atari เกมส์คอร์ป. นเทนโดอเมริกาอิงค์
นอกจากนี้ยัง อ่าน การอภิปรายเกี่ยวกับความชอบด้วยกฎหมายของการใช้โปรแกรมจำลองการเรียกใช้โปรแกรมไบนารีในพื้นที่ที่แตกต่างกัน
สปอนเซอร์ถนนซอฟต์แวร์ไม่รองรับการใช้งานของเครื่องมือวิศวกรรมย้อนกลับเพื่อวัตถุประสงค์ที่ผิดกฎหมาย
ลิขสิทธิ์ © 1997 – 2015 Backer ซอฟแวร์ถนน