In Rust geschriebene plattformübergreifende Bibliothek für binäres Debugging und Speicher-Hacking.
minidump , eine PE file oder sogar der Betriebssystem-Kernel-Bereich mit zusätzlicher Erweiterung sein. Es gibt zwei Hauptarten von Schnittstellen in udbg: Zielinformations- und Debugging-Schnittstellen.
Schnittstellen von Zielinformationen, die als UDbgTarget Merkmal abstrahiert werden, stellen ein beobachtbares Debugging-Ziel dar. In den meisten Fällen handelt es sich um einen active process . Es kann sich auch um einen minidump , eine PE file oder sogar um den OS-Kernel-Bereich mit zusätzlicher Erweiterung handeln.
UDbgTarget enthält diese Funktionen: memory operation (Lesen/Schreiben/Aufzählung), module , thread -Aufzählung, handle/FDs -Aufzählung usw. Basierend auf diesen Funktionen können wir einige Dienstprogramme über die verschiedenen Zieltypen implementieren, wie z. B. Modul-Dump . Speichersuche , Hook-Scanning , Malware-Code-Scanning usw.
Debugging-Schnittstellen, die als UDbgEngine Merkmal abstrahiert werden, bieten hauptsächlich die Möglichkeit der Prozesssteuerung. Es gibt eine default implementation , die normalerweise die Debugging-Funktionen unter Windows und die Ptrace-Schnittstellen unter Linux umschließt.
Die meisten der oben genannten Schnittstellen wurden als dynamische Objekte konzipiert, was die Skriptbindung erleichtert, und udbg stellt standardmäßig lua bindings bereit.
Aktueller Status der Zielinformationsschnittstellen
| Plattform/Ziel | Speicherbetrieb | Speicherliste | Faden | Modul/Symbol | Handle/FD-Liste |
|---|---|---|---|---|---|
| Windows-Prozess | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Linux-Prozess | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| MacOs-Prozess | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Minidump | ✔️ (schreibgeschützt) | ✔️ | ✔️ | ✔️ | ? |
| PE-Datei | ✔️ (schreibgeschützt) | ✔️ | - | - | - |
Aktueller Status der Debugging-Schnittstellen
| Plattform/Ziel | Debug-Symbol | Haltepunkt | Beobachtungspunkt (HWBP) | Mehrere Ziele |
|---|---|---|---|---|
| Windows (x86/x64) | ✔️ (PDF) | ✔️ | ✔️ | ✔️ |
| Windows(aarch64) | ✔️ (PDF) | ✔️ | ✔️ | ✔️ |
| Linux(x86_64) | ✔️ (Elf) | ✔️ | ✔️ | ✔️ |
| Linux(aarch64) | ✔️ (Elf) | ✔️ | ✔️ | ✔️ |
src/test.rs fn targetsrc/test.rs fn test_debug