Biblioteca multiplataforma para depuração binária e hacking de memória escrita em Rust.
minidump , um PE file e até mesmo o espaço do kernel do sistema operacional com extensão extra. Existem dois tipos principais de interfaces no udbg: informações de destino e interfaces de depuração.
Interfaces de informações de destino, que abstraem como o traço UDbgTarget , representam um alvo de depuração observável, é um active process na maioria dos casos, também pode ser um minidump , um PE file , até mesmo o espaço do kernel do sistema operacional com extensão extra.
UDbgTarget contém essas funções, memory operation (leitura/gravação/enumeração), enumeração module , enumeração thread , enumeração handle/FDs , etc. Com base nessas funções, podemos implementar alguns utilitários sobre os diferentes tipos de destino, como dump de módulo , pesquisa de memória , verificação de gancho , verificação de código malicioso , etc.
Interfaces de depuração, que são abstraídas como característica UDbgEngine , fornecem principalmente a capacidade de controle de processo. Existe uma default implementation , normalmente ela agrupa as funções de depuração no Windows e as interfaces ptrace no Linux.
A maioria das interfaces acima foram projetadas para serem objetos dinâmicos, o que é amigável para vinculação de script, e o udbg fornece lua bindings por padrão.
Status atual das interfaces de informações de destino
| Plataforma/Alvo | Operação de memória | Lista de memória | Fio | Módulo/Símbolo | Lista de identificador/FD |
|---|---|---|---|---|---|
| Processo do Windows | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Processo Linux | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Processo MacOs | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| Minidespejo | ✔️ (somente leitura) | ✔️ | ✔️ | ✔️ | ? |
| Arquivo PE | ✔️ (somente leitura) | ✔️ | - | - | - |
Status atual das interfaces de depuração
| Plataforma/Alvo | Símbolo de depuração | Ponto de interrupção | Ponto de controle (HWBP) | Alvo Múltiplo |
|---|---|---|---|---|
| Windows (x86/x64) | ✔️ (pdb) | ✔️ | ✔️ | ✔️ |
| Windows (aarch64) | ✔️ (pdb) | ✔️ | ✔️ | ✔️ |
| Linux(x86_64) | ✔️ (elfo) | ✔️ | ✔️ | ✔️ |
| Linux(aarch64) | ✔️ (elfo) | ✔️ | ✔️ | ✔️ |
src/test.rs fn targetsrc/test.rs fn test_debug