Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
KeyPatchX — KeyPatch Enhanced — plugin do IDA Pro para patch de assembly x86/x64 com reconhecimento de símbolos, alimentado pelo Keystone Engine. Fork do Keypatch com resolução automática de símbolos do IDA, codificação relativa a RIP e correção de nomes _↔. | Kitploit
Ferramentas/GitHubGitHub/gmh5225/keypatchx
Análise EstáticaExploraçãoEngenharia ReversaDepuradoresUtilitários e FrameworksAnálise de BináriosExploração de Binários
GitHubgmh5225/keypatchx

KeyPatchX

KeyPatch Enhanced — plugin do IDA Pro para patch de assembly x86/x64 com reconhecimento de símbolos, alimentado pelo Keystone Engine. Fork do Keypatch com resolução automática de símbolos do IDA, codificação relativa a RIP e correção de nomes _↔.

Ver Repositório
92há 7 mesesAinda não revisado

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

KeyPatch Enhanced — Plugin de montagem com reconhecimento de símbolos para IDA Pro

Baseado no Keypatch (por Nguyen Anh Quynh & Thanh Nguyen), este é um fork aprimorado modificado por Euarno.

Melhoria principal: usar diretamente nomes de símbolos do IDA em assembly x86/x64, com o plugin resolvendo automaticamente os endereços e gerando a codificação correta RIP-relative / rel32.


Novos recursos

1. Montagem usando diretamente nomes de símbolos

Digite instruções com nomes de símbolos diretamente na caixa de diálogo do Keypatch, sem precisar calcular manualmente endereços e deslocamentos:

call rc4_crypt          ; calcula automaticamente o deslocamento relativo rel32
jmp  main               ; idem
lea  rcx, enc_0         ; x64: gera automaticamente lea rcx, [rip + disp32]
lea  rax, Format         ; idem

2. Correção automática de nomes do IDA (_ ↔ .)

O IDA às vezes exibe . do banco de dados como _ (por exemplo, enc.0 é exibido como enc_0). O plugin tenta automaticamente a variante _ → . na busca, sem que você precise se preocupar com o formato de armazenamento interno do IDA.

3. Tipos de instrução suportados

TipoExemploTratamento
CALL / JMP / Jcccall func_nameSímbolo → endereço absoluto, Keystone calcula rel32
LEA (símbolo puro)lea rcx, symbolx64: → lea rcx, [rip + disp32]
x86: → lea ecx, [addr]
LEA (operando composto)lea rcx, [rbp+0x120+Str]Substitui apenas o símbolo pelo valor do endereço, preservando a estrutura da expressão
MOV offsetmov rax, offset symbolx64: converte para lea rax, [rip + disp32]
se estiver fora do alcance, usa mov rax, imm64
Acesso à memória [symbol]mov rax, qword ptr [symbol][symbol] → [0xADDR], Keystone codifica automaticamente
Símbolo como imediatopush symbolSímbolo → 0xADDR

4. Mensagens de erro aprimoradas

Quando a montagem falha, a janela de saída exibe:

Keypatch: Keystone error: Invalid operand (KS_ERR_ASM_INVALIDOPERAND)
Keypatch:   input asm  : lea rcx, [rip + 0x176E3]
Keypatch:   fixed asm  : LEA RCX, [RIP + 0x176E3]
Keypatch:   address    : 0x140001966

Instalação

Dependências

  • IDA Pro 7.0+
  • Bindings Python do Keystone Engine
pip install keystone-engine

Instalar o plugin

Copie keypatch.py para o diretório de plugins do IDA:

SistemaCaminho
Windows%APPDATA%\Hex-Rays\IDA Pro\plugins\ ou <diretório de instalação do IDA>\plugins\
macOS~/.idapro/plugins/ ou <diretório de instalação do IDA>/plugins/
Linux~/.idapro/plugins/ ou <diretório de instalação do IDA>/plugins/

Basta reiniciar o IDA.


Como usar

Abrir o Patcher

  • Menu: Edit → Keypatch → Patcher
  • Atalho: Ctrl + Alt + K
  • Menu de contexto: Keypatch → Patcher

Fluxo de trabalho básico

  1. Na janela de desmontagem do IDA, posicione o cursor no endereço desejado
  2. Pressione Ctrl + Alt + K para abrir o Patcher
  3. Digite a instrução no campo Assembly (pode usar nomes de símbolos do IDA)
  4. Verifique o campo Encoding para confirmar que a codificação está correta
  5. Clique em Patch para aplicar a modificação

Exemplo: Hook de chamada de função

Suponha que você queira aplicar patch em 0x140001966 com um salto para rc4_crypt:

Assembly: call rc4_crypt

O plugin resolve automaticamente o endereço de rc4_crypt, calcula o deslocamento rel32 e gera a codificação correta E8 xx xx xx xx.

Exemplo: Carregar endereço de dados

Assembly: lea rcx, enc_0

O plugin automaticamente:

  1. Resolve enc_0 (o nome interno pode ser enc.0) → endereço 0x140013050
  2. Calcula o deslocamento RIP-relative disp32 = 0x140013050 - (0x140001966 + 7)
  3. Gera lea rcx, [rip + 0x176E3]
  4. Passa para o Keystone codificar como código de máquina

Preencher intervalo (Fill Range)

  1. Selecione um intervalo de endereços na janela de desmontagem
  2. Pressione Ctrl + Alt + K para abrir o Fill Range
  3. Digite a instrução (como nop) para preencher automaticamente todo o intervalo

Desfazer

  • Menu: Edit → Keypatch → Undo last patching

Observações

  • Limite de alcance RIP-relative: o endereçamento RIP-relative de lea e [symbol] tem alcance de ±2GB. Se o símbolo estiver fora do alcance, o plugin exibirá um erro.
  • Limite de imediato em x64: push symbol em x64 exige que o endereço do símbolo seja ≤ 0x7FFFFFFF (extensão de sinal imm32), caso contrário haverá um aviso. Recomenda-se usar lea reg, symbol + push reg.
  • Múltiplas instruções com ponto e vírgula: no momento, não há suporte para resolução de símbolos em múltiplas instruções no formato lea rcx, sym; call func. Aplique o patch instrução por instrução.

Projeto original

  • Autores originais: Nguyen Anh Quynh (@aquynh) & Thanh Nguyen
  • Projeto original: keystone-engine/keypatch
  • Licença original: GPL v2
  • Página do projeto: http://keystone-engine.org/keypatch
  • Keystone Engine: http://www.keystone-engine.org

Modificador

  • Euarno — funcionalidade de resolução automática de símbolos do IDA, correção de nomes _ ↔ ., suporte à codificação RIP-relative em x64, saída de erros aprimorada

Licença

Esta versão modificada é distribuída sob a licença MIT. Consulte o arquivo LICENSE para detalhes.

Os direitos autorais do código original do Keypatch pertencem aos autores originais e são distribuídos sob a GPL v2.

Baixar ferramenta