Запутывание Android для кода, а также ресурсов - PullRequest
5 голосов
/ 14 апреля 2011

Google рекомендует и упаковывает в ProGuard для обфускации кода. Однако конфигурация по умолчанию, с которой она поставляется, кажется минимальной, и можно до некоторой степени реконструировать ее. Большинство людей, ищущих обратный инжиниринг, на самом деле не ищут подробный код, но могут извлечь логику. Существуют ли какие-либо рекомендации по более эффективной настройке ProGuard? (Было бы хорошо, если бы Javascript был минимизирован).

Во-вторых, есть такие инструменты, как apktool, которые позволяют извлекать манифест, а также файлы ресурсов. И в них нет уровня запутывания. Это, безусловно, может показать несколько вещей. Есть ли способы избежать этого?

Ответы [ 2 ]

7 голосов
/ 14 апреля 2011

Для первой части я предлагаю вам проверить этот вопрос: Игра для Android продолжает хакаться .Он не касается непосредственно ProGuard, но дает некоторые идеи о том, как уменьшить пиратство.

Во второй части, я боюсь, нет, это не совсем возможно, так как это простые XML-файлы.Что вы можете сделать, это уменьшить использование ресурсов и создать логику непосредственно в Java .Это снизит доступ к вашему коду тремя способами:

(1), очевидно, он показывает менее легко читаемый код XML

(2), он создает гораздо более длинные файлы smali,для начала непросто: учтите, что переменные в файле smali не имеют имен, но имеют номера и используются несколько раз, что делает их еще более трудными для понимания.V1 может быть сначала TextView, а затем int, а затем частным статическим методом.

(3) это уменьшает использование шестнадцатеричных идентификаторов, которые очень легко найти в файле smali, используя таблицу из public.xml.

Когда я переносил каркас TouchWiz на некоторые пользовательские ПЗУЯ даже сделал небольшое Java-приложение для автоматизации распознавания идентификаторов (пост xda-developers здесь ), чтобы вы могли представить, как легко им следовать.

0 голосов
/ 05 июня 2018

Теперь вы можете использовать новый плагин Gradle + библиотеку, чтобы эффективно запутывать строки в классе. Пожалуйста, отметьте это здесь

https://github.com/MichaelRocks/paranoid

Также теперь есть новый плагин, который также может запутывать ресурсы, пожалуйста, проверьте его ниже

https://github.com/shwenzhang/AndResGuard

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

...