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
vmprotect-research | Kitploit
Ferramentas/GitHubGitHub/rasetsuu/vmprotect-research
Análise EstáticaAnálise Dinâmica (Sandboxing)Engenharia ReversaDepuradoresAnálise de BináriosPapers e PesquisaAprendizado e EducaçãoAnálise de FirmwareExploração de Binários
GitHubrasetsuu/vmprotect-research

vmprotect-research

Ver Repositório
489há 2 mesesRevisado 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

VMP Devirtualizer - Versão de Produção

Devirtualizador VMProtect generalizado com suporte às versões 1.x, 2.x e 3.x. Ferramenta CLI autônoma + plugin Ghidra.

Status: ✅ Pronto para Produção | Validação: 22/22 amostras (100%) | Escopo: VMP ≤3.6 (3.7+ requer engenharia reversa)


Recursos

  • Suporte Multi-Versão: VMP 1.x, 2.x, 3.x (1.1 → 3.10.5)
  • Detecção de Versão: Identificação automática via heurísticas
  • Extração da Tabela de Dispatch: Captura de chave XOR via Unicorn para tabelas criptografadas
  • Classificação de Handlers: 256 tipos de handler em todas as versões
  • Decodificação de Bytecode: ops de VM → reconstrução de instruções x86-64
  • Suporte a Plataformas: binários Windows PE + Linux ELF
  • Integração com Decompilador: bytecode de VM → pseudocódigo
  • Plugin Ghidra: análise interativa de handlers + anotação

Início Rápido

Compilação

root@kitploit:~
cd /home/ciupix/vmp_devirt_prod
cargo build --release

Binário: target/release/vmp_devirt

Uso

root@kitploit:~
# Analyze binary
./target/release/vmp_devirt <binary_path>

# Export handlers
./target/release/vmp_devirt <binary_path> --export-handlers handlers.json

# Export bytecode
./target/release/vmp_devirt <binary_path> --export-bytecode bytecode.json

Resultados de Validação

Resumo

  • Total de Amostras: 22
  • Taxa de Sucesso: 22/22 (100%)
  • Tempo Médio de Processamento: 229ms
  • Tempo Total: 5,0 segundos

Por Versão

Amostras Testadas:

  • VMP 1.x: HiVmp.vmp.1.1.exe, HiVmp.vmp.1.4.exe, HiVmp.vmp.1.54.exe, HiVmp.vmp.1.70.4.exe
  • VMP 2.x: Branch0.vmp.exe, HiVmp.exe, mfc_algo_demo.vmp.exe, Project1.vmp.exe, Project2.vmp.exe, Project4.vmp.exe
  • VMP 3.x: add_control_flow.vmp.exe, adder.vmp.exe, bitwise.vmp.exe, control_flow_test.vmp.exe, cpuid_test.vmp.exe, fac_fib.vmp.exe, globals.vmp.exe, hello_world.vmp.exe, multiadder.vmp.exe, nested_virt_funccall.vmp.exe, ptr_drf.vmp.exe, switch.vmp.exe

Consulte VALIDATION_REPORT.md para resultados detalhados.


Arquitetura

root@kitploit:~
Input Binary
    ↓
PE/ELF Loader (src/pe_loader.rs)
    ↓
Version Detector (src/version.rs)
    ↓
Dispatch Table Extractor (src/dispatch_table.rs)
    ├─ Unicorn XOR Key Capture (src/unicorn_emulator.rs)
    └─ Pattern Matching Fallback
    ↓
Handler Classifier (src/handler_classifier.rs)
    ↓
Bytecode Decoder (src/bytecode.rs)
    ├─ Operand Decryption (src/decrypt.rs)
    └─ ALU Reconstruction (src/alu.rs)
    ↓
Output (JSON/Pseudo-asm)

Módulos Principais

Total: ~2.800 linhas de código Rust de produção


Detalhes de Implementação

Detecção de Versão

Heurísticas baseadas em:

  • Padrões de entrada de handlers (opcodes POP/PUSH)
  • Mecanismo de dispatch (jumptable vs. cadeia criptografada vs. cadeia de handlers)
  • Layout das seções PE (.vmp0, .vmp1, .text)
  • Padrão de stub de entrada (PUSH criptografado + CALL/JMP)

Extração da Tabela de Dispatch

VMP 1.x/2.x: extração de chave XOR via correspondência de padrões na seção .text

  • Varre padrões de instruções XOR
  • Deriva chaves de sequências de opcodes
  • Valida contra o intervalo da base da imagem

VMP 3.x: dispatch por cadeia de handlers

  • Localiza pontos de dispatch (DP0-DP5)
  • Rastreia cadeias de handlers
  • Extrai 256 entradas de dispatch

Classificação de Handlers

Correspondência de padrões em:

  • Padrão de entrada (49 8b 2a = POP para VMP 3.x)
  • Operação principal (SUB, ADD, XOR, etc.)
  • Tipos de operando (slot, offset, imediato)
  • Mecanismo de dispatch (push/ret, jmp direto)

Decodificação de Bytecode

  1. Ler o opcode da seção de bytecode
  2. Consultar a semântica do handler
  3. Extrair operandos (slot, offset)
  4. Descriptografar operandos via cadeias ValueCryptor
  5. Reconstruir a instrução x86-64
  6. Tratar o contexto da VM (arquivo de registradores, flags, pilha)

Limitações Conhecidas

  1. VMP 3.7+ (Handlers Mesclados) - Não suportado. O VMP 3.7+ introduziu handlers mesclados (múltiplas operações por entrada de handler), o que quebra o classificador atual. Requer engenharia reversa com uma amostra real de 3.7+. Consulte FUTURE_WORK.md para detalhes.
  2. Avisos de Validação de Chave XOR - Esperados para VMP 1.x/2.x (não críticos)
  3. Detecção de Dispatch do VMP 3.x - Usa estratégia de fallback para ofuscações mais recentes
  4. Amostras Linux - Não incluídas no conjunto de testes atual (suporte a ELF implementado)

Desempenho

  • Vazão: ~4,4 amostras/segundo
  • Memória: <50MB por amostra
  • Latência: 5ms-3,25s dependendo do tamanho do binário

Documentação

  • VALIDATION_REPORT.md - Resultados completos dos testes
  • IMPLEMENTATION_COMPLETE.md - Status da implementação
  • UNICORN_IMPLEMENTATION_REPORT.md - Detalhes da captura de chave XOR

Referências do Código-Fonte

Arquitetura baseada na análise do vazamento do código-fonte do VMP 3.5.1:

  • Estrutura do handler e mecanismo de dispatch
  • Implementação das cadeias ValueCryptor
  • Padrões de operações ALU
  • Gerenciamento de contexto da VM

Licença

Uso para Pesquisa/Educacional


Contato

Para problemas ou dúvidas, consulte os relatórios de validação ou a documentação de implementação.

Última Atualização: 2026-06-01 Status: Pronto para Produção

Baixar ferramenta
Versão
Amostras
Sucesso
Tempo Médio
VMP 1.x44/438ms
VMP 2.x66/6734ms
VMP 3.x1212/1239ms
MóduloFinalidadeLinhas
src/lib.rsInterface principal da biblioteca150
src/version.rsDetecção de versão do VMP200
src/pe_loader.rsCarregamento de binários PE/ELF350
src/dispatch_table.rsExtração da tabela de dispatch400
src/unicorn_emulator.rsCaptura de chave XOR308
src/handler_classifier.rsIdentificação do tipo de handler280
src/bytecode.rsLeitura/decodificação de bytecode320
src/decrypt.rsCadeias ValueCryptor250
src/alu.rsReconstrução de operações ALU200
src/opcode_table.rsGerenciamento de opcodes180
src/bin/cli.rsFerramenta CLI400