มีวิธีการตรวจจับ (หรือซ่อน) คอมไพเลอร์ที่ใช้ในการสร้างไฟล์ที่ปฏิบัติการได้หรือไม่?
มีวิธีการตรวจจับ (หรือซ่อน) คอมไพเลอร์ที่ใช้ในการสร้างไฟล์ที่ปฏิบัติการได้หรือไม่?
คำตอบ:
PEiDค่อนข้างดี
PEiD ตรวจจับผู้แบ่งบรรจุ, cryptors และ compilers ส่วนใหญ่สำหรับไฟล์ PE ปัจจุบันสามารถตรวจจับลายเซ็นได้มากกว่า 600 แบบในไฟล์ PE
PEiD มีความพิเศษในบางด้านเมื่อเปรียบเทียบกับตัวระบุอื่น ๆ ที่มีอยู่แล้ว!
- มันมี GUI ที่ยอดเยี่ยมและส่วนต่อประสานนั้นใช้งานได้ง่ายและเรียบง่าย
- อัตราการตรวจจับอยู่ในหมู่ที่ดีที่สุดที่กำหนดโดยตัวระบุอื่น ๆ
- โหมดการสแกนพิเศษสำหรับการตรวจจับขั้นสูงของไฟล์ที่แก้ไขและไม่รู้จัก
- การรวมเชลล์การสนับสนุนบรรทัดคำสั่งอยู่ด้านบนเสมอและความสามารถของ Drag'n'Drop
- การสแกนไฟล์และไดเรกทอรีหลายครั้งพร้อมการเรียกซ้ำ
- ตัวดูงานและตัวควบคุม
- ส่วนต่อประสานปลั๊กอินพร้อมปลั๊กอินเช่น Generic OEP Finder และ Krypto ANALyzer
- เทคนิคการสแกนพิเศษที่ใช้สำหรับการตรวจจับที่ดียิ่งขึ้น
- ตัวเลือกการสแกนแบบ Heuristic
- รายละเอียด PE ใหม่นำเข้าส่งออกและผู้ชม TLS
- สร้างขึ้นใหม่ใน disassembler ด่วน
- ใหม่ในตัวแสดงฐานสิบหก
- อินเตอร์เฟสลายเซ็นภายนอกที่ผู้ใช้สามารถอัพเดตได้
ลองใช้ยูทิลิตี้ * ระวังสตริง การใช้strings -a foo.exe
ควรสร้างผลลัพธ์จำนวนมาก เปลี่ยนเส้นทางไปยังไฟล์และตรวจสอบในโปรแกรมแก้ไขรายการโปรดของคุณ คุณอาจจะเห็นทั้งบรรทัดที่โดยตรง implicates คอมไพเลอร์ที่เฉพาะเจาะจงเช่นBorland C ++ - ลิขสิทธิ์ 2002 บอร์แลนด์คอร์ปอเรชั่น คุณอาจจะสามารถค้นหาบรรทัดที่บ่งบอกถึงคอมไพเลอร์เฉพาะที่ใช้เช่นในพา ธ รวมหรืออะไรก็ตาม
Strings ยังสามารถใช้ได้กับหน้าต่างเป็นส่วนหนึ่งของCygwinหรือเป็นส่วนหนึ่งของแพคเกจ sysinternals ไมโครซอฟท์
(เก่า แต่ก็โอเค .. )
ภาษา 2000 : http://farrokhi.net/language
ไม่ฟรี แต่ IDA Pro มีการตรวจจับคอมไพเลอร์ที่ดีมาก ไม่ใช่ฟังก์ชั่นหลักแน่นอน แต่เป็นสิ่งที่พิเศษมาก
หากคุณสามารถหาวิธีตรวจสอบไบต์แรกหรือมากกว่านั้นของไฟล์ EXE ในการดัมพ์แบบ hex ที่มีอักขระ ASCII ที่สอดคล้องกันแสดงขึ้นพวกเขามักจะระบุคอมไพเลอร์ที่ใช้
คุณสามารถใช้ "พึ่งพาวอล์คเกอร์" เพื่อตรวจสอบสิ่งที่ไลบรารีรันไทม์ที่ลิงก์ไป MSVCP100 คือ Microsoft Visual C ++ 2010 x86