Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ddisasm — Desmontador baseado em Datalog que produz código de montagem remontável a partir de binários ELF/PE, com representação intermediária GTIRB para análise e reescrita de binários nas arquiteturas x86, ARM e MIPS. | Kitploit
Ferramentas/GitHubGitHub/grammatech/ddisasm
Análise EstáticaEngenharia ReversaDepuradoresAnálise de BináriosAnálise de Firmware
GitHubgrammatech/ddisasm

ddisasm

Desmontador baseado em Datalog que produz código de montagem remontável a partir de binários ELF/PE, com representação intermediária GTIRB para análise e reescrita de binários nas arquiteturas x86, ARM e MIPS.

Ver Repositório
85368há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

Datalog Disassembly

DDisasm é um desmontador rápido que é preciso o suficiente para que o código de montagem resultante possa ser remontado. DDisasm é implementado usando a linguagem de programação lógica declarativa datalog (souffle) para compilar regras e heurísticas de desmontagem. O desmontador primeiro analisa informações de arquivos ELF/PE e decodifica um superconjunto de instruções possíveis para criar um conjunto inicial de fatos datalog. Esses fatos são analisados para identificar localização de código, simbolização e limites de função. Os resultados desta análise, um conjunto refinado de fatos datalog, são então traduzidos para a representação intermediária GTIRB para análise binária e engenharia reversa. O pretty printer do GTIRB pode então ser usado para imprimir o GTIRB de forma legível para código de montagem remontável.

Suporte a Binários

Formatos binários:

  • ELF (Linux)
  • PE (Windows)

Arquiteturas de Conjunto de Instruções (ISAs):

  • x86_32
  • x86_64
  • ARM32
  • ARM64
  • MIPS32

Começando

Você pode executar uma versão pré-construída do Ddisasm usando Docker:

root@kitploit:~
docker pull grammatech/ddisasm:latest

Ddisasm pode ser usado para desmontar um binário na representação GTIRB. Podemos testá-lo com um dos exemplos incluídos no repositório.

Primeiro, inicie o container Docker do Ddisasm:

root@kitploit:~
docker run -v $PWD/examples:/examples -it grammatech/ddisasm:latest

Dentro do container Docker, vamos construir um dos exemplos:

root@kitploit:~
apt update && apt install gcc -y
cd /examples/ex1
gcc ex.c -o ex

Agora podemos proceder para desmontar o binário:

root@kitploit:~
ddisasm ex --ir ex.gtirb

Depois de ter a representação GTIRB, você pode fazer alterações programáticas no binário usando GTIRB ou gtirb-rewriting.

Então, você pode usar gtirb-pprinter (incluído na imagem Docker) para produzir uma nova versão do binário:

root@kitploit:~
gtirb-pprinter ex.gtirb -b ex_rewritten

Internamente, gtirb-pprinter irá gerar um arquivo de montagem e invocar o compilador/montador (ex.: gcc) para produzir um novo binário. gtirb-pprinter cuidará de gerar todas as opções de linha de comando necessárias para gerar um novo binário, incluindo opções de compilação, dependências de bibliotecas ou scripts de linker de versão.

Você também pode usar gtirb-pprinter para gerar uma listagem de montagem para modificação manual:

root@kitploit:~
gtirb-pprinter ex.gtirb --asm ex.s

Esta listagem de montagem pode então ser recompilada manualmente:

root@kitploit:~
gcc -nostartfiles ex.s -o ex_rewritten

Por favor, dê uma olhada em nossa documentação para informações adicionais.

Documentação

Contribuindo

Veja CONTRIBUTING.md

Contribuidores Externos

  • Grupo de Linguagem de Programação, Universidade de Sydney: Suporte inicial para ARM64.
  • Usuário do Github gogo2464: Refatoração de documentação.

Citar

  1. Datalog Disassembly
root@kitploit:~
@inproceedings {flores-montoya2020,
    author = {Antonio Flores-Montoya and Eric Schulte},
    title = {Datalog Disassembly},
    booktitle = {29th USENIX Security Symposium (USENIX Security 20)},
    year = {2020},
    isbn = {978-1-939133-17-5},
    pages = {1075--1092},
    url = {https://www.usenix.org/conference/usenixsecurity20/presentation/flores-montoya},
    publisher = {USENIX Association},
    month = aug,
}
  1. GTIRB
root@kitploit:~
@misc{schulte2020gtirb,
    title={GTIRB: Intermediate Representation for Binaries},
    author={Eric Schulte and Jonathan Dorn and Antonio Flores-Montoya and Aaron Ballman and Tom Johnson},
    year={2020},
    eprint={1907.02859},
    archivePrefix={arXiv},
    primaryClass={cs.PL}
}
  1. Ddisasm WIS
root@kitploit:~
@INPROCEEDINGS{11023516,
  author={Flores-Montoya, Antonio and Lim, Junghee and Seitz, Adam and Sood, Akshay and Raff, Edward and Holt, James},
  booktitle={2025 IEEE Symposium on Security and Privacy (SP)},
  title={Disassembly as Weighted Interval Scheduling with Learned Weights},
  year={2025},
  volume={},
  number={},
  pages={3033-3050},
  keywords={Measurement;Privacy;Accuracy;Heuristic algorithms;Reverse engineering;Binary codes;Benchmark testing;Scheduling;Inference algorithms;Security;disassembly;reverse engineering;learning;binary analysis},
  doi={10.1109/SP61157.2025.00192}}
Baixar ferramenta