Вопрос

Пользователи могут преобразовать файл APK моего приложения обратно в настоящий код? Если они это сделают - есть ли способ предотвратить это?

Это было полезно?

Решение

Сначала, АН APK Файл это просто модифицированный файл JAR. Таким образом, реальный вопрос, могут ли они декомпилировать файлы DEX внутри. Ответ своего рода. Есть уже разборки, такие как детечтель а также Smali. Отказ Вы можете ожидать, что они только поправились только лучше, и теоретически это должно в конечном итоге можно будет декомпилировать для реального источника Java (по крайней мере, иногда). Увидеть предыдущий вопрос декомпиляция DEX в Java Sourcecode.

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

Другие советы

Возможна декомпиляция файла APK. Но это может быть трудно понять код, если оно запутано.

APKTool для просмотра ресурсов внутри файла APK

  • Извлекивает AndroidManifest.xml и все в папке повторной папки (макет XML файлов, изображения, HTMLS, используемые на веб-просмотре и т. Д. ..)
  • команда: apktool.bat d sampleApp.apk
  • ПРИМЕЧАНИЕ: Вы можете достичь этого, используя Zip Utility, как 7-zip. Но он также извлекает файл .smali из всех файлов .class.

Используя dex2jar.

  • Создает файл .jar из файла .apk, нам нужен JD-GUI для просмотра исходного кода из этого .jar.
  • команда: dex2jar sampleApp.apk

Декомпиляция .jar используя jd-gui

  • Декомпилировать файлы .Class (запутанные - в случае приложения Android, но читаемый исходный код получается в случае другого файла .jar). Т.е. мы получаем .java обратно из приложения.

Я также могу добавить, что в настоящее время можно декомпилировать приложение Android онлайн, никакое не требуется программное обеспечение!

Вот 2 варианта для вас:

Скачать этот инструмент JADX https://sourceforge.net/projects/jadx/files/

Расстегните его и чем в папке Lib Run jadx-Gui-0.6.1.jar file теперь просматривайте файл apk. Готово. Автоматически APK будет декомпилировать и сохранить его, нажав кнопку Сохранить. Надеюсь, это будет работать для вас. Спасибо

Иногда вы получаете сломанный код при использовании dex2jar/apktool, особенно в петлях. Чтобы избежать этого, используйте jadx., какие декомпилировать Dalvik Bytecode в исходный код Java, не создавая .jar/.class Файл первый как dex2jar делает (apktool использует dex2jar, я думаю). Это также открытый источник и в активном развитии. У него даже есть графический интерфейс для графина. Попытайся!

Пользователи могут преобразовать файл APK моего приложения обратно в настоящий код?

да.

Люди могут использовать различные инструменты для:

  • Анализ: ваш apk
  • декодировать / взломать свой apk
    • с использованием FDex2 выбросить dex файл
      • затем использовать dex2jar преобразовать в jar
        • затем использовать jadx конвертировать java исходный код

Если они это сделают - есть ли способ предотвратить это?

да. Несколько (могут комбинировать) способы предотвращения (определенной степени) это:

  • Низкий уровень: код запутывания
    • используя Android ProGuard
  • Высокий уровень: используйте сценарий Android Harden

Более подробная информация может относиться к моим китайский язык руководство: 安卓 应应 的 安全 和 破解 破解 破解

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top