Обратный инжиниринг из файла APK в проект
10 ответов
Есть два полезных инструмента, которые будут генерировать код Java (грубый, но достаточно хороший) из неизвестного файла APK.
- Загрузите инструмент dex2jar из dex2jar.
Используйте инструмент для конвертации APK файла в JAR:
$ d2j-dex2jar.bat demo.apk dex2jar demo.apk -> ./demo-dex2jar.jar
Как только файл JAR сгенерирован, используйте JD-GUI, чтобы открыть файл JAR. Вы увидите файлы Java.
Вывод будет похож на:
Прежде всего, я рекомендую this
видео может прояснить все ваши сомнения
Если нет, пожалуйста, пройдите
Procedure for decoding .apk files, step-by-step method:
Step 1:
Создайте новую папку и поместите в нее файл.apk (который вы хотите декодировать). Теперь переименуйте расширение этого .apk
подать в .zip
(например: переименовать из filename.apk в filename.apk.zip) и сохранить его.
Если проблемы при конвертации в.zip обращайтесь link
После получения.zip теперь вы получаете файлы classes.dex и т. Д. На этом этапе вы можете видеть нарисованные, но не XML и Java файлы, поэтому продолжайте. Если вы не видите расширения, проверьте конфигурацию
Step 2:
Теперь распакуйте этот zip-файл в той же папке. Теперь загрузите dex2jar из этого link
и распакуйте его в ту же папку. Теперь откройте командную строку и перейдите в эту папку.
Затем написать dex2jar classes.dex
и нажмите ввод. Теперь вы получаете classes.dex.dex2jar
файл в той же папке.
Тогда скачайте Java-декомпилятор
А теперь дважды щелкните по jd-gui и щелкните по открытому файлу. Тогда открой classes.dex.dex2jar
файл из этой папки. Теперь вы получаете файлы классов и сохраняете все эти файлы классов (нажмите на файл, затем нажмите "сохранить все источники" в jd-gui) по имени src. Распакуйте этот zip-файл (classes_dex2jar.src.zip)
и вы получите все Java-файлы приложения.
На этом этапе вы получаете исходный код Java, но XML-файлы по-прежнему не читаются, поэтому продолжайте.
Step 3:
Теперь откройте еще одну новую папку и поместите эти файлы
положить файл.apk, который вы хотите декодировать
скачать Apktool для
windows v1.x
А такжеApktool
установить окно с помощью Google и положить в ту же папку
загрузите файл framework-res.apk с помощью Google и поместите в одну папку (не всем файлам apk нужен файл framework-res.apk)
Откройте командное окно
Перейдите в корневой каталог APKtool и введите следующую команду:
apktool if framework-res.apk.
Выше команда должна привести к Framework installed ...
,
- apktool d "appName".apk ("appName" обозначает приложение, которое вы хотите декодировать), теперь вы получаете папку с файлами в этой папке, и теперь вы также можете легко читать XML-файлы.
Step 4:
Наконец мы получили res/
а также Java-код проекта, который является нашей целью при запуске.
P.S.
Если вы не можете получить папку res с помощью описанных выше шагов, пожалуйста, установите новуюapktool
- Java 1.7 установлена? Установите Apktool 2.x
- Java 1.6 или выше установлена? Установите Apktool 1.x
Enjoy and happy coding
Нет программного обеспечения и не слишком много шагов..
Просто загрузите свой APK и получите все ресурсы с этого сайта.
https://www.apkdecompilers.com/
Этот веб-сайт декомпилирует код, встроенный в APK-файлы, и извлекает все остальные ресурсы из файла.
примечание: я декомпилирую свой файл APK и получаю код в течение одной минуты с этого сайта
Обновление 1:
Я нашел другой сайт декомпилятора онлайн,
http://www.javadecompilers.com/apk/ - Не работает постоянно с просьбой о блокировке всплывающих окон
Обновление 2:
Я нашел приложение apk decompiler в магазине игр,
https://play.google.com/store/apps/details?id=com.njlabs.showjava
Мы можем декомпилировать файлы apk в нашем телефоне Android. а также мы можем просматривать файлы Java и XML в этом приложении
Обновление 3:
Мы можем использовать другую опцию Анализировать функцию APK из версии Android Studio 2.2
Build -> Analyze APK -> выберите свой APK -> это даст результаты
В Android Studio 3.5 это так просто, что вы можете сделать это за минуту. Ниже приводится пошаговый процесс.
1: Откройте Android Studio, нажмите кнопку окна -> введите Android Studio -> щелкните значок, чтобы открыть экран-заставку студии Android, который будет выглядеть следующим образом.
2: Здесь вы можете увидеть опцию "Профиль или отладка APK", нажмите на нее, выберите свой файл apk и нажмите ОК.
3: он откроет все ваши манифесты и классы java через минуту в зависимости от размера apk.
Вот и все.
Существует новый способ сделать это.
Android Studio 2.2 имеет APK Analyzer, он даст много информации об apk, закажите его здесь: - http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
На самом деле, нет. Существует несколько наборов dex дизассемблер / декомпилятор, таких как smali или dex2jar, которые будут генерировать получеловекаемый вывод (в случае dex2jar вы можете получить код Java с помощью чего-то вроде JD-GUI, но процесс не идеально, и очень маловероятно, что вы сможете на 100% воссоздать свой исходный код, однако это может дать вам место для начала перестройки исходного дерева.
Попробуйте этот инструмент: https://decompile.io/, он работает на iPhone/iPad/Mac
Ниже приведены некоторые инструменты, которые вы можете использовать для выполнения обратного инжиниринга из файла APK в исходный код:
- Dex2jar
- Java декомпилятор
- Apktool
- Apk Analyzer
Да, вы можете вернуть свой проект. Просто переименуйте yourproject.apk
подать в yourproject.zip
и вы получите все файлы внутри этого ZIP-файла. Мы меняем расширение файла с.apk на.zip. Из этого ZIP-файла извлеките classes.dex
файл и декомпилировать его следующим образом.
Во-первых, вам нужен инструмент для извлечения всех (скомпилированных) классов из DEX в JAR. Один из них называется dex2jar, который сделан китайским студентом.
Затем вы можете использовать JD-GUI для декомпиляции классов в JAR до исходного кода. Полученный исходный код должен быть достаточно читабельным, так как dex2jar применяет некоторые оптимизации.
Для платформы Android вы можете попробовать ShowJava, доступный в магазине Play.
Вы можете просмотреть сгенерированный код через интерфейс приложения, а сгенерированные файлы java и структура папок хранятся в ShowJava
папка в /sdcard
наряду с полученным .jar
файл из конверсии.
Приложение бесплатно с рекламным баннером внизу основного экрана, но есть возможность покупки в приложении (3,99$), чтобы удалить его. Покупка из приложения не добавляет никаких функций, кроме удаления рекламного баннера.
Раскрытие информации: я не являюсь разработчиком приложения и никак не связан с ним.
Если вы ищете профессиональную альтернативу, взгляните на JEB Decompiler от PNF Software.
Существует демо-версия, которая позволит вам декомпилировать большую часть кода.
Выполните следующие шаги, чтобы сделать это, или просто используйте apkToJava gem для этого процесса, он даже позаботится об установке необходимых инструментов для его работы.
- конвертировать файл apk в zip
- распаковать файл
- извлечь из него classes.dex
- используйте dex to jar для конвертирования classes.dex в файл jar
- используйте JADX GUI, чтобы открыть файл JAR в качестве исходного кода Java
Еще один инструмент, который вы, возможно, захотите использовать, - это APK Studio. Однако он полагается на сторонние инструменты: Apktool, jadx, ADB и Uber APK signer, которые необходимо загружать отдельно.