Можно ли декомпилировать Android.apk файл?


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

5 78

5 ответов:

во-первых, an apk файл это просто измененный файл jar. Поэтому реальный вопрос заключается в том, могут ли они декомпилировать файлы dex внутри. Ответ в некотором роде. Уже есть дизассемблеры, такие как dedexer и smali. Вы можете ожидать, что они только улучшатся, и теоретически в конечном итоге должно быть возможно декомпилировать до фактического источника Java (по крайней мере, иногда). Смотрите предыдущий вопрос декомпиляция DEX в исходный код Java.

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

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

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

  • Извлекает AndroidManifest.xml и все в папке res (файлы XML макета, изображения, htmls, используемые в webview и т. д..)
  • : apktool.bat d sampleApp.apk
  • Примечание: вы можете достичь этого с помощью утилиты zip, как 7-zip. Но, Это и извлекает свое .смали файл всех .файл класса.

С помощью dex2jar

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

Декомпиляция .jar с помощью JD-GUI

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

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

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

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

распакуйте его, а затем в папке lib запустите jadx-gui-0.6.1.файл jar теперь просмотрите ваш файл apk. Дело сделано. Автоматически будете декомпилировать и сохранить его, нажав кнопку Сохранить. Надеюсь, что это сработает для вас. Спасибо

иногда вы получаете сломанный код, при использовании dex2jar/apktool, особенно в циклах. Чтобы избежать этого, используйте jadx, который декомпилирует байт-код dalvik в исходный код java, не создавая .jar/ сначала dex2jar делает (apktool использует dex2jar я думаю). Он также является открытым исходным кодом и находится в активной разработке. У него даже есть GUI, для GUI-фанатиков. Попробуй!