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
e9patch — Uma poderosa ferramenta de reescrita binária estática | Kitploit
Ferramentas/GitHubGitHub/gjduck/e9patch
Engenharia ReversaFuzzingAnálise de BináriosExploração de Binários
GitHubgjduck/e9patch

e9patch

Uma poderosa ferramenta de reescrita binária estática

Ver Repositório
1.1k70há 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

  E9Patch - Um Poderoso Reescritor Binário Estático

E9Patch é uma ferramenta poderosa de reescrita binária estática para binários ELF Linux x86_64. E9Patch é:

  • Escalável: E9Patch pode reescrever de forma confiável binários grandes/complexos, incluindo navegadores da web (>100MB de tamanho).
  • Compatível: O binário reescrito é um substituto direto do original, sem dependências adicionais.
  • Rápido: E9Patch pode reescrever a maioria dos binários em poucos segundos.
  • Baixa Sobrecarga: Tanto de desempenho quanto de memória.
  • Programável: E9Patch é projetado para ser facilmente integrado em outros projetos. Consulte o Guia do Usuário do E9Tool e o Guia do Programador do E9Patch para mais informações.

A reescrita binária estática pega um binário de entrada (executável ELF ou objeto compartilhado) e gera um binário de saída com alguma correção/modificação aplicada. O binário corrigido pode ser usado como um substituto direto do original.

Lançamento

Binários pré-construídos do E9Patch podem ser baixados aqui:

  • https://github.com/GJDuck/e9patch/releases

Compilação

Compilar o E9Patch é muito fácil: basta executar o script build.sh.

Isso irá compilar automaticamente duas ferramentas:

  1. e9patch: o backend de reescrita binária; e
  2. e9tool: um frontend de desmontagem linear para o E9Patch.

Exemplo de Uso

E9Patch é utilizável através do frontend E9Tool.

Por exemplo, para adicionar instrumentação de impressão de instruções a todas as instruções xor no xterm, podemos usar o seguinte comando:

root@kitploit:~
    $ ./e9tool -M 'asm=/xor.*/' -P print xterm

Isso irá gerar uma versão modificada do xterm gravada no arquivo a.out.

O xterm modificado pode ser executado normalmente, mas imprimirá a string de montagem de cada instrução xor executada para stderr:

root@kitploit:~
    $ ./a.out
    xorl %ebp, %ebp
    xorl %ebx, %ebx
    xorl %eax, %eax
    xorl %edx, %edx
    xorl %edi, %edi
    ...

Para uma lista completa de opções e modos suportados, veja:

root@kitploit:~
    $ ./e9tool --help

Projetos

Alguns outros projetos que usam E9Patch incluem:

  • RedFat: Um sistema de endurecimento binário baseado em ponteiros low-fat.
  • E9AFL: Insere automaticamente instrumentação AFL em binários.
  • E9Syscall: Intercepção de chamadas de sistema usando reescrita binária estática do libc.so.
  • Hopper: Geração automática de casos de teste de fuzzing para bibliotecas.
  • EnvFuzz: Fuzzing de ambiente de programas.
  • RFF: Fuzzing greybox para teste de concorrência.
  • AutoTrace: Rastreamento simples baseado em linhas de código-fonte.

Documentação

E9Patch é uma ferramenta de baixo nível projetada para ser integrável em outros projetos. Para saber mais, consulte a seguinte documentação:

  • Guia do Programador do E9Patch
  • Guia do Usuário do E9Tool

Bugs

Bugs podem ser reportados aqui:

  • https://github.com/GJDuck/e9patch/issues

Versões

A versão atual do E9Patch é significativamente melhorada em comparação com o protótipo original avaliado no artigo PLDI'2020. Especificamente:

  • A versão atual implementa várias novas otimizações e pode gerar binários significativamente mais rápidos, às vezes por um fator de 2x. Para ativar as novas otimizações, passe a opção -O2 para o E9Tool.
  • A implementação da otimização de espaço Physical Page Grouping também foi melhorada.
  • A cobertura de correção também foi ligeiramente melhorada.
  • Muitas novas funcionalidades foram implementadas (consulte a documentação).

Licença

Este software foi liberado sob a GNU Public License (GPL) Versão 3.

Alguns arquivos específicos são liberados sob a licença MIT (verifique o preâmbulo do arquivo).

Publicação

Para mais informações, consulte nosso artigo PLDI'2020:

  • Gregory J. Duck, Xiang Gao, Abhik Roychoudhury, Binary Rewriting without Control Flow Recovery, Programming Language Design and Implementation (PLDI), 2020.
  • Apresentação PLDI'2020 no Youtube

Por favor, cite nosso artigo da seguinte forma:

root@kitploit:~
    @inproceedings{e9patch,
        author = {Duck, Gregory J. and Gao, Xiang and Roychoudhury, Abhik},
        title = {Binary rewriting without control flow recovery},
        year = {2020},
        publisher = {Association for Computing Machinery},
        url = {https://doi.org/10.1145/3385412.3385972},
        doi = {10.1145/3385412.3385972},
        booktitle = {Programming Language Design and Implementation (PLDI)}
    }

Agradecimentos

Este trabalho foi parcialmente apoiado pelo National Satellite of Excellence in Trustworthy Software Systems, financiado pela National Research Foundation (NRF) de Singapura sob o programa National Cybersecurity R&D (NCR).

Baixar ferramenta