Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
NativePe — Biblioteca Object Pascal (Delphi) para analizar, mapear, cargar y volcar archivos PE de Windows, con reubicaciones, importaciones, TLS y lectura de memoria de procesos remotos. | Kitploit
Herramientas/GitHubGitHub/habanada/nativepe
Análisis Dinámico (Sandboxing)Forensia de MemoriaIngeniería InversaAnálisis de MalwareUtilidades y FrameworksAnálisis de BinariosDesarrollo de PayloadsExplotación de Binarios
GitHubhabanada/nativepe

NativePe

Biblioteca Object Pascal (Delphi) para analizar, mapear, cargar y volcar archivos PE de Windows, con reubicaciones, importaciones, TLS y lectura de memoria de procesos remotos.

18hace 1 díaAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver Repositorio
Compartir

NativePe

NativePe

NativePe es una biblioteca de Portable Executable de Windows escrita en Object Pascal para Delphi.

El proyecto se centra en el análisis, mapeo, carga, reubicación, manejo de importaciones y exportaciones, volcado, lectura de memoria de procesos y aspectos relacionados con las tripas de Windows. Soporta compilaciones Win32 y Win64 desde el mismo árbol de código fuente.

NativePe es un proyecto de investigación. Ha sido probado contra un gran conjunto de archivos PE normales, inusuales, malformados y hostiles, pero no pretende manejar correctamente todos los archivos PE posibles.

Motivación

Parte de la motivación es personal. Usé Delphi alrededor de principios de los 2000 y quería revisitar el desarrollo de bajo nivel en Windows con Delphi moderno.

NativePe es también un experimento práctico para demostrar que Object Pascal todavía puede usarse para la investigación de PE y las tripas de Windows.

Origen y relación con libpeconv

El núcleo de procesamiento de PE de NativePe es un port/reimplementación en Object Pascal de libpeconv de hasherezade.

El código fue reescrito en Object Pascal, pero la división del módulo central y muchas operaciones públicas, rutas de validación, decisiones de flujo de control, reglas de respaldo, diagnósticos y pruebas se derivaron del código fuente de libpeconv. NativePe, por lo tanto, no es una implementación limpia o diseñada de forma independiente de la funcionalidad de libpeconv que porta.

La revisión de libpeconv usada por el arnés diferencial actual es el commit 0fc25f680e03699d33ef3b2034a6724365f3d1a4.

Gracias a hasherezade por publicar libpeconv. Consulte docs/PROVENANCE.md para la relación a nivel de código fuente y THIRD-PARTY-NOTICES.md para avisos de atribución y licencia.

Qué es original aquí

NativePe es más que una traducción de sintaxis de libpeconv. El proyecto actual añade funcionalidad específica de NativePe e integración con Delphi/Windows alrededor del núcleo portado.

Esto incluye resolución de API Set, proveedores de memoria WinAPI/NTAPI/llamada directa al sistema conectables, inicialización de security-cookie, ayudantes de reciclaje de PE y código de integración relacionado. Estas partes no tienen contraparte directa en el módulo fuente del núcleo de libpeconv fijado.

El repositorio también contiene proyectos de prueba Delphi específicos de NativePe, fixtures del mundo real, herramientas de corpus y pruebas de integración con Windows.

Características principales

  • Manejo de cabeceras y secciones PE32 y PE32+
  • Conversión de RAW a virtual y de virtual a RAW
  • Reubicaciones base
  • Manejo de importaciones normales y de carga diferida
  • Búsqueda y mapeo de exportaciones
  • Análisis de TLS y manejo de callbacks
  • Análisis del directorio de recursos
  • Manejo del directorio de excepciones
  • Análisis de Load Config
  • Búsqueda de módulos basada en PEB
  • Carga manual de PE
  • Lectura y volcado de PE de procesos remotos
  • Ayudantes de reconstrucción y reparación de importaciones
  • Descubrimiento de code caves y ayudantes de reciclaje de PE
  • Ayudantes de redirección de IAT y funciones locales
  • Resolución opcional de API Set
  • Inicialización opcional de security cookie
  • Capa de acceso a memoria conectable
  • Backend de memoria WinAPI
  • Backend de memoria NTAPI a través de ntdll
  • Backend de memoria de llamada directa al sistema en Win64
  • Objetivos Win32 y Win64

Más detalles en docs/FEATURES.md.

Backends de memoria

NativePe separa la lógica de PE de las operaciones de memoria del sistema operativo seleccionadas a través de TNativePeMemoryProvider.

Los backends integrados actuales son:

  • TWinApiMemoryProvider
  • TNtApiMemoryProvider
  • TSyscallMemoryProvider en Win64

La ruta de hook existente también conserva su interruptor de compatibilidad opcional UseSyscalls para protección de memoria basada en llamadas directas al sistema.

Consulte docs/MEMORY-PROVIDERS.md.

Pruebas

NativePe usa varias capas de pruebas:

  • Pruebas de regresión e integración DUnitX
  • Pruebas de PE malformados
  • Pruebas reales de procesos y cargadores de Windows
  • Un ejecutor de corpus aislado
  • Comprobaciones de fidelidad y diferenciales con libpeconv

La ejecución diferencial documentada del 25 de septiembre de 2026 procesó 30.159 rutas de corpus idénticas con NativePe y el arnés de libpeconv fijado. A nivel de resultado, 30.147 rutas coincidieron y 12 difirieron. NativePe no registró caídas de workers en esa ejecución; el arnés de libpeconv registró seis. Estos resultados describen únicamente este corpus y estos arneses y no establecen una superioridad general.

La ejecución no fue una prueba de rendimiento con calidad de benchmark, por lo que sus datos de tiempo no se usan para afirmaciones de rendimiento. Los corpus externos y las muestras de malware no se distribuyen con NativePe.

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

Compilación

NativePe se desarrolla con Delphi 12 Athens.

Abra NativePe.groupproj para compilar la demo incluida, las pruebas, el ejecutor de corpus, la herramienta de volcado de procesos y los proyectos de prueba del mundo real.

El código fuente de la biblioteca principal está en src. Los proyectos también pueden usar NativePe directamente añadiendo src a la ruta de búsqueda de unidades de Delphi y referenciando las unidades NativePe.* requeridas.

Tanto Win32 como Win64 son soportados por los proyectos incluidos.

Ejemplo mínimo de cargador

El siguiente ejemplo mapea una imagen PE, aplica reubicaciones y resuelve importaciones. No llama al punto de entrada del 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.

Añada src a la ruta de búsqueda de unidades de Delphi y ejecute el programa con un archivo PE como su único argumento.

Ejecución de las herramientas

El repositorio contiene varios ejecutables y scripts auxiliares. Los puntos de entrada principales están documentados en docs/BINARIES.md.

Importante: NativePeDemo.exe carga y ejecuta el archivo PE proporcionado. Úselo solo con archivos de prueba de confianza. El ejecutor de corpus está diseñado para el procesamiento estático de PE y no ejecuta intencionalmente puntos de entrada de PE ni callbacks de TLS.

Documentación

Descargar herramienta