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
NativePe — Biblioteca Object Pascal (Delphi) para análise, mapeamento, carregamento e despejo de arquivos PE do Windows, com relocações, importações, TLS e leitura de memória de processos remotos. | Kitploit
Ferramentas/GitHubGitHub/habanada/nativepe
Análise Dinâmica (Sandboxing)Forensia de MemóriaEngenharia ReversaAnálise de MalwareUtilitários e FrameworksAnálise de BináriosDesenvolvimento de PayloadsExploração de Binários
GitHubhabanada/nativepe

NativePe

Biblioteca Object Pascal (Delphi) para análise, mapeamento, carregamento e despejo de arquivos PE do Windows, com relocações, importações, TLS e leitura de memória de processos remotos.

18há 1 diaAinda 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 →
Ver Repositório
Compartilhar

NativePe

NativePe

NativePe é uma biblioteca de Portable Executable do Windows escrita em Object Pascal para Delphi.

O projeto concentra-se em parsing de PE, mapeamento, carregamento, relocação, tratamento de importação e exportação, dumping, leitura de memória de processos e tópicos relacionados de internals do Windows. Suporta builds Win32 e Win64 a partir da mesma árvore de código-fonte.

NativePe é um projeto de pesquisa. Foi testado contra um grande conjunto de arquivos PE normais, incomuns, malformados e hostis, mas não afirma tratar corretamente todos os arquivos PE possíveis.

Motivação

Parte da motivação é pessoal. Usei Delphi por volta do início dos anos 2000 e queria revisitar o desenvolvimento de baixo nível no Windows com Delphi moderno.

NativePe é também um experimento prático para mostrar que Object Pascal ainda pode ser usado para pesquisa de PE e internals do Windows.

Origem e relação com libpeconv

O núcleo de processamento de PE do NativePe é um port/reimplementação em Object Pascal do libpeconv de hasherezade.

O código foi reescrito em Object Pascal, mas a divisão do módulo central e muitas operações públicas, caminhos de validação, decisões de fluxo de controle, regras de fallback, diagnósticos e testes foram derivados do código-fonte do libpeconv. NativePe, portanto, não é uma implementação clean-room ou projetada de forma independente da funcionalidade do libpeconv que porta.

A revisão do libpeconv usada pelo harness diferencial atual é o commit 0fc25f680e03699d33ef3b2034a6724365f3d1a4.

Agradecimentos a hasherezade por publicar o libpeconv. Consulte docs/PROVENANCE.md para a relação em nível de código-fonte e THIRD-PARTY-NOTICES.md para atribuições e avisos de licença.

O que é original aqui

NativePe é mais do que uma tradução de sintaxe do libpeconv. O projeto atual adiciona funcionalidades específicas do NativePe e integração com Delphi/Windows em torno do núcleo portado.

Isso inclui resolução de API Set, provedores de memória WinAPI/NTAPI/direct-syscall plugáveis, inicialização de security-cookie, helpers de reciclagem de PE e código de integração relacionado. Essas partes não têm contraparte direta de módulo-fonte no núcleo fixado do libpeconv.

O repositório também contém projetos de teste Delphi específicos do NativePe, fixtures do mundo real, ferramentas de corpus e testes de integração com Windows.

Principais funcionalidades

  • Tratamento de cabeçalhos e seções PE32 e PE32+
  • Conversão de RAW para virtual e virtual para RAW
  • Relocações de base
  • Tratamento de importações normais e delay-load
  • Consulta e mapeamento de exportações
  • Parsing de TLS e tratamento de callbacks
  • Parsing do diretório de recursos
  • Tratamento do diretório de exceções
  • Parsing de Load Config
  • Consulta de módulos baseada em PEB
  • Carregamento manual de PE
  • Leitura e dumping de PE em processos remotos
  • Helpers de reconstrução e reparo de importações
  • Descoberta de code caves e helpers de reciclagem de PE
  • Helpers de redirecionamento de IAT e funções locais
  • Resolução opcional de API Set
  • Inicialização opcional de security cookie
  • Camada de acesso à memória plugável
  • Backend de memória WinAPI
  • Backend de memória NTAPI através de ntdll
  • Backend de memória Win64 direct syscall
  • Alvos Win32 e Win64

Mais detalhes estão em docs/FEATURES.md.

Backends de memória

NativePe separa a lógica de PE das operações de memória do sistema operacional selecionadas através de TNativePeMemoryProvider.

Os backends internos atuais são:

  • TWinApiMemoryProvider
  • TNtApiMemoryProvider
  • TSyscallMemoryProvider no Win64

O caminho de hook existente também mantém seu switch de compatibilidade opcional UseSyscalls para proteção de memória baseada em direct syscall.

Consulte docs/MEMORY-PROVIDERS.md.

Testes

NativePe usa várias camadas de teste:

  • Testes de regressão e integração DUnitX
  • Testes de PE malformados
  • Testes reais de processos e loader do Windows
  • Um executor de corpus isolado
  • Verificações de fidelidade e diferenciais do libpeconv

A execução diferencial documentada de 25 de setembro de 2026 processou 30.159 caminhos de corpus idênticos com NativePe e o harness fixado do libpeconv. Em nível de resultado, 30.147 caminhos coincidiram e 12 diferiram. NativePe não registrou nenhum crash de worker nessa execução; o harness do libpeconv registrou seis. Esses resultados descrevem apenas este corpus e estes harnesses e não estabelecem superioridade geral.

A execução não foi uma execução de desempenho com qualidade de benchmark, portanto seus dados de tempo não são usados para alegações de desempenho. Corpora externos e amostras de malware não são distribuídos com NativePe.

Consulte docs/TESTING.md, docs/CORPUS-RESULTS.md e docs/LIBPECONV-COMPARISON.md.

Compilação

NativePe é desenvolvido com Delphi 12 Athens.

Abra NativePe.groupproj para compilar a demo incluída, os testes, o executor de corpus, a ferramenta de dump de processos e os projetos de teste do mundo real.

O código-fonte principal da biblioteca está em src. Os projetos também podem usar NativePe diretamente adicionando src ao caminho de busca de units do Delphi e referenciando as units NativePe.* necessárias.

Tanto Win32 quanto Win64 são suportados pelos projetos incluídos.

Exemplo mínimo de loader

O exemplo a seguir mapeia uma imagem PE, aplica relocações e resolve importações. Ele não chama o ponto de entrada do PE.

program PeLoaderMinimal;

{$APPTYPE CONSOLE}

uses
  System.SysUtils,
  NativePe.BufferUtil,
  NativePe.PeLoader;

var
  Image: TAlignedBuf;
  ImageSize: NativeUInt;

begin
  if ParamCount <> 1 then
    Halt(1);

  Image := LoadPeExecutable(ParamStr(1), ImageSize);
  if Image = nil then
    Halt(1);
  try
    Writeln('Loaded at: 0x', IntToHex(NativeUInt(Image), SizeOf(Pointer) * 2));
    Writeln('Virtual size: ', ImageSize);
  finally
    FreePeBuffer(Image, ImageSize);
  end;
end.

Adicione src ao caminho de busca de units do Delphi e execute o programa com um arquivo PE como seu único argumento.

Executando as ferramentas

O repositório contém vários executáveis e scripts auxiliares. Os principais pontos de entrada estão documentados em docs/BINARIES.md.

Importante: NativePeDemo.exe carrega e executa o arquivo PE fornecido. Use-o apenas com arquivos de teste confiáveis. O executor de corpus foi projetado para processamento estático de PE e não executa intencionalmente pontos de entrada de PE ou callbacks TLS.

Documentação

Baixar ferramenta