Обфускация кода Android с помощью ProGuard ... как узнать, что он был запутан? - PullRequest
9 голосов
/ 23 августа 2011

У меня есть проект Android, который я недавно опубликовал на рынке после запуска его через запутывание ProGuard.

Проект экспортирован без каких-либо осложнений, но как мне узнать, что он был запутан? Могу ли я что-нибудь сделать, чтобы убедиться, что обфускация прошла успешно?

Ответы [ 3 ]

11 голосов
/ 23 августа 2011

Ищите dump.txt, mapping.txt, seeds.txt и usage.txt. Вероятно, они будут в папке proguard в каталоге вашего проекта. Они создаются при запуске ProGuard для вашего кода.

Они заполнены информацией об обфускации, особенно полезной является mapping.txt, которая показывает, во что ProGuard превратил ваши различные имена членов.

3 голосов
/ 23 августа 2011

Попробуйте перепроектировать ваше собственное приложение.Посмотрите, что вы можете прочитать в коде.

Используйте следующие вопросы:

декомпиляция DEX в исходный код Java

http://www.taranfx.com/decompile-reverse-engineer-android-apk

0 голосов
/ 18 января 2015

DISCALIMER : я не являюсь владельцем decompileandroid.com , и мне не платят за его продвижение.Я - разработчик, который удовлетворен этим сервисом.

На самом деле есть более простой способ, чем приобретение нескольких различных инструментов и передача результатов одного из них другому (это, конечно, дает вам лучший контроль надв чем дело).Вы можете использовать сервис

decompileandroid.com

По сути, вы загружаете файл и .apk, и он выполняет все эти шаги за вас.Затем вы можете скачать файл .zip, который содержит декомпилированные источники.

Сначала вы можете загрузить свой .apk, встроенный в режиме отладки, а затем загрузить .apk, встроенный в режиме выпуска.Просто убедитесь, что флаг minifyEnabled установлен в true в вашем файле build.gradle для сборки выпуска.

Разница была довольно очевидна в моем случае - большинство моих классов были названы a, b, c и т. д. в минимизированной сборке.

...