Eine Proxy-DLL für Windows zum Dump von JVM-Klassen auf JNI-Ebene.
Einige Java-Programme nutzen Reflektion, um ihren Code zu verbergen, indem sie Klassen dynamisch laden und ausführen. Sie können sie aus dem Speicher löschen, aber was ist, wenn sie direkt nach der Ausführung entladen werden? Sie könnten rt.jar
bearbeiten und einen Haken für verschiedene Reflexionsmethoden setzen. Was aber, wenn das Programm die nativen Klassenlademethoden direkt verwendet und alle Hooks auf Bytecode-Ebene umgeht?
Ziel dieses Projekts ist es, eine universelle Lösung für alle Ihre Entsorgungsanforderungen zu bieten. Durch das Einbinden auf der niedrigsten zuverlässig zugänglichen JNI-Ebene werden alle Klassen beim Laden gelöscht.
DefineClass*
. Es ist möglich, diese Methode zu umgehen, indem Sie Ihren eigenen Klassenlader in JNI implementieren. Laden Sie die neueste Version herunter. Platzieren Sie version.dll
in Ihrem Java- bin
Verzeichnis neben java.exe
. Möglicherweise möchten Sie eine separate Java-Installation verwenden, damit nicht alle Prozesse beeinträchtigt werden. Erstellen Sie auf Ihrem Desktop ein neues Verzeichnis mit dem Namen JVMDUMP
.
Wenn Sie ein Programm mit der geänderten Java-Installation ausführen, wird ein Meldungsfeld mit dem Hook-Ergebnis angezeigt. Sobald Sie OK
drücken, werden alle geladenen Klassen im Verzeichnis auf Ihrem Desktop gespeichert.
Error 2
JVMDUMP
kann auf Ihrem Desktop nicht zugegriffen werdenEine einfache Proxy-DLL-Implementierung zur problemlosen und zuverlässigen Injektion in die JVM. Weitere Informationen finden Sie in den Referenzen.
Installiert die Hooks, die Methoden zu unserem Code umleiten. Unterstützt von mhook.
Die Klassen-Dumping-Logik.
Ein schneller und einfacher Java-Klassenparser. Der Klassenname jedes eingebundenen Bytepuffers wird analysiert und zum Speichern der Datei unter dem entsprechenden Namen verwendet.