ส่วนที่ 3 เครื่องมือถอดรหัส Delphi
วิศวกรรมย้อนกลับถือเป็นศิลปะที่สงวนไว้สำหรับพ่อมดทางเทคนิคมาโดยตลอด ซึ่งต้องการความคุ้นเคยกับภาษาแอสเซมบลีและดีบักเกอร์ ตัวถอดรหัส Delphi ต่อไปนี้อนุญาตให้ใครก็ตามสามารถถอดรหัสไฟล์ปฏิบัติการ Delphi ส่วนใหญ่ได้ แม้ว่าจะมีความรู้ทางเทคนิคที่จำกัดก็ตาม
หากคุณสนใจโปรแกรมวิศวกรรมย้อนกลับ Delphi ฉันขอแนะนำให้คุณดู "ตัวถอดรหัส" ต่อไปนี้:
เดเด
DeDe เป็นโปรแกรมที่รวดเร็วมากสำหรับการวิเคราะห์ไฟล์ปฏิบัติการที่คอมไพล์ของ Delphi หลังจากการคอมไพล์แล้ว DeDe จะให้ข้อมูลต่อไปนี้:
เรเวนเดโปร
Revendepro สามารถค้นหาโครงสร้างเกือบทั้งหมดในโปรแกรม (คลาส ประเภท โพรซีเดอร์ ฯลฯ) และสร้างนิพจน์ปาสคาล และโพรซีเจอร์ต่างๆ จะถูกเขียนในรูปแบบของแอสเซมเบลอร์ เนื่องจากข้อจำกัดบางประการของแอสเซมเบลอร์ ผลลัพธ์ที่สร้างขึ้นจึงไม่สามารถคอมไพล์ได้ ซอร์สโค้ดของตัวถอดรหัสนี้มีให้ใช้งานได้อย่างอิสระ น่าเสียดายที่นี่เป็นตัวถอดรหัสตัวเดียวที่ฉันไม่สามารถใช้ได้ - ฉันได้รับข้อยกเว้นเมื่อพยายามถอดรหัสไฟล์ปฏิบัติการ Delphi บางตัวด้วย
เอ็มอาร์ไอพี
ตัวแยกไฟล์ที่สร้างขึ้นโดยเฉพาะนี้สามารถค้นหาและแตกไฟล์จากไฟล์อื่นได้ MRIP แยกไฟล์ได้มากกว่า 100 รูปแบบ สิ่งที่สำคัญที่สุดสำหรับเราคือ MRipper สามารถถอดรหัสไฟล์ปฏิบัติการ Delphi ใด ๆ ได้ เครื่องมือนี้สามารถแยกทรัพยากรทั้งหมดจากแอปพลิเคชัน Delphi: เคอร์เซอร์ (เคอร์เซอร์), ไอคอน (ไอคอน), ไฟล์ dfm, ไฟล์ pas และทรัพยากรอื่น ๆ ไฟล์ Pas ไม่มีการดำเนินการตามขั้นตอนเหตุการณ์ MRIP เป็นเครื่องมือ DOS
DfmExplorer
นี่คือคำอธิบายของ DfmExplorer (รวมถึงแหล่งข้อมูล):
Exe2Dpr
หากคุณกำลังพยายามคลายซอร์สโค้ดของโปรเจ็กต์ ผู้ช่วยเหลือซอร์สโค้ดของโปรเจ็กต์ Delphi นี้สามารถช่วยเหลือส่วนของซอร์สโค้ดที่หายไปได้ ผู้ช่วยชีวิตจะสร้างแบบฟอร์มโครงการและโมดูลข้อมูลทั้งหมดที่มีคุณสมบัติและเหตุการณ์ที่ได้รับมอบหมาย ขั้นตอนเหตุการณ์ที่สร้างขึ้นไม่มีโปรแกรมหลัก (ไม่ใช่ตัวถอดรหัส) แต่อยู่ที่ที่อยู่รหัสในไฟล์ปฏิบัติการ เครื่องมือนี้ไม่มี GUI - ใช้รูปแบบบรรทัดคำสั่ง: 'exe2dpr [-o] exeFile' ซอร์สโค้ดของโปรเจ็กต์ถูกสร้างขึ้นในไดเร็กทอรีปัจจุบัน หากคุณต้องการเขียนทับไฟล์ที่มีอยู่ในไดเร็กทอรีปัจจุบัน ให้ใช้ตัวเลือก '-o'