Как извлечь код файла apk
На самом деле я пытаюсь извлечь код файла .apk с именем cloudfilz.apk и хотел бы манипулировать его исходным кодом, поэтому я выполнил следующие шаги: -
создайте новую папку и поместите файл .apk(который вы хотите декодировать) теперь переименуйте этот .apk файл с расширением .zip(например: переименуйте с filename.apk в filename.apk.zip) и сохраните его. вы получаете файлы classes.dex и т.д.... на этом этапе вы можете видеть выталкиваемый, но не xml и java файл... так что продолжайте...
Шаг 2:
теперь извлеките этот файл zip apk в той же папке (в этом случае или в случае NEW FOLDER). теперь dowmload dex2jar по этой ссылке http://code.google.com/p/dex2jar/ и извлеките его в ту же папку (в данном случае NEW FOLDER)..... теперь откройте команду запросите и дойдите до этой папки (в этом случае NEW FOLDER).... после достижения записи "dex2jar classes.dex" и нажмите enter..... теперь вы получаете файл classes.dex.dex2jar в той же папке......
= > Вопрос: -I был успешным для достижения шага 1, но на этапе2, когда я выполняю dex2jar classes.dex, я получаю сообщение об ошибке в командной строке java.lang.UnsupportedClassVersionError
, я знаю, что это связано с неспособностью моей установленной версии jdk и classes.dex номер версии jdk, так что здесь и dnt есть выход...
Ответы
Ответ 1
Любой файл .apk с рынка или без знака
-
Если вы загружаете apk с рынка и, следовательно, подписали Install Astro File Manager с рынка. Откройте Astro > Инструменты > Диспетчер приложений/Резервное копирование и выберите приложение для резервного копирования на SD-карту.
Установите телефон в качестве USB-накопителя и найдите папку "backupsapps", чтобы найти apk целевого приложения (позвоните на него app.apk). Скопируйте его на локальный диск, как и в случае без знака .apk.
-
Загрузите Dex2Jar zip по этой ссылке: SourceForge
-
Разархивируйте загруженный zip файл.
-
Откройте командную строку и напишите следующую команду при доступе в каталог, где находится exx2jar exe, а также скопируйте apk в том же каталоге.
dex2jar targetapp.apk file
(./dex2jar app.apk на терминале)
-
http://jd.benow.ca/ скачать декомпилятор по этой ссылке.
-
Откройте 'targetapp.apk.dex2jar.jar с помощью jd-gui
Файл > Сохранить все источники в sava файлы классов в jar в java файлы.
Ответ 2
Как получить исходные файлы (java файлы) из файла .apk?
Как мы теперь знаем, файл apk - это всего лишь zip файл, содержащий весь файл ресурсов программы, теперь мы можем легко получить Java-код из файлов apk. Ниже приведены шаги по получению Java-кода из файлов apk.
Step 1:Renaming .apk file
- Переименуйте файл .apk с расширением .zip(например, пусть файл будет "demofile.apk", а после переименования он станет "demofile.apk.zip" )
Step 2:Getting java files from apk
- Теперь извлеките переименованный zip файл в определенную папку, например, пусть эта папка будет "demofolder".
-
Теперь загрузите dex2jar из ссылки для Windows и извлеките этот zip файл в папку "demofolder".
-
Теперь откройте командную строку и перейдите в папку, созданную на предыдущем шаге, и введите команду "dex2jar classes.dex" и нажмите enter.This будет генерировать файл "classes.dex.dex2jar" в той же папке.
-
Теперь загрузите java decompiler из ссылки и извлеките ее и запустите (дважды щелкните) jd-gui.exe
-
Из окна jd-gui просмотрите сгенерированный файл "classes.dex.dex2jar" в demofolder, это даст все файлы классов по имени src.
-
Теперь из меню "Файл" выберите "сохранить все источники", это приведет к созданию zip файла с именем "classes_dex2jar.src.zip", состоящего из всех пакетов и java файлов.
-
Извлеките этот zip файл (classes_dex2jar.src.zip), и вы получите все java файлы приложения.
Вышеуказанные шаги будут генерировать java files
, но для получения файлов xml
выполните следующие шаги.
Step 3:Getting xml files from apk
-
Загрузите apktool и установить apktool из ссылки и извлечь оба файла и поместить их в одну папку (например, "demoxmlfolder" ).
-
Поместите файл .apk в ту же папку (например, demoxmlfolder)
- Теперь откройте командную строку и перейдите в каталог, в котором хранится apktool (здесь "demoxmlfolder" ) и введите команду "apktool if framework-res.apk"
- Выше команда должна привести к установке "Framework installed..."
- Теперь в командной строке введите команду "apktool d filename.apk" (где filename - это имя файла apk)
- Это создаст папку имени имени в текущем каталоге (здесь demoxmlfolder), где все файлы xml будут сохранены в папке res\layout.
или посетите Эта ссылка.... Это, безусловно, поможет вам извлечь XML и исходные файлы Java из файла APK. Это сработало для меня.
Ответ 3
шаг 1:
Загрузить dex2jar здесь. Создайте java-проект и вставьте файлы jar (dex2jar-0.0.7.11-SNAPSHOT/lib).
Скопировать файл apk в проект java
Запустите его и после обновления проекта вы получите файл jar. Используя java-декомпилятор, вы можете просмотреть все файлы класса java
Шаг 2: Загрузите java decompiler здесь
Ответ 4
Нажмите здесь, это хороший учебник для окна /ubuntu.
-
apktool1.5.1.jar скачать с здесь.
-
apktool-install-linux-r05-ibot скачать с здесь.
-
dex2jar-0.0.9.15.zip скачать с здесь.
-
jd-gui-0.3.3.linux.i686.tar.gz(java de-complier) скачать с здесь.
-
framework-res.apk(находится на вашем устройстве android/framework/) для Android.
Процедура:
- Переименуйте файл .apk и измените расширение на .zip,
он станет .zip.
-
Затем извлеките .zip.
-
Разархивируйте загруженный файл dex2jar-0.0.9.15.zip, скопируйте содержимое и вставьте его, чтобы распаковать папку.
-
Откройте терминал и измените каталог, чтобы распаковать "dex2jar-0.0.9.15"
- cd
- sh dex2jar.sh classes.dex(результат этой команды "classes.dex.dex2jar.jar" будет в вашей извлеченной папке).
-
Теперь создайте новую папку и скопируйте в нее "classes.dex.dex2jar.jar" .
-
Разархивируйте "jd-gui-0.3.3.linux.i686.zip" и откройте "Java Decompiler" в полноэкранном режиме.
-
Нажмите на открытый файл и выберите "classes.dex.dex2jar.jar" в окне.
-
"Java Decompiler" и перейдите в файл > сохранить и сохранить исходный код в .zip файле.
-
Создайте папку "source_code".
-
Извлеките сохраненный .zip и скопируйте содержимое в папку "source_code".
-
Здесь мы сохраним исходный код.
-
Извлеките apktool1.5.1.tar.bz2, вы получите apktool.jar
-
Теперь распакуйте "apktool-install-linux-r05-ibot.zip"
-
Скопировать "framework-res.apk", ".apk" и apktool.jar
-
Вставьте его в папку распаковки "apktool-install-linux-r05-ibot" (строка № 13).
-
Затем откройте терминал и введите:
- cd
- chown -R: 'apktool.jar
- chown -R: 'apktool
- chown -R: 'aapt
- sudo chmod + x 'apktool.jar
- sudo chmod + x 'apktool
- sudo chmod + x 'aapt
- sudo mv apktool.jar/usr/local/bin
- sudo mv apktool/usr/local/bin
- sudo mv aapt/usr/local/bin
- apktool if framework-res.apk
- apktool d.apk