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
NativeMirror — Native Delphi-Implementierung der PE-sieve-Funktionalität mit einer wiederverwendbaren Bibliothek, CLI und einer PE-sieve-kompatiblen DLL für die HollowsHunter-Integration. | Kitploit
Tools/GitHubGitHub/habanada/nativemirror
DefensivwerkzeugeSpeicherforensikReverse EngineeringMalware-AnalyseDigitale ForensikBinäranalyseIncident Response
GitHubhabanada/nativemirror

NativeMirror

Native Delphi-Implementierung der PE-sieve-Funktionalität mit einer wiederverwendbaren Bibliothek, CLI und einer PE-sieve-kompatiblen DLL für die HollowsHunter-Integration.

Repository anzeigen
530vor 3 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

NativeMirror

NativeMirror ist eine unabhängige Object-Pascal-Implementierung der PE-sieve-Funktionalität, angepasst von PE-sieve von hasherezade. Es scannt den Prozessspeicher, erkennt modifizierten oder injizierten Code und dumpt PE-Dateien.

Die Implementierung verwendet Delphi-native APIs und NativePe als PE-Engine. Sie kann direkt als Delphi-Bibliothek, über ihre CLI oder über eine PE-sieve-kompatible DLL-Schnittstelle verwendet werden. Alle drei teilen denselben Scanner-Kern. Das Kompatibilitätsziel ist das von außen beobachtbare Verhalten von PE-sieve 0.4.1.5; vollständige Verhaltensgleichheit wurde nicht nachgewiesen.

Anforderungen

  • Windows und Delphi 12, mit Win32- und Win64-Compiler-Unterstützung.
  • NativePe: erforderliche PE-Bibliothek. Platzieren Sie sie neben NativeMirror als ../NativePe oder passen Sie die Delphi-Suchpfade an.
  • NativeASM: optionales Win64-Disassembly-Backend. Das Projekt NativeMirrorScan.NativeAsm.dproj aktiviert USE_NATIVEASM. Ohne dieses verwendet NativeMirror den Delphi/LDE-Fallback. Passen Sie den NativeASM-Suchpfad an Ihre Installation an.
  • Python 3 mit dem Windows-py-Launcher: erforderlich für den DLL-Post-Build-Schritt und die Python-Tests. Die Skripte verwenden die Python-Standardbibliothek.
  • DUnitX: erforderlich zum Erstellen der Delphi-Test-Runner. Stellen Sie sicher, dass seine Units im Delphi-Suchpfad verfügbar sind.
  • CMake und Visual Studio 2022 mit C++-Tools: nur für die DLL-Vertragstests erforderlich.

Einige Projektkonfigurationen enthalten lokale Abhängigkeitspfade. Überprüfen Sie die Suchpfade, bevor Sie auf einem anderen Rechner erstellen.

Erstellen

Öffnen Sie NativeMirror.groupproj in Delphi und wählen Sie das erforderliche Projekt, die Plattform und die Konfiguration aus.

ProjektAusgabe
tools/NativeMirrorScan/NativeMirrorScan.dprojNativeMirrorScan.exe
tools/NativeMirrorDll/pe-sieve.dprojpe-sieve.dll
tests/ScannerIntegration/NativeMirrorTestTarget.dprojWin64-Testziel
tests/ScannerIntegration/NativeMirrorTestTarget32.dprojWin32-Testziel
tests/ScannerIntegration/NativeMirrorScannerTests.dprojWin64-Scanner-Test-Runner
tests/HollowsHunterIntegration/NativeMirrorHollowsHunterTests.dprojWin64-HollowsHunter-Test-Runner

Erstellen Sie die CLI und die DLL für Win32 und Win64 nach Bedarf. Erstellen Sie beide Testziele, bevor Sie Integrationstests ausführen. Erstellen Sie die Test-Runner für Win64.

Die Ausgaben landen in bin/<Platform>/<Config>. Die folgenden Beispiele verwenden Debug. Compiler-Units landen in dcu/. Halten Sie ausführbare Dateien aus tools/ heraus.

Den Scanner ausführen

Führen Sie diese Befehle aus dem Projektstammverzeichnis aus. Ersetzen Sie 1234 durch die Prozess-ID, die gescannt werden soll.

.\bin\Win64\Debug\NativeMirrorScan.exe /help
.\bin\Win64\Debug\NativeMirrorScan.exe /pid 1234
.\bin\Win64\Debug\NativeMirrorScan.exe /pid 1234 /json /quiet /ofilter 2
.\bin\Win64\Debug\NativeMirrorScan.exe /pid 1234 /dir output

/ofilter 2 deaktiviert die Dump-Ausgabe. /dir output wählt das Ausgabeverzeichnis für Berichte und Dumps. Verwenden Sie bei Bedarf die Win32-Executable unter bin/Win32/Debug. Der Zugriff auf den Zielprozess hängt von Ihren Windows-Berechtigungen ab.

Direkte Verwendung aus Delphi

Fügen Sie src/ und seine Unit-Unterverzeichnisse zusammen mit NativePe zum Suchpfad Ihres Projekts hinzu. Rufen Sie ScanAndDump mit TNativeMirrorOptions auf. Die Bibliothek wird in Ihre Anwendung kompiliert; diese Verwendung erfordert weder NativeMirrorScan.exe noch pe-sieve.dll. Python wird nur für den separaten DLL-Build und die Python-Tests benötigt.

Dieses Konsolenbeispiel scannt PID 1234 und gibt seinen Bericht als JSON aus:

program ScanExample;

{$APPTYPE CONSOLE}

uses
  System.JSON,
  NativeMirror.Core.Types,
  NativeMirror.Core.Options,
  NativeMirror.Core.Engine;

var
  Options: TNativeMirrorOptions;
  Report: TNativeMirrorReportEx;
  Json: TJSONObject;
begin
  Options := TNativeMirrorOptions.Default;
  Options.Pid := 1234;
  Options.Quiet := True;
  Options.OutputFilter := nmOutNoDir;
  Report := ScanAndDump(Options);
  try
    Json := Report.ToJson(Options.ResultsFilter, Options.JsonLevel);
    try
      Writeln(Json.ToJSON);
    finally
      Json.Free;
    end;
  finally
    Report.Free;
  end;
end.

Ersetze die PID durch dein Ziel. nmOutNoDir deaktiviert Berichtsdateien und Dumps. Prüfe Report.ErrorReport auf Scanfehler und Report.ScanReport auf Scanergebnisse. Der Aufrufer besitzt den zurückgegebenen Bericht und muss ihn freigeben.

Dateien in bin

Lade pe-sieve32.exe und pe-sieve64.exe von den PE-sieve releases herunter. Die vorhandenen Vergleichsskripte verwenden die ausführbaren Dateien der Version v0.4.1.1. Platziere beide in bin/Win64/Debug; die Win64-Testskripte suchen dort nach ihrem Referenzscanner. Die ausführbare Datei 32 ist die ursprüngliche Win32-Referenz, obwohl sie zusammen mit den Win64-Testwerkzeugen gespeichert wird.

Ein Debug-Setup sieht so aus:

bin/
  Win64/Debug/
    NativeMirrorScan.exe
    pe-sieve.dll
    pe-sieve.dll.exports.json
    pe-sieve32.exe
    pe-sieve64.exe
    NativeMirrorTestTarget.exe
    NativeMirrorScannerTests.exe
    NativeMirrorHollowsHunterTests.exe
    hollows_hunter.exe
  Win32/Debug/
    NativeMirrorScan.exe
    pe-sieve.dll
    pe-sieve.dll.exports.json
    NativeMirrorTestTarget32.exe

NativeMirror erzeugt die CLI, DLL, Exportdatensätze, Targets und Test-Runner. Die ausführbaren Dateien von PE-sieve und HollowsHunter sind separate Downloads. HollowsHunter wird nur für seinen Integrationstest oder die manuelle DLL-Nutzung benötigt.

HollowsHunter: den DLL-Build verwenden

Laden Sie hollows_hunter64_dll.zip, v0.4.1.1 von den HollowsHunter-Releases herunter. Verwenden Sie das DLL-Paket. Bei passender Host-Architektur und passendem API-Vertrag ersetzt die von NativeMirror erzeugte pe-sieve.dll die ursprüngliche PE-sieve-DLL, die von HollowsHunter verwendet wird. Die eigenständige statische ausführbare Datei kann keine Ersatz-DLL verwenden. Der mitgelieferte Integrationstest deckt den Win64-DLL-Host v0.4.1.1 ab.

Für einen manuellen Lauf kopieren Sie die hollows_hunter.exe aus dem Paket nach bin/Win64/Debug, neben die von NativeMirror erzeugte pe-sieve.dll. Kopieren Sie nicht die ursprüngliche DLL aus dem Paket über die NativeMirror-DLL. Sowohl der Host als auch die DLL müssen Win64 sein.

.\bin\Win64\Debug\hollows_hunter.exe /pid 1234 /quiet /hooks /ofilter 2 /json /report 7

Für den automatisierten Vergleich extrahieren Sie die unveränderte Original-EXE und -DLL aus demselben Paket nach:

tests/HollowsHunterIntegration/fixtures/Win64/pe-sieve-C/
  hollows_hunter.exe
  pe-sieve.dll
  manifest.json

Behalte die vorhandene manifest.json bei. Sie zeichnet die erwarteten Versionen und SHA-256-Hashes auf. Der Runner prüft diese Dateien, kopiert denselben Host in separate Referenz- und NativeMirror-Verzeichnisse und testet jede DLL gegen kontrollierte Testprozesse. Er lädt keine Dateien herunter und überschreibt nicht den Build in bin.

Warum der DLL-Build Python verwendet

PE-sieve exportiert PESieve_version als 32-Bit-Datenwert. Für Version 0.4.1.5 ist dieser Wert 0x00040105. Ein Aufrufer erwartet, dass die Exportadresse auf diese vier Bytes zeigt und nicht auf eine Funktion, die die Zahl zurückgibt.

Tool herunterladen