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
ghidra-evm — Módulo do Ghidra para desmontagem, descompilação e análise de bytecode de contratos inteligentes Ethereum. Detecta instruções inseguras, extrai métodos ocultos e gera grafos de fluxo de controle para auditoria de segurança. | Kitploit
Ferramentas/GitHubGitHub/adelapie/ghidra-evm
Análise EstáticaAnálise de VulnerabilidadesEngenharia ReversaAnálise de Binários
GitHubadelapie/ghidra-evm

ghidra-evm

Módulo do Ghidra para desmontagem, descompilação e análise de bytecode de contratos inteligentes Ethereum. Detecta instruções inseguras, extrai métodos ocultos e gera grafos de fluxo de controle para auditoria de segurança.

Ver Repositório
14929há 5 anosRevisado 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

Módulo Ghidra EVM

frente

Nos últimos anos, ataques a contratos inteligentes implantados na blockchain Ethereum resultaram em uma quantidade significativa de fundos roubados devido a erros de programação. Como os contratos inteligentes, uma vez compilados e implantados, são complexos de modificar e atualizar, diferentes profissionais sugeriram a importância de revisar sua segurança na blockchain onde apenas o bytecode da Ethereum Virtual Machine (EVM) está disponível. Nesse sentido, a engenharia reversa por meio de desmontagem e descompilação pode ser eficaz.

ghidra-EVM é um módulo Ghidra para engenharia reversa de contratos inteligentes. Ele pode ser usado para baixar o bytecode da Ethereum Virtual Machine (EVM) da blockchain Ethereum e desmontar e descompilar o contrato inteligente. Além disso, pode analisar o código de criação, encontrar métodos de contrato e localizar instruções inseguras.

Ele compreende um módulo de processador, carregador personalizado e plugin(s) que desmonta o bytecode da Ethereum VM (EVM) e gera um grafo de fluxo de controle (CFG) de um contrato inteligente.

A última versão usa a API Ghidra 9.1.2. Ela depende da biblioteca crytic evm_cfg_builder (https://github.com/crytic/evm_cfg_builder) para auxiliar o Ghidra no processo de geração de CFG.

Ghidra-evm consiste em:

  • Um carregador que lê código byte e hex de arquivos .evm e .evm_h, respectivamente (Veja exemplos).
  • A definição SLEIGH do conjunto de instruções EVM levando em conta as limitações do núcleo do Ghidra (Veja Notas).
  • Um script auxiliar que usa evm_cfg_builder e ghidra_bridge para auxiliar o Ghidra na geração do CFG e exploração das propriedades de funções de um contrato inteligente.
  • Uma coleção de scripts que ajudam na engenharia reversa de diferentes aspectos de um contrato inteligente:

Instruções de instalação

  • Instale o ghidra_bridge, seguindo as instruções em https://github.com/justfoxing/ghidra_bridge
  • Instale a biblioteca crytic evm_cfg_builder, seguindo as instruções em https://github.com/crytic/evm_cfg_builder
  • Instale o último arquivo de release do ghidra-evm em ghidra_evm/dist/:
    • Abra o ghidra
    • Arquivo -> Instalar Extensões
    • Clique em '+' e selecione o arquivo zip, ex.: ghidra_9.1.2_PUBLIC_20201102_ghidra_evm.zip
    • Clique em OK
    • Reinicie o Ghidra

Instruções de compilação

O conteúdo do diretório ghidra-evm pode ser usado para criar um módulo Ghidra no Eclipse com processador e carregador, a fim de estender ou depurar ghidra_evm.

Tutoriais

meio

Integração com ferramentas externas de execução simbólica

ScriptDescrição
teetherMarca o caminho crítico no Ghidra antes de gerar o exploit. Requer teether.

Notas

  • O CFG é criado de acordo com o evm_cfg_builder: instruções JUMP e JUMPI são utilizadas.
  • Uma tabela de jump de 32x32 (evm_jump_table) é gerada de acordo, a fim de detectar e mostrar ramificações nas janelas de desmontagem e fluxo de controle.
  • Ghidra não foi projetado para lidar com arquiteturas e memórias de tamanho de palavra > 64 bits. Isso significa que instruções como PUSH32 não são exibidas corretamente na janela de descompilação.

Licença

Ghidra-evm é licenciado e distribuído sob a AGPLv3.

Agradecimentos

  • Este trabalho foi apoiado pela Comissão Europeia através do Projeto M-Sec do Programa H2020 sob a Bolsa 814917.
  • O Ghidra-EVM foi apresentado na trilha de arsenal do Black Hat Asia 2021. Você pode encontrar os slides aqui.
Baixar ferramenta
Script
Descrição
search_codecopy.pyAo analisar o código de criação em um contrato inteligente, só podemos ver a função _dispatcher que usa CODECOPY para escrever o código de tempo de execução na memória. Este script procura instruções CODECOPY úteis e encontra os métodos do contrato inteligente ocultos na parte de tempo de execução do contrato.
search_dangerous_instructions.pyInstruções como CALL, CALLCODE, SELFDESTRUCT e DELEGATECALL podem às vezes ser abusadas para transferir fundos para outro contrato. Este script as encontra e cria um rótulo para cada ocorrência.
load_external_contract.pyBaixa o bytecode do contrato inteligente da blockchain para um arquivo .evm_h que pode ser carregado no ghidra-evm
TutorialDescrição
UtilizaçãoInstruções simples de utilização com test.evm
Analisando bytecode de criaçãoUsando search_codecopy.py para analisar o código de criação e encontrar métodos ocultos
Procurando instruções perigosasUsando search_dangerous_instructions.py para analisar uma ocorrência de SELFDESTRUCT
Baixando bytecode de contrato inteligente da blockchain para o GhidraUsando load_external_contract.py para baixar o bytecode EVM da blockchain para um arquivo .evm_h