Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
NativePe — Object Pascal (Delphi)-Bibliothek zum Parsen, Mapping, Laden und Dumpen von Windows-PE-Dateien, mit Relocations, Imports, TLS und Lesen von Remote-Prozessspeicher. | Kitploit
Tools/GitHubGitHub/habanada/nativepe
Dynamische Analyse (Sandboxing)SpeicherforensikReverse EngineeringMalware-AnalyseDienstprogramme & FrameworksBinäranalysePayload-EntwicklungBinary-Exploitation
GitHubhabanada/nativepe

NativePe

Object Pascal (Delphi)-Bibliothek zum Parsen, Mapping, Laden und Dumpen von Windows-PE-Dateien, mit Relocations, Imports, TLS und Lesen von Remote-Prozessspeicher.

18vor 1 TagNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
Teilen

NativePe

NativePe

NativePe ist eine Windows-Portable-Executable-Bibliothek, geschrieben in Object Pascal für Delphi.

Das Projekt konzentriert sich auf PE-Parsing, Mapping, Laden, Relokation, Import- und Export-Verarbeitung, Dumping, Lesen von Prozessspeicher und verwandte Windows-Interna. Es unterstützt Win32- und Win64-Builds aus demselben Quellbaum.

NativePe ist ein Forschungsprojekt. Es wurde gegen eine große Menge normaler, ungewöhnlicher, fehlerhafter und feindseliger PE-Dateien getestet, erhebt jedoch keinen Anspruch darauf, jede mögliche PE-Datei korrekt zu verarbeiten.

Motivation

Ein Teil der Motivation ist persönlich. Ich habe Delphi um die frühen 2000er Jahre herum verwendet und wollte die Low-Level-Windows-Entwicklung mit modernem Delphi wieder aufgreifen.

NativePe ist außerdem ein praktisches Experiment, um zu zeigen, dass Object Pascal noch immer für PE- und Windows-Interna-Forschung verwendet werden kann.

Herkunft und Beziehung zu libpeconv

Der NativePe-PE-Verarbeitungskern ist ein Object-Pascal-Port/Reimplementierung von libpeconv von hasherezade.

Der Code wurde in Object Pascal neu geschrieben, aber die Kernmodulaufteilung und viele öffentliche Operationen, Validierungspfade, Kontrollflussentscheidungen, Fallback-Regeln, Diagnosen und Tests wurden aus dem libpeconv-Quellcode abgeleitet. NativePe ist daher keine Clean-Room- oder unabhängig entworfene Implementierung der libpeconv-Funktionalität, die es portiert.

Die von der aktuellen Differential-Harness verwendete libpeconv-Revision ist Commit 0fc25f680e03699d33ef3b2034a6724365f3d1a4.

Dank an hasherezade für die Veröffentlichung von libpeconv. Siehe docs/PROVENANCE.md für die Beziehung auf Quellcodeebene und THIRD-PARTY-NOTICES.md für Attributions- und Lizenzhinweise.

Was hier originär ist

NativePe ist mehr als eine Syntaxübersetzung von libpeconv. Das aktuelle Projekt fügt NativePe-spezifische Funktionalität und Delphi/Windows-Integration um den portierten Kern hinzu.

Dazu gehören API-Set-Auflösung, austauschbare WinAPI/NTAPI/Direct-Syscall-Speicheranbieter, Security-Cookie-Initialisierung, PE-Recycling-Helfer und verwandter Integrationscode. Diese Teile haben kein direktes Quellmodul-Gegenstück im gepinnten libpeconv-Kern.

Das Repository enthält außerdem NativePe-spezifische Delphi-Testprojekte, Real-World-Fixtures, Corpus-Tooling und Windows-Integrationstests.

Hauptfunktionen

  • PE32- und PE32+-Header- und Section-Verarbeitung
  • RAW-zu-Virtual- und Virtual-zu-RAW-Konvertierung
  • Basisrelokationen
  • Verarbeitung normaler und Delay-Load-Importe
  • Export-Lookup und Export-Mapping
  • TLS-Parsing und Callback-Verarbeitung
  • Parsing des Ressourcenverzeichnisses
  • Verarbeitung des Exception-Verzeichnisses
  • Parsing der Load Config
  • PEB-basierter Modul-Lookup
  • Manuelles PE-Laden
  • PE-Lesen und Dumping aus Remote-Prozessen
  • Import-Rekonstruktions- und Reparatur-Helfer
  • Code-Cave-Erkennung und PE-Recycling-Helfer
  • IAT- und lokale Funktionsumleitungs-Helfer
  • Optionale API-Set-Auflösung
  • Optionale Security-Cookie-Initialisierung
  • Austauschbare Speicherzugriffsschicht
  • WinAPI-Speicher-Backend
  • NTAPI-Speicher-Backend über ntdll
  • Win64-Direct-Syscall-Speicher-Backend
  • Win32- und Win64-Ziele

Weitere Details finden sich in docs/FEATURES.md.

Speicher-Backends

NativePe trennt die PE-Logik von ausgewählten Betriebssystem-Speicheroperationen durch TNativePeMemoryProvider.

Die aktuellen integrierten Backends sind:

  • TWinApiMemoryProvider
  • TNtApiMemoryProvider
  • TSyscallMemoryProvider unter Win64

Der bestehende Hook-Pfad behält außerdem seinen optionalen UseSyscalls-Kompatibilitätsschalter für Direct-Syscall-basierten Speicherschutz.

Siehe docs/MEMORY-PROVIDERS.md.

Testen

NativePe verwendet mehrere Testebenen:

  • DUnitX-Regressions- und Integrationstests
  • Tests mit fehlerhaften PE-Dateien
  • Tests mit echten Windows-Prozessen und Loadern
  • einen isolierten Corpus-Runner
  • libpeconv-Treue- und Differentialprüfungen

Der dokumentierte Differential-Lauf vom 25. September 2026 verarbeitete 30.159 identische Corpus-Pfade mit NativePe und der gepinnten libpeconv-Harness. Auf Ergebnis-Ebene stimmten 30.147 Pfade überein und 12 unterschieden sich. NativePe verzeichnete in diesem Lauf keine Worker-Abstürze; die libpeconv-Harness verzeichnete sechs. Diese Ergebnisse beschreiben nur diesen Corpus und diese Harnesses und belegen keine allgemeine Überlegenheit.

Der Lauf war kein Performance-Lauf in Benchmark-Qualität, daher werden seine Timing-Daten nicht für Performance-Aussagen verwendet. Externe Corpora und Malware-Samples werden nicht mit NativePe verteilt.

Siehe docs/TESTING.md, docs/CORPUS-RESULTS.md und docs/LIBPECONV-COMPARISON.md.

Erstellen

NativePe wird mit Delphi 12 Athens entwickelt.

Öffnen Sie NativePe.groupproj, um die enthaltenen Demo-, Test-, Corpus-Runner-, Prozess-Dump-Tool- und Real-World-Testprojekte zu erstellen.

Der Hauptbibliotheksquellcode befindet sich unter src. Projekte können NativePe auch direkt verwenden, indem sie src zum Delphi-Unit-Suchpfad hinzufügen und die erforderlichen NativePe.*-Units referenzieren.

Sowohl Win32 als auch Win64 werden von den enthaltenen Projekten unterstützt.

Minimales Loader-Beispiel

Das folgende Beispiel mappt ein PE-Image, wendet Relokationen an und löst Importe auf. Es ruft den PE-Einstiegspunkt nicht auf.

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.

Fügen Sie src zum Delphi-Unit-Suchpfad hinzu und führen Sie das Programm mit einer PE-Datei als einzigem Argument aus.

Ausführen der Tools

Das Repository enthält mehrere ausführbare Dateien und Hilfsskripte. Die wichtigsten Einstiegspunkte sind in docs/BINARIES.md dokumentiert.

Wichtig: NativePeDemo.exe lädt und führt die übergebene PE-Datei aus. Verwenden Sie es nur mit vertrauenswürdigen Testdateien. Der Corpus-Runner ist für statische PE-Verarbeitung ausgelegt und führt absichtlich keine PE-Einstiegspunkte oder TLS-Callbacks aus.

Dokumentation

Tool herunterladen