fakepdb
เครื่องมือสำหรับการสร้าง PDB จากฐานข้อมูล IDA Pro
สนับสนุน:
การดาวน์โหลด
วิธีการติดตั้ง
- IDA
- คัดลอกเนื้อหาของ
binaries.zip/ida ไปที่ <IDA_directory>/plugins
วิธีใช้
มีคุณสมบัติหลายอย่างในปลั๊กอินนี้:
การสร้างไฟล์ PDB
- เปิดเป้าหมายที่เรียกใช้งานได้ใน IDA
-
Edit -> FakePDB -> Generate .PDB file (หรือ Ctrl + Shift + 4 ) - รับไฟล์ PDB จากไดเร็กทอรีฐานข้อมูล IDA
PDB สามารถเลือกสัญลักษณ์สำหรับฉลากฟังก์ชั่น: ใช้ Generate .PDB file (with function labels) (หรือ Ctrl + Shift + 5 )
การสร้างไฟล์ lib
- เปิดเป้าหมายที่เรียกใช้งานได้ใน IDA
-
Edit -> FakePDB -> Generate .LIB file - รับไฟล์ lib จากไดเร็กทอรีฐานข้อมูล IDA
การส่งออกฐานข้อมูล IDA ไปยัง. json
- เปิดเป้าหมายที่เรียกใช้งานได้ใน IDA> = 7.0
-
Edit -> FakePDB -> Dump info to .json (หรือ Ctrl + Shift + 1 ) - มันจะสร้าง
filename.json ใกล้ไฟล์ .idb
การค้นหาลายเซ็นไบนารี
- เปิดเป้าหมายที่เรียกใช้งานได้ใน IDA> = 7.0
- ตั้งเคอร์เซอร์เมื่อเริ่มฟังก์ชั่นเป้าหมาย
-
Edit -> FakePDB -> Find signature (หรือ Ctrl + Shift + 2 ) - ลายเซ็นจะแสดงในคอนโซล IDA
ชื่อฟังก์ชั่นนำเข้าจากไฟล์ .json
- เปิดเป้าหมายที่เรียกใช้งานได้ใน IDA> = 7.0
-
Edit -> FakePDB -> Import offset from .json (หรือ Ctrl + Shift + 3 )
รูปแบบไฟล์ที่จำเป็น:
{
"function_name_1" : " 0001:123456 " ,
"function_name_2" : " 0001:254646 " ,
"function_name_X" : " XXXX:YYYYYY " ,
"function_name_Y" : " 0x0124567AF " ,
} ที่ไหน:
-
XXXX : จำนวนส่วน PE -
YYYY : ชดเชยจากจุดเริ่มต้นของส่วนในตัวเลขทศนิยม - 0x0124567af: ที่อยู่ที่มีประสิทธิภาพของ IDA
สิ่งที่ต้องทำ
- รองรับ Linux
- สนับสนุน Ghidra
- ฟังก์ชั่นอาร์กิวเมนต์สนับสนุน
- IDA 9.0: การส่งออกโครงสร้าง
ลิงค์ที่มีประโยชน์
- ปิดใช้งานการตรวจสอบ PDB ใน windbg http://ntcoder.com/bab/2012/03/06/how-to-force-symbol-loading-in-windbg/
- ปิดใช้งานการตรวจสอบความถูกต้องของ PDB ใน MSVS https://stackoverflow.com/questions/38147487/forcing-to-load-unmatched-symbols-in-visual-studio-2015-Debugger
การกล่าวถึง
- 2019, Google Project Zero: เรื่องราวของ Adobe Reader Symbols
- 2021, Gerhart X.: การดีบัก Hyper-V สำหรับผู้เริ่มต้น รุ่นที่ 2
- 2022, Google Cloud
ขอบคุณ
แรงบันดาลใจจาก:
- pe_debug http://pefrm-units.osdn.jp/pe_debug.html
ขึ้นอยู่กับ:
- โครงการ LLVM https://llvm.org/
- โครงการ LLD https://lld.llvm.org/
ลองดูที่:
- bao https://github.com/not-wlan/bao