Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
DotNetHookerToolkit — Frida-basiertes .NET Framework-Injektor und Managed-Method-Hooking-Toolkit für Laufzeitverfolgung, native Einstiegspunktauflösung und dynamische Analyse von Windows-Prozessen. | Kitploit
Tools/GitHubGitHub/sensepost/dotnethookertoolkit
Dynamische Analyse (Sandboxing)Code-AnalyseExploitationReverse EngineeringDebuggerPenetrationstestsBinäranalyse
GitHubsensepost/dotnethookertoolkit

DotNetHookerToolkit

Frida-basiertes .NET Framework-Injektor und Managed-Method-Hooking-Toolkit für Laufzeitverfolgung, native Einstiegspunktauflösung und dynamische Analyse von Windows-Prozessen.

Repository anzeigen
11vor 5 MonatenNoch 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

InjectorCli + ManagedHookHostProj

Dieses Repository enthält zwei Projekte, die dazu entwickelt wurden, gemeinsam genutzt zu werden:

  • InjectorCli: Ein .NET Framework 4.8 Konsolen-Injektor basierend auf frida-clr (Frida.dll)
  • ManagedHookHostProj: Eine .NET Framework 4.8 Hilfs-DLL mit nativen Exports (via 3F .NET DllExport), die verwendet wird, um verwaltete Methoden in native Einstiegspunkte aufzulösen, damit Frida ankoppeln kann
  • TestTarget32: Ein Beispielprogramm unter .NET Framework 4.8 zum Testen des Hookings.

Diese Projekte zielen auf Windows ab und setzen voraus, dass Sie Prozesse instrumentieren, die Ihnen gehören oder für die Sie eine Testberechtigung haben.

Warum es zwei Projekte gibt

Frida hookt native Code-Adressen. Im .NET Framework werden verwaltete Methoden per JIT in nativen Code kompiliert, aber:

  • Frida bietet keine stabile API zum „Hooking verwalteter Methoden nach Namen“ für das .NET Framework
  • Methodenadressen sind erst bekannt, wenn der JIT die Methode kompiliert hat

Das allgemeine Muster ist daher:

  1. Verwenden Sie InjectorCli, um einen Zielprozess anzuheften/zu starten und einen Frida JavaScript-Agenten zu laden.
  2. Im Zielprozess verwenden Sie ManagedHookHostProj.dll, um:
    • eine verwaltete Methode per Reflection zu finden
    • sie zum JIT-Kompilieren zu zwingen (RuntimeHelpers.PrepareMethod)
    • den nativen Einstiegspunkt der Methode zurückzugeben (GetFunctionPointer)
  3. Zurück im Agenten rufen Sie Interceptor.attach(entrypoint, ...) auf, um Aufrufe zu verfolgen/Argumente zu protokollieren/(optional) das Verhalten zu ändern.

Wie sie zusammenarbeiten (Datenfluss)

InjectorCli (C#)

  • erstellt Frida.DeviceManager und wählt ein Gerät aus
  • startet einen Prozess oder heftet sich an
  • erstellt ein Frida.Script aus Ihrer JavaScript-Datei und lädt es
  • gibt Nachrichten vom Agenten über script.Message aus

Agent (JavaScript)

  • kann normale Win32-APIs direkt hooken (z. B. CreateFileW, MessageBoxW)
  • kann optional die verwaltete Hilfs-DLL mit Module.load() laden
  • ruft exportierte Hilfsfunktionen (z. B. ResolveMethod) über NativeFunction auf
  • verwendet verwaltete UTF-16-Puffer der Hilfs-DLL (DescribeObjectUtf16 + FreeUtf16) anstelle der CLR-String-Layout-Analyse
  • kann bei fehlgeschlagener Auflösung Hilfs-Diagnose mit GetLastErrorUtf16 abfragen
  • verwendet die zurückgegebenen Adressen, um Hooks anzubringen

ManagedHookHostProj (C#-Klassenbibliothek mit Exports)

  • läuft innerhalb der CLR des Ziels
  • verwendet Reflection, um die gewünschte Methode anhand des Namens (+ optionaler Überladungssignatur) zu finden
  • erzwingt die JIT-Kompilierung und gibt die native Einstiegspunktadresse zurück
  • bietet sichere primitive Lese-/Schreib-Exports für ByRef-Werte (ReadInt32 / WriteInt32 / WriteBool)
  • stellt thread-lokale Hilfsdiagnose bereit (GetLastErrorUtf16, ClearLastError)

Schnellstart (32-Bit-Ziel)

Um zu veranschaulichen, wie alles zusammenarbeitet, nehmen wir an, dass der Zielprozess für die 32-Bit (WoW64)-CPU-Architektur kompiliert ist.

1) Erstellen von frida-clr x86

  • Sie benötigen eine x86 Frida.dll, um sie in einen x86-Zielprozess zu injizieren.
  • Beispielbefehle (aus einer Visual Studio-Entwicklereingabeaufforderung):
root@kitploit:~
cd C:\path\to\frida-clr
configure.bat --prefix="%CD%\dist-x86" --build=windows-x86-md

cd build

make.bat

make.bat install

Stellen Sie sicher, dass Sie Folgendes haben:

  • dist-x86\bin\Frida.dll (PE32)

2) Erstellen von InjectorCli (x86)

  • Sie müssen InjectorCli.sln in Visual Studio öffnen und das Build-Ziel auf Release | x86 setzen.

  • Oder aus einer Entwicklereingabeaufforderung:

root@kitploit:~
msbuild \InjectorCli\InjectorCli.sln /p:Configuration=Release /p:Platform=x86
  • Wenn sich Ihre Frida.dll nicht unter dist-x86\bin\Frida.dll befindet, aktualisieren Sie den Verweis in InjectorCli.csproj entsprechend.

3) (Optional) Erstellen von ManagedHookHostProj (x86)

  • Sie müssen ManagedHookHostProj.sln in Visual Studio öffnen und das Build-Ziel auf Release | x86 setzen.

  • Oder aus einer Entwicklereingabeaufforderung:

root@kitploit:~
msbuild \ManagedHookHostProj\ManagedHookHostProj.sln /p:Configuration=Release /p:Platform=x86
  • Sie können dann die Exports überprüfen, indem Sie den folgenden Befehl in der Entwicklereingabeaufforderung ausführen:
root@kitploit:~
dumpbin /exports examples\ManagedHookHostProj\bin\Release\ManagedHookHostProj.dll

Hinweis: Unter x86 + StdCall können dekorationierte Exportnamen angezeigt werden (z. B. _ResolveMethod@16). Das bereitgestellte Agent-Skript enthält einen Fallback, der dekorationierte Namen findet.

4) Ausführen: Native Ablaufverfolgung (keine verwaltete Hilfs-DLL erforderlich)

  • An einen vorhandenen PID anheften:
root@kitploit:~
FridaClrInjector.exe --pid 1234 --script hooks\hook_createfilew.js
  • Gestartet (angehalten) ausführen, injizieren, fortsetzen:
root@kitploit:~
FridaClrInjector.exe --spawn "C:\Windows\SysWOW64\notepad.exe" --script hooks\hook_messagebox.js

5) Ausführen: Auflösung verwalteter Methoden + Ablaufverfolgung (verwendet die Hilfs-DLL)

  • Sie sollten zunächst hook_managed.js bearbeiten, indem Sie Folgendes setzen:

    • helperDllPath auf die erstellte ManagedHookHostProj.dll
    • targetAssemblyPath, targetTypeName, targetMethodName, paramSig
  • Dann ausführen:

root@kitploit:~
FridaClrInjector.exe --pid 1234 --script "C:\path\to\hook_managed.js"

Einschränkungen

  • Inlining: Kleine Methoden werden in Release-Builds möglicherweise inline kompiliert, und Ihr Hook wird nicht ausgelöst.
  • Überladungen: Verwenden Sie paramSig, um die richtige Überladung auszuwählen, andernfalls hooken Sie möglicherweise die falsche.
  • Die Bitanzahl muss übereinstimmen: x86-Ziel erfordert x86-Injektor + x86 Frida.dll + x86-Hilfs-DLL.
  • Rohe verwaltete Referenzen sind fragil: Legacy-Hilfsexporte (MakeString/Box*/DescribeObject) sollten nur als Kompatibilitätsfunktionen betrachtet werden.

Weitere Dokumentation

  • Injector-Dokumentation:

    • Injector README
    • Wie es funktioniert
    • Fehlerbehebung
  • Hilfs-DLL-Dokumentation:

    • Helper DLL README
    • Wie es funktioniert
    • Fehlerbehebung
  • Beispiel-Testziel-Dokumentation:

    • TestTarget32 README
    • Testfälle ausführen
Tool herunterladen