По этой ссылке: http://developer.android.com/guide/developing/tools/proguard.html, они заявляют:Proguard не запутывания Android приложений
ProGuard делает приложение труднее перепроектировать, это важно, что вы используете его, когда ваше приложение использует функции, которые чувствительны к безопасности, например, при лицензировании ваших приложений.
Но это неправда! Я использую новейшую Proguard (4.7), включенную в ADT 17 просмотра 4. Я использую ProGuard при экспорте моего приложения, добавив
proguard.config=proguard-android.txt
в моем project.properties (ProGuard-android.txt только настройка по умолчанию включена в ADT 17).
Но я могу легко перепроектировать мой APK, возвращая его в исходный код, используя следующие шаги:
Использования АПК-инструмент для извлечения APK.
Использование smali для преобразования .smali файлов в .dex (вы указываете smali к папке, содержащей .smali файлы, как правило, внутри/SRC/COM/[COMPANYNAME]/[имя_приложения])
Использование dex2jar для преобразования полученного .dex файла в .jar
Использование JD-GUI для просмотра полученного файла .jar
Так что мой вопрос: Я делаю что-то неправильно? Или прогура просто совершенно бесполезно при запутывании кода?
Это просто говорит сложнее обратный инженер, но сделать это не так просто, как то, что вы сделали. Я вижу, что люди используют его прежде всего для уменьшения размера кода. –
haha Мне бы хотелось узнать их определение «легко». Любое приложение может быть преобразовано в 4 команды! Я мог бы обучить обезьяну сделать это. –
Чтобы уточнить, что вы видите в 'jd-gui', и что вы ожидаете увидеть? Вы видите исходный код, примерно, как вы его скомпилировали? Вы видите исходные имена переменных в своих методах и т. Д.? –