ProGuardDeobfuscator - небольшая модификация программы ProGuard, превращающая ее в квази-деобфускатор. В процессе обработки короткие обфусцированные имена пакетов, классов, полей и методов заменяются на более осмысленные и уникальные в пределах Jar файла.
Для деобфускации программы просто перетащите ее Jar на файл "deobfuscate.bat". В результате будет создана папка с именем программы, в которой будет находиться собственно деобфусцированный Jar, а также карта переименования и протокол работы деобфускатора.
Для корректной деобфускации необходимо поместить в папку "lib" все библиотеки, которые используются в обрабатываемой программе. В архив с ProGuardDeobfuscator включена большая часть библиотек для MIDP2.1.
Переименование производится по следующей схеме:
пакеты -> "pkg_n"
классы -> "Class_n"
поля -> "var_n"
методы -> "sub_n"
где n - случайно возрастающее шестнадцатеричное число (например 10, 23, 3b, 5a, 76, 9f, f4, 140, 18d, 1e5, и т.д.)
По умолчанию используются параметры для деобфускации J2ME мидлетов. Эти параметры можно изменить, отредактировав скрипт "deobfuscate.bat".