Intereting Posts
Как передать данные (например, какой элемент был нажат) между действиями в MVP? Разрешить только уникальную запись данных с Android SQLite? Извлечение контактов в Android очень медленно Как проверить, работает ли служба на Android? Android Developers MyFirstApp – "меню не может быть разрешено или не является полем" Файл Keystore D \ Telegram-master \ TMessagesProj \ config \ release.keystore не найден для подписания config 'debug' Как можно автоматически форматировать номер телефона, вводящий текст редактирования в android Не удалось обновить проект Studio Studio 0.5.2 Что означает RC_SIGN_IN в googleplus login Сомнение в создании пользовательского представления с помощью Android Как получить электрическую энергию от головного телефона? Возможно ли выпустить обновленное приложение, подписав его с другим сертификатом, чем тот, который первоначально использовался Рисовать путь с отверстием (android) Android webview.loadUrl не загружает другую веб-страницу Невозможно передать действие провайдера действия поставщику действий

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

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

Solutions Collecting From Web of "Можно ли декомпилировать файл .apk для Android?"

Во-первых, файл 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. Но он также извлекает файл .smali всех файлов .class.

Использование dex2jar

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

Декомпиляция .jar с использованием JD-GUI

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

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

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

Я думаю, что возможно использование dex2jar и gd-gui для извлечения ресурсов, вы можете изменить расширение apk на zip. Но код, декомпилированный с использованием dex2jar, не будет таким же, как у оригинала, поскольку Android использует proGuard по умолчанию

Загрузите этот инструмент 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, я думаю). Он также работает с открытым исходным кодом и активно развивается. У него даже есть графический интерфейс для GUI-фанатиков. Попробуй!