- Баллы
- 173
- Имя в Minecraft
- Sirse
На форуме часто спрашивают, как же декомпилировать мод с наибольшей точностью, чем деобфусцировать/декомпилировать, а после компилировать/обфусцировать.
Инструкция не претендует на абсолютную истину, я делаю это так, как удобно мне.
Для работы нам потребуются:
1. MCP под нужную вам версию MineCraft
2. Forge SRC, опять же под нужную версию MineCraft
3. Bearded Octo Nemesis (BON) (Версия, работающая с ForgeGradle (MC 1.7.x))
4. Декомпилятор. Я предпочитаю использовать FernFlower с патчиком от agaricusb, но можно использовать и JD-GUI. Учтите, что у FF есть проблемы с обработкой компараторов!
1. Ставим MCP, ставим на него Forge. Если у вас возникли проблемы на этом этапе, то подумайте, стоит ли вообще читать мануал дальше.
2. Запускаем BON, он потребуется для деобфускации мода. Он имеет консольный режим, однако я предпочитаю пользоваться GUI.
В поле Input File указываем путь до zip c нашим модом.
В поле Output File указываем путь и название файла, в который BON сохранит деобфусцированный мод.
В поле MCP Folder указываем путь к каталогу с MCP
Остальные поля трогать не нужно. Запускаем процесс кнопкой "GO".
3. Файл, полученный в процессе шага 2 открываем любым архиватором, и извлекаем содержимое в отдельный каталог. Теперь дело за малым - декомпиляцией.
Запускаем fernflower.jar со следующими параметрами - путь_к_каталогу_с_деобфусцированными_.class путь_к_каталогу,_куда_FF_должен_сложить_исходники
Например, в терминале, это будет выглядеть так
java -jar fernflower.jar /home/user/classes/ /home/user/sources/Если всё было сделано правильно, то на выходе вы получите исходники, с которыми вы можете делать всё что угодно.
Архив, с компонентами, при помощи которых я работаю под Windows, можно скачать в здесь.
Так же рекомендую попробовать автоматический скрипт для деобфускации/декомпиляции от @gamerforEA
Инструкция не претендует на абсолютную истину, я делаю это так, как удобно мне.
Для работы нам потребуются:
1. MCP под нужную вам версию MineCraft
2. Forge SRC, опять же под нужную версию MineCraft
3. Bearded Octo Nemesis (BON) (Версия, работающая с ForgeGradle (MC 1.7.x))
4. Декомпилятор. Я предпочитаю использовать FernFlower с патчиком от agaricusb, но можно использовать и JD-GUI. Учтите, что у FF есть проблемы с обработкой компараторов!
1. Ставим MCP, ставим на него Forge. Если у вас возникли проблемы на этом этапе, то подумайте, стоит ли вообще читать мануал дальше.
2. Запускаем BON, он потребуется для деобфускации мода. Он имеет консольный режим, однако я предпочитаю пользоваться GUI.
В поле Input File указываем путь до zip c нашим модом.
В поле Output File указываем путь и название файла, в который BON сохранит деобфусцированный мод.
В поле MCP Folder указываем путь к каталогу с MCP
Остальные поля трогать не нужно. Запускаем процесс кнопкой "GO".
3. Файл, полученный в процессе шага 2 открываем любым архиватором, и извлекаем содержимое в отдельный каталог. Теперь дело за малым - декомпиляцией.
Запускаем fernflower.jar со следующими параметрами - путь_к_каталогу_с_деобфусцированными_.class путь_к_каталогу,_куда_FF_должен_сложить_исходники
Например, в терминале, это будет выглядеть так
java -jar fernflower.jar /home/user/classes/ /home/user/sources/Если всё было сделано правильно, то на выходе вы получите исходники, с которыми вы можете делать всё что угодно.
Архив, с компонентами, при помощи которых я работаю под Windows, можно скачать в здесь.
Так же рекомендую попробовать автоматический скрипт для деобфускации/декомпиляции от @gamerforEA
Последнее редактирование:


