Прокси-DLL для Windows для дампа классов JVM на уровне JNI.
Некоторые программы Java используют отражение, чтобы скрыть свой код путем динамической загрузки и выполнения классов. Вы можете сбросить их из памяти, но что, если они будут выгружены сразу после выполнения? Вы можете отредактировать rt.jar
и добавить привязку к различным методам отражения. Но что, если программа использует собственные методы загрузки классов напрямую, минуя любые перехватчики на уровне байт-кода?
Этот проект призван стать универсальным решением всех ваших потребностей в сбросе отходов. Подключаясь к самому низкому, надежно доступному уровню JNI, он будет выгружать все классы по мере их загрузки.
DefineClass*
. Этот метод можно обойти, реализовав собственный загрузчик классов в JNI. Загрузите последнюю версию. Поместите version.dll
в каталог bin
Java рядом с java.exe
. Возможно, вы захотите использовать отдельную установку Java, чтобы не влиять на все процессы. На рабочем столе создайте новый каталог под названием JVMDUMP
.
Когда вы запустите любую программу с измененной установкой Java, вы увидите окно сообщения с результатом перехвата. Как только вы нажмете OK
, все загруженные классы будут сохранены в каталоге на вашем рабочем столе.
Error 2
JVMDUMP
недоступен на вашем рабочем столе.Простая реализация прокси-DLL для безболезненного и надежного внедрения в JVM. Для получения дополнительной информации проверьте ссылки.
Устанавливает перехватчики, которые перенаправляют методы в наш код. Работает на mhook.
Логика дампа классов.
Быстрый и простой парсер классов Java. Он будет анализировать имя класса каждого подключенного байтового буфера и использовать его для сохранения файла под соответствующим именем.