|
| 1 | +# About program |
| 2 | +Небольшая утилита позволяющая grab/dump/take/get/~steal~ байт код из работующей виртуальной машины Java и сохранять его на диск. |
| 3 | +Имеет графический интерфейс, несколько форматов сохранения, совместима с jdk 1.8+, и небольшой пред-загрузцик позволяющий выбирать java для запуска |
| 4 | +## Usage |
| 5 | + |
| 6 | +> [!NOTE] |
| 7 | +> Из-за специфики приложения, для запуска нужна JDK (не JRE) |
| 8 | +
|
| 9 | +Если вы запустите приграмму на JRE то откроется окно пред-загрузщика |
| 10 | +и вам будет предложено выбрать JDK для запуска |
| 11 | +>  |
| 12 | +
|
| 13 | +Введите туда путь до jdk, например: `C:\Program Files\Java\jdk1.8.0_231` |
| 14 | +Кнопка launch перезапустит приложение на указанной jdk |
| 15 | +Если запуск не удастся вы увидете окно пред-загрузщика сново |
| 16 | + |
| 17 | +### Main frame |
| 18 | + |
| 19 | +После запуска вы увидите список запущеных виртуальных машин. Выберете нужную JVM, подключитесь, добавте нужниые вам классы во вторую панель с помощью кнопки add to grab (самая правая кнопка левой панели) |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | + |
| 24 | + |
| 25 | +### Class grabbing |
| 26 | + |
| 27 | +Чтобы сохранить выбранные классы нажмине кнопку grab (нижняя правая кнопка) |
| 28 | +Если путя из текстового поля с права не существует откроется File chooser, выбирете файл формата `.zip`, `.jar`, или папку |
| 29 | + |
| 30 | +> [!NOTE] |
| 31 | +> При выборе файла не поддерживаемого формата его формат будет автомотически заменен на `.jar` |
| 32 | +
|
| 33 | +После вам будет предложенно выбрать формат записи |
| 34 | + |
| 35 | +>  |
| 36 | +
|
| 37 | +Есть 3 формата записи |
| 38 | + |
| 39 | +- Full package |
| 40 | +- Package + Class name |
| 41 | +- Just class name |
| 42 | + |
| 43 | +**Full package:** |
| 44 | +- Сохраняет каждый класс так что его package является путем в файловой системе, например: класс `java.util.List` будет в файловой системе `java\util\List.class` |
| 45 | + |
| 46 | +**Package + Class name** |
| 47 | +- Сохраняет каждый класс так что его именем будет package + classname, например: класс `java.util.List` будет в файловой системе `java.util.List.class` |
| 48 | + |
| 49 | +**Just class name** |
| 50 | +- Сохраняет каждый класс так что его именем будет classname при условии что файлов с таким именем нет иначе package + classname, например: класс `java.util.List` будет в файловой системе `List.class` |
| 51 | + |
| 52 | +## Credits |
0 commit comments