Открытие файлов apk онлайн

Tools to Decompile APK Files

1. Java Decompilers

This is a great online APK decompiler tool. This tool uses an open source like APK and DEX decompiler known as Jadx. It will help you to obtain the source code from APK file in just one click.

How to decompile APK online to the source code

  • Go to this link.
  • Now select the APK file by Choose File option and then click on the Upload and Decompile

  • Depending upon the size of the file, it will take time to decompile.
  • Once the decompilation process is completed, click on the Save button to download the source code.

2. Show Java – A Java Decompiler

Show Java is a java decompiler which can easily extract the source code of an APK (Android app). This is a decompiler that extracts the source code of an Android application including XML files and image assets. It works directly from your Android device. You can also opt for CFR 0.110 or Jadx 0.6.1 to use as the decompiler.

3. Java N-IDE

Java N-IDE is a Java console for Android. It is an Apk builder. You can build and run a java file with JDK 1.7. It supports java compiler 1.7, java editor, java autocomplete code, java debugger. It runs java file, class file, Decompile class, jar. It supports layout builder for Android and also supports VCS. Along with this, the tools which the project includes are ( Javac – Java compiler, Aapt – Android asset package tool, Dx – Dex for dalvik vm, Zip Signer, Apk Builder ). This is a great app for people who want to learn Java and also to decompile Android Apk.

4. JaDX – Decompiler

JaDX is a decompiler for “apk”, “dex”, “jar”, “class” files. It is an Android adapted version JaDX. This program does not decompile XML files and other resources. This program only decompiles classes. It also extracts the assets folder which includes binary files.

5. ApkTool

ApkTool is a tool for reverse engineering closed & binary Android apps. This tool can decode resources to the nearly original form and rebuild them after making some modifications. ApkTool makes working with an app easier because of the project like file structure and automation of some repetitive tasks like building apk, etc. It could be used for localizing, adding some features or support for custom platforms, analyzing applications and much more, but it is not intended for piracy and other non-legal uses.

Features:

  • It dissembles resources to the new original form (including resources.arsc, classes.dex and XMLs)
  • It helps with repetitive tasks.
  • Rebuilds decoded resources back to binary APK/JAR.
  • Smali debugging.

6. JD-GUI (Java Decompiler – Graphical Utility Interface)

Java Decompiler is a tool to decompile apk and analyze Java 5 “byte code” and the later versions.

  • JD-Core – It is a library that reconstructs Java source code from one or more “.class” files. It is used to recover lost source code and it explores the source of Java runtime libraries. JD-Core supports annotations, generics or type “enum”. JD-GUI and JD-Eclipse include JD-Core library.
  • JD-GUI – It is a standalone graphical utility that displays Java source codes of “.class” files. For instant access to methods and fields, you can browse the reconstructed source code with the JD-GUI.
  • JD-Eclipse – It is a plug-in for the Eclipse platform. It allows you to display all the Java sources during your debugging process, even if you do not have them all.
  • JD-Intellij – It is a plug-in for IntelliJ IDEA.

7. Dexplorer

Dexplorer is an APK decompiler app in which you can explore the DEX/APK files of all your installed apps and downloaded APK’s.

Features:

  • Browse through java packages and files
  • It allows you to browse through assets, lib and res folders, and files
  • You can view the AndroidManifest.xml
  • Previews of commonly used file types:
  • XML files (syntax highlighting)
  • Image files (adjustable background colors)
  • Audio files with playback
  • Font files with a text editor

8. Java Manager; Emulate Java

You can Emulate and Manage Java projects. This app helps you to decompile APK and your own Java programs. You can use Java in your Android. With this application, you can run java files, class files, and jar files. You can also compile and decompile your own Java programs with the help of this application.

This app runs only in command line mode.

Download link

9. DexDump

DexDump is another app to reverse-engineering Android apps. It is very easy to use. It is designed for mobile devices to decompile android applications instantly. It has easy to navigate user interface. It supports decompilation of APK, dex, odex and oat files to smali code. You can also apply a package filter to filter out uninteresting packages and search through class/field/method names within this app.

All of the above mentioned some of the tools and apps will help you to decompile APK file to the source code.

Подготовка (конкретный процесс установки ApkTool, dex2jar, JD-GUI)

После знакомства с функциями ApkTool, dex2jar и JD-GUI, давайте проделаем некоторую подготовительную работу перед декомпиляцией: сначала нам нужно установить ApkTool.

ApkTool

Скачать ApkTool

Каждый может начать сibotpeaches.github.io/Apktool/ins…Скачайте ApkTool или скачайте то, что я приготовил для всехApkTool、dex2jar、JD-GUI。

Установить ApkTool

  1. Будут скачаныФайл иДокументы готовы иизменить имя на;
  2. воляпротивперейти кПод каталогом (можно вывести команду в терминалеЧтобы открыть этот каталог);
  3. Добавьте исполняемые права к двум указанным выше файлам, то есть введите и выполните в терминале:
  4. Введите терминалЧтобы узнать, может ли он работать, если нет, вам нужноОткрыть вЩелкните по середине, чтобы запустить apktool.jar;

На этом установка ApkTool завершена, запускаем в терминалеКоманда увидит следующий вывод:

dex2jar

Скачать dex2jar

Каждый может начать сsourceforge.net/projects/de…Загрузите dex2jar или вы можете скачать то, что я приготовил для всехApkTool、dex2jar、JD-GUI. Просто разархивируйте его сразу после загрузки.

Каждый может начать сjd.benow.ca/Загрузите JD-GUI или вы можете скачать то, что я приготовил для всехApkTool、dex2jar、JD-GUI。

Декомпилировать .smali файлов на APK

Я скачал APK менеджер , который позволяет мне распаковать APK файлов.

Но он только распаковывает его и не декомпилирует файл .smali.java.

Можно ли декомпилировать .smali в .java?

java android apk smali

Источник BimoZX07 апреля 2011 в 14:36

6 Ответов

100

Нет, менеджер APK декомпилирует файл .dex в .smali и двоичный .xml в читаемый человеком xml.

Последовательность (основанная на APK Manager 4.9) является 22 для выбора пакета, а затем 9 для его декомпиляции. Если вы нажмете 1 вместо 9, то вы просто распакуете его (полезно только если вы хотите обменять .png изображения).

Там нет инструмента, доступного для декомпиляции обратно в файлы .java , и, скорее всего, это будет не так. Существует альтернатива, которая использует dex2jar для преобразования файла dex в файл .class , а затем использует декомпилятор jar (например, бесплатный JD-gui ) в обычный текст java. Хотя этот процесс далек от оптимального, и он не будет генерировать рабочий код, но он достаточно приличен, чтобы его можно было прочитать.

dex2jar: https://github.com/pxb1988/dex2jar

JD графический пользовательский интерфейс: https://jd.benow.ca/

Edit: я знал, что где-то здесь в SO есть вопрос с очень похожими ответами… декомпиляция DEX в Java исходный код

Aleadam14 апреля 2011 в 01:08 26

Существует новый кросс-plateform (java) и инструмент с открытым исходным кодом, которые позволяют вам сделать это, просто оформите заказ https://bytecodeviewer.com

=========

EDIT: По состоянию на апрель 2020 года, существует новый инструмент с открытым исходным кодом, разработанный google, который предназначен для выполнения именно того, что мы искали => https://classyshark.com

Gomino11 апреля 2020 в 19:46 25

dex2jar помогает декомпилировать ваш apk но не 100%. у вас будут некоторые проблемы с файлами .smali. Не Dex2jar преобразовать его в java. Я знаю одно приложение, которое может декомпилировать ваши исходные файлы apk и никаких проблем с файлами .smali. Вот ссылка https://www.hensence.com/en/smali2java/

Daryn29 января 2014 в 10:14 4

Моя рекомендация- добродетельные десять студий . Инструмент бесплатный, но они предлагают пожертвование. Он сочетает в себе все необходимые этапы (распаковка APK, баксмалинг, декомпиляция и т.д.) в один процесс импорта на основе easy-to-use UI. В течение пяти минут вы должны иметь исходный код Java, что меньше, чем требуется для определения параметров командной строки одного из вышеупомянутых инструментов.

Декомпиляция smali в Java — неточный процесс, особенно если артефакты smali прошли через обфускатор. Вы можете найти несколько декомпиляторов в интернете, но только некоторые из них все еще поддерживаются. Некоторые из них дадут вам лучший декомпилированный код, чем другие. Читайте «better» как в «more understandable», чем другие. Не ожидайте, что реверсивный код Java будет компилироваться из коробки. Virtuous Ten Studio поставляется с несколькими встроенными бесплатными декомпиляторами Java, поэтому вы можете легко попробовать различные декомпиляторы (шаг «Generate Java source»), чтобы увидеть, какой из них дает вам лучшие результаты, экономя время, чтобы найти эти декомпиляторы самостоятельно и выяснить, как их использовать. Среди них есть CFR, который является одним из немногих свободных и все еще поддерживаемых декомпиляторов.

В качестве выходных данных вы получаете, среди прочего, структуру папок, содержащую весь декомпилированный исходный код Java. Затем вы можете импортировать его в IntelliJ IDEA или Eclipse для дальнейшего редактирования, анализа(например, перейти к определению, найти обычаи) и т. д.

Christoph25 августа 2014 в 13:01 1

Я поддерживаю это.

Dex2jar создаст WORKING jar, который вы можете добавить в качестве источника проекта, с помощью XML-файлов, полученных из apktool.

Однако JDGUI генерирует .java файлов, которые чаще всего содержат ошибки.

Наверное, это как-то связано с запутыванием кода.

Avijit02 апреля 2013 в 10:17 -1

Для получения практического представления о преобразовании .apk файла в .java файлов просто проверьте https://www.youtube.com/watch?v= — AX4NYE-9v8 видео . вы получите больше пользы и поймете ясно. Он четко демонстрирует шаги, которые вам необходимы, если вы используете mac OS .

Основное требование для того, чтобы это сделать. 1. https://code.google.com/p/dex2jar/ 2. https://jd.benow.ca/

Param02 февраля 2020 в 07:41

Как пользоваться SmartApkTool

Прежде всего вам надо установить и настроить Java JDK и Apktool как указано выше.

Откройте программу SmartApkTool

Если Вам необходимо Декомпилировать приложение в SmartApkTool, то выберите данный пункт и необходимое приложение

Если компилировать, то

и выбрать файл в проекте apktool.yml

Для подписи приложения APK, нажать обзор, выбрать приложение и подписать

Все так легко и просто!

Альтернативный вариант

Для тех кому не понравился SmartApkTool, есть альтернатива Android MultiTool 

Владимир Медведев — автор PureGoogle.ru. Начал использовать Android с версии 1.5 и остается поклонником этой мобильной ОС по сей день.

Итак, в прошлом уже была налажена работа Apktool, теперь пришло время научится ею пользоваться. С помощью этой утилиты мы будем разбирать приложения .apk и собирать их обратно после изменения.

Преамбула

Стоит отметить, что я опишу здесь лишь изменение таких apk-файлов, как SystemUI.apk и framework-res.apk. Все остальные декомпилируются похожим образом, но о них речи идти не будет, во всяком случае пока. Во всех статьях в качестве основы будет выступать AOSP Android Jelly Bean, то есть описанное здесь может не подходить для прошивок разных производителей, мы будем работать с чистым роботом

Важно понимать, что для создания мода ваша прошивка должна быть деодексирована, то есть каждый системный apk-файл не должен сопровождаться файлом .odex, этот файл должен быть уже встроен в приложение. Проверить это тоже легко: берём любой архиватор и открываем им приложение, внутри будет несколько файлов и папок, один из них — classes.dex

Все стоковые прошивки одексированы! Если вы пользуетесь таковой — моды не ваше дело.

О том, где же взять эти файлы: SystemUI.apk можно отыскать в вашей прошивке по пути systemapp, framework-res.apk по пути systemframework. Взять их можно непосредственно из телефона, а также из zip-архива с прошивкой.

Вполне очевидным должно быть то, что открытие apk-файла архиватором в целом нам не подходит. Таким образом мы ничего не добьёмся. Однако так можно делать в случае быстрой замены картинок или уже готовых ресурсов. Об этом будет рассказано далее.

Декомпиляция приложений

Кладём SystemUI.apk и framework-res.apk в корень любого локального диска, мне удобен диск D.

Первое, что нужно сделать — установить framework-res.apk, чтобы все приложения разбирались, скажем так, с проверкой по нему, всё же это главная кладовая графических ресурсов системы. Делается это командой apktool if file.apk. В нашем случае файл лежит в корне диска D, поэтому придётся указать до него путь, получим следующее:

Файл установится в папку пользователя, то есть путь будем примерно следующим C:Usersusernameapktoolframework. Всегда устанавливайте framework-res из прошивки, с которой ведётся работа, повторная установка этой командой другого файла лишь заменит уже существующий.

Теперь можно разбирать приложения. Делается это командой apktool d file.apk, но для нашего удобства мы положили файлы в корень диска D, там их и оставим, указав место, в которое они декомпилируются. Начнём с основного:

В данном случае мы разобрали файл в новую папку framework-res для своего же удобства. Имя папки может быть любым, от этого ничего не зависит.

Поступим схожим образом и с SystemUI.apk:

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

Компиляция приложений

Предположим, что мы что-то изменили в приложении, теперь собираем. Делаем это при помощи команды apktool b ***, где *** — имя папки, в которую было разобрано приложение. И у нас это папки framework-res и systemui в корне диска D. Поступать следует так:

Приложения собраны! Новые apk-файлы можно найти в папке dist, которая теперь существует внутри папок, куда разбирались приложения, например, D:framework-resdist

Стоит отметить, что некоторые системные приложения нужно разбирать и собирать с проверкой по framework-res.apk, в таком случае нужно вводить команды, показанные на скриншоте, они отличаются лишь парой символов:

Обычно, кстати, компилирую/декомпилирую SystemUI.apk именно так.

Любой пользователь Android имеет свое представление о том, как должна выглядеть операционная система, какие функции выполнять и какой набор ПО в ней должен быть установлен по умолчанию. Однако далеко не все знают, что создать собственную прошивку не так уж сложно. Для этого совсем не обязательно разбираться в ядре Linux, уметь компилировать исходники Android или понимать, как устроен смартфон.

II. Online .apk decompilers

##

  1. APK DECOMPILER APP

This website decompiles the code from .apk files and extracts all the other assets in the file. This site uses open-source .apk decompilers called JADX and Apktool, which we mentioned in the previous type for this extraction. Good thing is, as it’s online you don’t need to download any major thing for this operation. If you are looking for a quick on the spot solution, it can be a good option for you.

  1. APK Decompiler Tools

APK.Tools is a website providing smartphone software downloads; it also includes an .apk decompiler tool. Similar to APK DECOMPILER APP it also works on some open-source .apk decompilers and you just need to drag and drop your available .apk file and you will get a quick solution handy; worth giving a try right?

  1. Apktool – Reverse engineer Android apk files

In this platform, they state that ‘The resources in any Android APK file are compressed and stored in the binary format’; which is good in sense of retrieving it back. Apktool is an instrument for reverse engineering used by developers. It can be used for closed, binary Android apps. It can decode resources to their original form.

You can use this website to extract and research assets and the manifest file. It is one of our recommended ones.

  1. Decompiler

Similar to the other this one is also an online .apk decompiling service. This is sponsored by redhat. It decompiles all types of files like Python, Java, and of course .apk. You can see that on their website. Like the others in this list, it also has all the basic ‘Online .apk decompiler’ features and you can easily use it. It is a simple yet quite useful website for many reasons; as a developer, you should definitely put it in your bookmarks. Must give it a try.

  1. Android APK Decompiler

This site uses a perfect open-source .apk and .dex decompiler called JADX, which we discussed in the previous types of decompilers. As JADX decompiles .class and .jar files, but also it produces Java source code from Android .dex and .apk files. As this site uses the JADX for this decompilation, you can expect quite good results from it. When it comes to the online .apk decompilers, the ‘Android APK Decompiler’ is worth giving a shot!

  1. Online Apk decompiler

This website will decompile the code embedded in .apk files and extract all the other assets in the file. This site provides a user interface to extract source code from .class and .jar ‘binary’ files. It is the last and definitely not the least option in the online .apk decompilers list as it also works pretty well in terms of decompilation purpose. You should think about it by visiting the website itself.

Now, as we are all done with the online .apk decompilers let’s move on to the .apk decompilers you can download for your PC permanently. Let’s check them out…

Собственный набор ПО

Каталог /system/app содержит все предустановленное в прошивку ПО. Удаляя и добавляя пакеты в этот каталог, мы можем изменить набор приложений, доступных «из коробки». Например, ни для кого не секрет, что стандартный ланчер Android (да и ADWLauncher в CyanogenMod) тормозит и имеет многочисленные недостатки. ОK, заменим его на LauncherPro:

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

Полезно поместить в прошивку одно из приложений для поиска утерянного смартфона (например, prey), тогда даже в случае сброса до заводских настроек оно останется в ОС и будет работать. Также можно заменить некоторое системное ПО, например добавить Dialer One вместо стандартного Phone.apk или Go SMS вместо sms.apk.

Как насчет системных Linux-приложений, например ssh-сервера или mc? Здесь тоже все просто. Собрать софтину для Android и процессора ARM можно с помощью комплекта NDK от Google, но большинство нужных приложений уже собрано до нас. Например, мы хотим предустановить mc в свою прошивку. Идем на xda-developers и выполняем поиск по запросу Midnight Commander. На первой же странице находим apk-пакет с установщиком и распаковываем его с помощью все того же unzip:

Видим в списке распакованных файлов assets/kits/mc-4.7.5.4-arm.tar.jet. Это архив tar.gz, который распаковывается в корень системы после установки apk-пакета (а точнее, после установки apk, запуска приложения и нажатия кнопки Install). Мы можем сразу распаковать его в нашу прошивку и получить предустановленный mc:

Теперь для запуска файлового менеджера на устройстве достаточно открыть терминал и набрать mc. Другие приложения могут распространяться в zip-архивах для прошивки с помощью ClockworkMod Recovery. Поместить их в свой мод еще проще, для этого достаточно перейти в корень прошивки (в данном случае ~/rom) и распаковать архив с помощью unzip.

Стандартный build.prop для Motorola Defy

Помимо всего этого, многие пользователи также рекомендуют применять следующие комбинации флагов:

  1. Уменьшение времени отклика сенсорного экрана:

  2. Увеличение времени жизни батареи:

  3. Твики 3G-модуля:

  4. Улучшение производительности сети:

Все эти строки необходимо просто поместить в файл system/build.prop и сохранить.

apktool Tutorial to Edit APK Files

We will cover only the basics of APK file manipulation. This only includes decompilation and compilation. Anything else lies outside of the scope of this article and should be covered in a separate writing.

Related Post
How to Install APK Using ADB Commands

Decompile, Edit and Recompile APK Files

First, download the APK file which you need to decompile and edit. In this guide, we will be using the Facebook Lite App APK as an example. You can download it here.

Next, open a terminal emulator or command prompt inside the folder you downloaded the APK file to. To do this on Windows, navigate to the folder using Windows Explorer and then type CMD in the address bar as shown below. Hit enter and a command prompt window will open.

Decompiling an APK file is quite simple. You just need to issue a command in the following form:

apktool d <APK filename>

For the Facebook Lite App, this will get into:

apktool d facebook_lite_v118.0.0.9.94.apk

Apktool will create a new folder with the same name as the APK file and place all the App data inside it.

The new folder will have a structure similar to the following:

  • The res folder contains everything that has to do with translations and user interface layout.
  • The smali folder contains App source code in the smali form. Smali is a language type similar to assembly. To make any changes apart from cosmetic ones to an App, these are the files you need to mess with.
  • The unknown folder contains everything else that comes packaged inside the APK file but does not follow Google’s guidelines for APK packaging.
  • Lastly, AndroidManifest.xml is the Manifest file. This contains information like the App name and characteristics, the Intents it listens to and the Permissions it uses.

Compile APK from a Modified Source

Compiling a modified source with apktool is as simple as decompiling. You can get the job done by just issuing a command in the form:

apktool b <app_source_path>

In our example with the Facebook Lite App, this will get into:

apktool b facebook_lite_v118.0.0.9.94

That is all you need to know if you want to compile and decompile APK files for Android. Stay tuned for special guides about manipulating App icons and colors and adding or removing functionalities to your apps! Try it now and let us know if you were able to decompile and compile an APK. I just hope our apktool tutorial will help you edit APK files yourself.

Read Next
Build.prop Tweak to Improve Interface FPS on Android

Выбираем подопытного

Итак, предположим, что наш коммуникатор уже зарутован и в загрузочную область записана консоль восстановления ClockworkMod, позволяющая устанавливать на аппарат любые прошивки без всяких ограничений (о том, как это сделать, мы писали в статье «Тотальное подчинение», опубликованной в октябрьском номере ][). Теперь мы хотим установить на устройство другую прошивку, да не абы какую, а с собственными модификациями, настройками и набором ПО. Поэтому нам нужен каркас, а именно чужая прошивка, стабильно работающая на нашем устройстве. Где ее взять?

Главное место обитания всех ромоделов — это, конечно же, форумы xda-developers.com. Там можно найти все что угодно для коммуникаторов, работающих под управлением iOS, Windows Mobile, Windows Phone и Android. Открываем сайт в браузере, жмем на раздел Forums и ищем в списках форумов свой коммуникатор. Далее заходим в соответствующий раздел Android Development и внимательно просматриваем список тем, содержащих в названии слово «». Лучше найти какую-нибудь чистую прошивку с названием вроде «Pure Android 2.3 Rom» или порт CyanogenMod, хотя, в сущности, подойдет и любая другая (правда, возможно, придется отменять авторские изменения). Открываем тему, проматываем первый пост, находим где-то в конце ссылку на скачивание и загружаем ROM на свой комп.

Моды анимации загрузки с xda-developers

Другие статьи в выпуске:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector