สตูดิโอถ่ายภาพ 4 – วิศวกรรมย้อนกลับคอมไพเลอร์

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 คุณควรอ่านข้อความของกรณีดังต่อไปนี้:

นอกจากนี้ยัง อ่าน การอภิปรายเกี่ยวกับความชอบด้วยกฎหมายของการใช้โปรแกรมจำลองการเรียกใช้โปรแกรมไบนารีในพื้นที่ที่แตกต่างกัน

สปอนเซอร์ถนนซอฟต์แวร์ไม่รองรับการใช้งานของเครื่องมือวิศวกรรมย้อนกลับเพื่อวัตถุประสงค์ที่ผิดกฎหมาย


ลิขสิทธิ์ © 1997 – 2015 Backer ซอฟแวร์ถนน