Biblioteca multiplataforma para depuración binaria y piratería de memoria escrita en Rust.
minidump , un PE file o incluso el espacio del kernel del sistema operativo con una extensión adicional. Hay dos tipos principales de interfaces en udbg: información de destino e interfaces de depuración.
Las interfaces de información de destino, que se abstraen como el rasgo UDbgTarget , representan un objetivo de depuración observable, es un active process en la mayoría de los casos, también puede ser un minidump , un PE file , incluso ser el espacio del kernel del sistema operativo con extensión adicional.
UDbgTarget contiene estas funciones, memory operation (lectura/escritura/enumeración), enumeración module , enumeración thread , enumeración handle/FDs , etc. En base a estas funciones, podemos implementar algunas utilidades sobre los diferentes tipos de destino, como el volcado de módulos , búsqueda de memoria , escaneo de ganchos , escaneo de códigos maliciosos , etc.
Las interfaces de depuración, que se resumen como el rasgo UDbgEngine , proporcionan principalmente la capacidad de control de procesos. Hay una default implementation que generalmente incluye las funciones de depuración en Windows y las interfaces ptrace en Linux.
La mayoría de las interfaces anteriores fueron diseñadas para ser objetos dinámicos, lo cual es compatible con el enlace de scripts, y udbg proporciona lua bindings de forma predeterminada.
Estado actual de las interfaces de información de destino.
| Plataforma/Objetivo | Operación de memoria | Lista de memoria | Hilo | Módulo/Símbolo | Lista de manijas/FD |
|---|---|---|---|---|---|
| Proceso de Windows | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Proceso de Linux | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Proceso MacOs | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| minivolcado | ✔️ (solo lectura) | ✔️ | ✔️ | ✔️ | ? |
| Archivo PE | ✔️ (solo lectura) | ✔️ | - | - | - |
Estado actual de las interfaces de depuración.
| Plataforma/Objetivo | Símbolo de depuración | Punto de interrupción | Punto de vigilancia (HWBP) | Objetivo múltiple |
|---|---|---|---|---|
| Ventanas (x86/x64) | ✔️ (pdb) | ✔️ | ✔️ | ✔️ |
| Ventanas (aarch64) | ✔️ (pdb) | ✔️ | ✔️ | ✔️ |
| Linux(x86_64) | ✔️ (elfo) | ✔️ | ✔️ | ✔️ |
| Linux (aarch64) | ✔️ (elfo) | ✔️ | ✔️ | ✔️ |
src/test.rs fn targetsrc/test.rs fn test_debug