ตรวจหาคอมไพเลอร์ที่ใช้สำหรับไฟล์ EXE


18

มีวิธีการตรวจจับ (หรือซ่อน) คอมไพเลอร์ที่ใช้ในการสร้างไฟล์ที่ปฏิบัติการได้หรือไม่?

คำตอบ:


12

PEiDค่อนข้างดี

PEiD ตรวจจับผู้แบ่งบรรจุ, cryptors และ compilers ส่วนใหญ่สำหรับไฟล์ PE ปัจจุบันสามารถตรวจจับลายเซ็นได้มากกว่า 600 แบบในไฟล์ PE

PEiD มีความพิเศษในบางด้านเมื่อเปรียบเทียบกับตัวระบุอื่น ๆ ที่มีอยู่แล้ว!

  1. มันมี GUI ที่ยอดเยี่ยมและส่วนต่อประสานนั้นใช้งานได้ง่ายและเรียบง่าย
  2. อัตราการตรวจจับอยู่ในหมู่ที่ดีที่สุดที่กำหนดโดยตัวระบุอื่น ๆ
  3. โหมดการสแกนพิเศษสำหรับการตรวจจับขั้นสูงของไฟล์ที่แก้ไขและไม่รู้จัก
  4. การรวมเชลล์การสนับสนุนบรรทัดคำสั่งอยู่ด้านบนเสมอและความสามารถของ Drag'n'Drop
  5. การสแกนไฟล์และไดเรกทอรีหลายครั้งพร้อมการเรียกซ้ำ
  6. ตัวดูงานและตัวควบคุม
  7. ส่วนต่อประสานปลั๊กอินพร้อมปลั๊กอินเช่น Generic OEP Finder และ Krypto ANALyzer
  8. เทคนิคการสแกนพิเศษที่ใช้สำหรับการตรวจจับที่ดียิ่งขึ้น
  9. ตัวเลือกการสแกนแบบ Heuristic
  10. รายละเอียด PE ใหม่นำเข้าส่งออกและผู้ชม TLS
  11. สร้างขึ้นใหม่ใน disassembler ด่วน
  12. ใหม่ในตัวแสดงฐานสิบหก
  13. อินเตอร์เฟสลายเซ็นภายนอกที่ผู้ใช้สามารถอัพเดตได้

4
"PEiD ตรวจพบคอมไพเลอร์ [... ] ที่พบบ่อยที่สุดสำหรับไฟล์ PE" นั่นคือสิ่งที่ readme พูดว่า - จริงๆแล้วมันไม่ได้บอกวิธีที่จะทำให้สำเร็จ
mbx

@Satya Note ลิงค์ที่รวมนั้นได้ตายไปแล้ว
DuckMaestro

@DuckMaestro อัพเดทลิงค์ใหม่ของทางเลือก
Sathyajith Bhat

หากไม่สามารถตรวจพบคอมไพเลอร์บางอย่างที่ไม่พบ [Overlay] *จะปรากฏขึ้นซึ่งจะทำให้เกิดความสับสนหากคุณใช้เครื่องมือนั้นเป็นครั้งแรก
mbx

"ไซต์ข้างหน้ามีโปรแกรมที่เป็นอันตราย" - Google Chrome นี่คือลิงค์ที่ดีกว่า
Ben N

8

ลองใช้ยูทิลิตี้ * ระวังสตริง การใช้strings -a foo.exe ควรสร้างผลลัพธ์จำนวนมาก เปลี่ยนเส้นทางไปยังไฟล์และตรวจสอบในโปรแกรมแก้ไขรายการโปรดของคุณ คุณอาจจะเห็นทั้งบรรทัดที่โดยตรง implicates คอมไพเลอร์ที่เฉพาะเจาะจงเช่นBorland C ++ - ลิขสิทธิ์ 2002 บอร์แลนด์คอร์ปอเรชั่น คุณอาจจะสามารถค้นหาบรรทัดที่บ่งบอกถึงคอมไพเลอร์เฉพาะที่ใช้เช่นในพา ธ รวมหรืออะไรก็ตาม

Strings ยังสามารถใช้ได้กับหน้าต่างเป็นส่วนหนึ่งของCygwinหรือเป็นส่วนหนึ่งของแพคเกจ sysinternals ไมโครซอฟท์


มันไม่ได้แสดงชื่อคอมไพเลอร์ให้กับโปรเจ็กต์ dll บางชื่อเท่านั้น
Eduardo Xavier


1

ไม่ฟรี แต่ IDA Pro มีการตรวจจับคอมไพเลอร์ที่ดีมาก ไม่ใช่ฟังก์ชั่นหลักแน่นอน แต่เป็นสิ่งที่พิเศษมาก


0

หากคุณสามารถหาวิธีตรวจสอบไบต์แรกหรือมากกว่านั้นของไฟล์ EXE ในการดัมพ์แบบ hex ที่มีอักขระ ASCII ที่สอดคล้องกันแสดงขึ้นพวกเขามักจะระบุคอมไพเลอร์ที่ใช้


1
ฉันสงสัยว่าใครบางคนหรือบางซอฟต์แวร์สามารถค้นหาว่า exe สร้างด้วยคอมไพเลอร์รุ่นใดรุ่นหนึ่ง (Visual Studio 2010 Professional หรือ Enterprise หรือ Express)
Remus Rigo

ซึ่งมักจะไม่เป็นความจริง ส่วนแรกของไฟล์ PE คือดอส DOS ซึ่งโดยปกติจะเป็นโปรแกรมที่พิมพ์บางอย่างเช่น "โปรแกรมนี้ไม่สามารถทำงานในโหมด DOS"
lesderid

-1

คุณสามารถใช้ "พึ่งพาวอล์คเกอร์" เพื่อตรวจสอบสิ่งที่ไลบรารีรันไทม์ที่ลิงก์ไป MSVCP100 คือ Microsoft Visual C ++ 2010 x86

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.