Справочная информация
Я пишу программу, которая будет выполнять массовое переименование элементов и функций в каталоге исходного кода Java, чтобы де-обфускацировать код на основе файла .csv поисковой таблицы, переданного вк программе.
Для чего это исходный код, который я написал на запутанном банке.У меня де-обфусцированная версия фляги, которая была запущена через настроенную версию RetroGaurd , и я хотел бы проанализировать файл сопоставления, который был передан в RetroGaurd, чтобы де-обфускацировать вызовы функций, которые делает мой исходный кодв банку.Если я просто компилирую свой код и запускаю его через RetroGaurd, когда декомпилирую, я теряю все мои приятные комментарии и форматирование (если только на RetroGaurd отсутствует опция, которую я пропустил).
Проблема
Я нашел синтаксический анализатор Abstract Syntax Tree , встроенный в Eclipse, и он отлично подходит для моего использования, однако я не планирую писать свою программу в качестве плагина для Eclipse, это будет стендодин jar, который может быть запущен на любой машине.
Моя главная проблема в том, что когда я пишу свой код, я получаю много зависимостей от внутренних jar, которые использует Eclipse.Я знаю, что, если я соблюдаю EPL для библиотечных банок, у меня не возникнет проблем с его распространением, но я обеспокоен тем, что этот проект будет становиться все больше и больше, поскольку я пишу все больше и больше банок из SDK Eclipse.
Существуют ли какие-либо другие проекты, которые позволили бы мне проанализировать исходный код Java, чтобы найти и заменить его так, как мне позволяет AST, или есть способ использовать RetroGaurd (илитакая программа), чтобы запустить ту же де-обфускацию, но мои комментарии и функции остались прежними, без необходимости запускать де-запутанную программу через декомпилятор впоследствии?