Image

Imagestiver_rus wrote in Imageru_java

Category:

Переименование обфусцированных элементов

Как известно, обфускаторы переименовывают классы, поля и методы. Причем выбирают имена таким образом, чтобы они были
1) как можно короче (или резервированные слова)
2) как можно больше элементов имели одинаковое имя
В итоге получается нечто вроде
class a {
   int a;
   String a;
   void try(){...};
   int double(int a){...};    
}
что естественно не поддается рекомпиляции. Понятно, что восстановить изначальные названия невозможно, и декомпилятор должен давать таким элементам новые имена по собственному разумению.

Техническая часть готова, соответствующий модуль к Fernflower сейчас тестируется и будет скоро подключен. Дело теперь только за разумными правилами выбора новых имен.

Отсюда вопрос общественности: какую схему переименования вам хотелось бы видеть в декомпиляторе? Какие имена будут наиболее информативны и удобны в работе?