Могут ли пользователи преобразовать apk-файл моего приложения обратно в реальный код? Если да - есть ли способ предотвратить это?
Могут ли пользователи преобразовать apk-файл моего приложения обратно в реальный код? Если да - есть ли способ предотвратить это?
Ответы:
Во-первых, файл apk - это просто измененный файл jar. Итак, реальный вопрос в том, могут ли они декомпилировать файлы dex внутри. Ответ вроде как. Уже есть дизассемблеры, такие как дедексер и смали . Вы можете ожидать, что они станут только лучше, и теоретически в конечном итоге должна быть возможна декомпиляция в реальный исходный код Java (по крайней мере, иногда). См. Предыдущий вопрос о декомпиляции DEX в исходный код Java .
Следует помнить, что обфускация никогда не работает. Выберите хорошую лицензию и сделайте все возможное, чтобы обеспечить ее соблюдение законом. Не тратьте время на ненадежные технические средства.
Возможна декомпиляция файла APK. Но может быть трудно понять код, если он запутан.
ApkTool для просмотра ресурсов внутри файла APK
apktool.bat d sampleApp.apk
Использование dex2jar
dex2jar sampleApp.apk
Декомпиляция .jar с использованием JD-GUI
Могу также добавить, что в настоящее время можно декомпилировать Android-приложение онлайн, никакого программного обеспечения не требуется!
Вот вам 2 варианта:
Загрузите этот инструмент jadx https://sourceforge.net/projects/jadx/files/
Разархивируйте его и затем в папке lib запустите файл jadx-gui-0.6.1.jar, теперь просмотрите ваш файл apk. Это сделано. Автоматически apk декомпилирует и сохранит его, нажав кнопку сохранения. Надеюсь, это сработает для вас. Благодарность
Иногда вы получаете неверный код при использовании dex2jar
/ apktool
, особенно в циклах. Чтобы этого избежать, используйте jadx , который декомпилирует байт-код dalvik в исходный код java, не создавая сначала файл .jar
/, .class
как это dex2jar
делает (я думаю, apktool использует dex2jar). Он также имеет открытый исходный код и находится в активной разработке. У него даже есть графический интерфейс для фанатиков графического интерфейса. Попытайся!
Могут ли пользователи преобразовать apk-файл моего приложения обратно в реальный код?
да.
Люди могут использовать различные инструменты, чтобы:
FDex2
для выгрузки dex
файла
dex2jar
для преобразования вjar
jadx
для преобразования в java
исходный кодЕсли да - есть ли способ предотвратить это?
да. Несколько (можно объединить) способов предотвратить (в определенной степени) это:
ProGuard
Более подробную информацию можно найти в моем руководстве по китайскому :安卓 应用 的 安全 和 破解
Да, существует множество программ для декомпиляции файла .apk.
Недавно я составил на своем сайте полный список из 47 лучших декомпиляторов APK . Я разделил их на 4 разных раздела.
Надеюсь, этот сборник будет вам полезен.