Pustaka lintas platform untuk debugging biner dan peretasan memori yang ditulis dalam Rust.
minidump
, PE file
, bahkan ruang OS-Kernel dengan ekstensi tambahan. Ada dua jenis antarmuka utama di udbg, antarmuka informasi target dan antarmuka debugging.
Antarmuka informasi target, yang diabstraksikan sebagai sifat UDbgTarget
, mewakili target debugging yang dapat diamati, ini adalah active process
dalam banyak kasus, juga dapat berupa minidump
, PE file
, bahkan ruang OS-Kernel dengan ekstensi tambahan.
UDbgTarget
berisi fungsi-fungsi ini, memory operation
(baca/tulis/pencacahan), pencacahan module
, pencacahan thread
, pencacahan handle/FDs
, dll. Berdasarkan fungsi-fungsi ini, kita dapat mengimplementasikan beberapa utilitas pada berbagai jenis target, seperti dump modul , pencarian memori , pemindaian kait , pemindaian kode berbahaya , dll.
Antarmuka debug, yang diabstraksikan sebagai ciri UDbgEngine
, terutama menyediakan kemampuan kontrol proses. Ada default implementation
, biasanya membungkus Fungsi Debugging di Windows, dan membungkus antarmuka ptrace di Linux.
Sebagian besar antarmuka di atas dirancang untuk menjadi objek dinamis, yang ramah terhadap pengikatan skrip, dan udbg menyediakan lua bindings
secara default.
Status antarmuka informasi target saat ini
Platform/Sasaran | Operasi memori | Daftar Memori | Benang | Modul/Simbol | Menangani/Daftar FD |
---|---|---|---|---|---|
Proses Windows | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Proses Linux | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Proses MacO | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Minidump | ✔️ (hanya baca) | ✔️ | ✔️ | ✔️ | ? |
Berkas PE | ✔️ (hanya baca) | ✔️ | - | - | - |
Status antarmuka debugging saat ini
Platform/Sasaran | Simbol Debug | Titik putus | Titik Pengawasan (HWBP) | Sasaran Berganda |
---|---|---|---|---|
jendela(x86/x64) | ✔️ (PDB) | ✔️ | ✔️ | ✔️ |
Windows (aarch64) | ✔️ (PDB) | ✔️ | ✔️ | ✔️ |
Linux(x86_64) | ✔️ (peri) | ✔️ | ✔️ | ✔️ |
Linux(aarch64) | ✔️ (peri) | ✔️ | ✔️ | ✔️ |
src/test.rs
fn target
src/test.rs
fn test_debug