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 targetsrc/test.rs fn test_debug