
พื้นที่เก็บข้อมูลนี้เป็นโฮสต์รหัสที่แสดงวิธีเล็กน้อยในการตรวจจับการมีอยู่ของ debuggers ภายใต้แอปพลิเคชัน Windows ทรัพยากรที่ละเอียดยิ่งขึ้นสามารถพบได้ในที่เก็บ GitHub อื่น ๆ และ Peter Ferrie เป็นข้อมูลอ้างอิงต่อต้านการลดทอน "Ultimate" ตัวอย่างที่จัดขึ้นโดยฟังก์ชั่น
เพื่อสร้างโครงการเรียกใช้ต่อไปนี้จาก build/
cmake ../
cmake --build .
ตัวอย่าง ReadTeb ใช้ประโยชน์จาก __asm ซึ่งไม่ได้รับการสนับสนุนใน X64 และไม่รวมอยู่ใน MakeFile
นี่คือการตรวจสอบบางอย่างที่สามารถเรียกใช้จากภายในแหล่งที่มาของแอปพลิเคชัน
ISDEBUGGERPRESENT - การโทร WIN32 API ขั้นพื้นฐานเพื่อตรวจสอบการมีตัวดีบั๊ก
OutputDebugString - ใช้ Win32 API เพื่อพยายามสื่อสารกับดีบักเกอร์ที่อาจแนบมา
FindWindow - ใช้ Win32 API เพื่อค้นหา Windows ดีบั๊ก
readteb - ดูสั้น ๆ เกี่ยวกับ internals ของ isdebuggerpresent
Debugbreak - การโทร Win32 ที่จะโยนเมื่อไม่มีการแนบดีบัก
การตรวจสอบกระบวนการภายนอกสำหรับการปรากฏตัวของดีบักเกอร์ที่แนบมา
checkremotedebuggerpresent - isdebuggerpresent สำหรับกระบวนการภายนอก
เทคนิคการป้องกันทางวิศวกรรมย้อนกลับที่จะใช้ก่อนปล่อยซอฟต์แวร์