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

Теория

В большинстве случаев декомпиляция приложения не вызывает особых проблем. Для каждой задачи, которую нужно проделать, написаны программы, работающие на любой платформе где можно установить Java Runtime. Итак, суть декомпиляции заключается в следующем: Вы можете либо просматривать декомпилированный код виртуальной машины Dalvik, а также все файлы ресурсов приложения (манифест, разметка и т.д.). А можете преобразовать код Dalvik в код Java. В первом случае программе передается путь к apk-файлу. Во втором из apk-файла (который по сути обычный архив) нужно вытащить файл. Этот файл содержит весь исполняемый код для машины Dalvik (да, весь код объединен в один файл). Специальная программа преобразует код Dalvik в код Java, который потом можно открыть любым java-декомпилятором. Казалось бы, второй способ предпочтительнее, но есть одна хитрость. И заключается она в том, что некоторые участки кода невозможно конвертировать, либо логика кода становится далека от того, как писал разработчик

Для простых программ этого конечно достаточно, но для понятия всего кода конечно обращать внимание стоит и на Java, и на Dalvik. Давайте же наконец поговорим о том, что конкретно нам нужно делать для декомпиляции Android приложений

Декомпиляция APK онлайн

  • Предисловие
  • Что такое декомпиляция
  • Декомпилятор APK файлов онлайн
    • Онлайн сервис APK Decompilers
    • Онлайн сервис Javadecompilers
    • Онлайн сервис APK-Deguard
  • Выводы

Декомпилятор пытается перевести скомпилированный бинарный файл обратно в некое подобие исходного кода. Качество данной операции напрямую зависит от особенностей языка программирования исходника.

Для языка программирования Java существует большое количество декомпиляторов. Байт-код Java содержит много информации. Это облегчает декомпилятору восстанавливать изначальный код до состояния, пригодного к повторной компиляции.

Декомпиляция APK

Как вы знаете, Андроид-приложения как правило пишут на Java. С момента выхода самой первой версии Андроид перед программистами стояла задача — не только компилировать из файлов Java в APK файл для установки его в Android-устройство, но и произвести обратное действие, т.е. декомпилировать файл APK.

Ответ простой — для того чтобы в первую очередь посмотреть, как работает то или иное Android-приложение, ну и конечно изменить если требуется. При декомпиляции APK-файла (если он не был подвергнут предварительной обфускации) вы получаете полный комплект Java файлов с исходным кодом.

Большинству нужно именно просмотреть содержимое и для того чтобы это сделать на компьютере нужно установить много различных инструментов. Требуется наличие установленной Java-машины, Android SDK и таких инструментов как: JavaDecompiler, dex2jar и т.д. На самом деле это хоть и сложная, но самая правильная дорога, увы требующая от пользователя некоторых знаний и навыков, ну и конечно возни.

Да, конечно. С развитием облачных технологий появились бесплатные онлайн-сервисы о которых я сейчас расскажу.

Декомпиляция APK онлайн с Javadecompilers

Начнем наш обзор с онлайн сервиса Javadecompilers. Данный инструмент основан на оффлайн версии декомпилятора Jadx.

1. Заходим на сайт Javadecompilers нажимаем кнопку «Обзор» и выбираем необходимое приложение.

2. Нажимаем на кнопку «Upload and Decompile».

Javadecompilers

3. Через несколько минут (в зависимости от размера приложения) будет отображен результат, который можно скачать на компьютер нажав на кнопку «Save».

Javadecompilers

4. Вы также можете просмотреть все файлы находящиеся в директориях и скачать каждый по отдельности.

Javadecompilers

Кроме этого на сайте есть и другие инструменты. В целом сайт очень даже неплох. Однозначно в закладки!

Декомпиляция APK онлайн с APK-Deguard

Еще один интересный онлайн сервис называется APK-Deguard. Работает по тому же принципу. Заходим, загружаем на сайт необходимый файл и нажимаем на кнопку «Upload».

APK-Deguard

Вот как выглядит декомпилированный APK-файл на сайте.

APK-Deguard

Онлайн-сервис APK-Deguard, как и предыдущий сайт, позволяет скачать исходники. В формате txt, zip и apk.

APK-Deguard

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

Декомпилятор APK Decompilers

Ну и напоследок в двух словах про сервис APK Decompilers. Коротко, потому что особенно не о чем и рассказывать, сайт для декомпиляции APK файлов.

APK Decompilers

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

Выводы

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

На этом все. Сегодня вы узнали больше о строении и декомпиляции APK файлов. Я уверен вам понадобиться эта информация и эти навыки для защиты от вредоносных программ при установке подозрительных приложений на Android.

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

News

  • 29 Nov 2019 — Apktool v2.4.1 Released

    Details / Download

  • 03 Mar 2019 — Apktool v2.4.0 Released

    Details / Download

  • 05 Sep 2018 — Apktool v2.3.4 Released

    Details / Download

  • 26 Apr 2018 — Apktool v2.3.3 Released

    Details / Download

  • 07 Apr 2018 — Apktool v2.3.2 Released

    Details / Download

  • 26 Dec 2017 — Apktool v2.3.1 Released

    Details / Download

  • 21 Sep 2017 — Apktool v2.3.0 Released

    Details / Download

  • 29 Jul 2017 — Apktool v2.2.4 Released

    Details / Download

  • 13 Jun 2017 — Apktool v2.2.3 Released

    Details / Download

  • 07 Jun 2017 — Sourcetoad Sponsors Apktool

    Details / Sourcetoad

  • 23 Jan 2017 — Apktool v2.2.2 Released

    Details / Download

  • 18 Oct 2016 — Apktool v2.2.1 Released

    Details / Download

  • 07 Aug 2016 — Apktool v2.2.0 Released

    Details / Download

  • 07 May 2016 — Apktool v2.1.1 Released

    Details / Download

  • 27 Mar 2016 — Apktool v2.1.0 Released

    Details / Download

  • 31 Dec 2015 — Apktool v2.0.3 Released

    Details / Download

  • 12 Oct 2015 — Apktool v2.0.2 Released

    Details / Download

  • 15 Jul 2015 — Apktool v2.0.1 Released

    Details / Download

  • 21 Apr 2015 — Apktool v2.0.0 Released

    Details / Download

  • 18 Mar 2015 — Moved from GoogleCode to GitHub
  • 16 Mar 2015 — GoogleCode Update

    project starred by 3000 users!

  • 12 Feb 2015 — Apktool v2.0.0 RC4 Released

    Details / Download

  • 26 Nov 2014 — Apktool v2.0.0 RC3 Released

    Details / Download

  • 05 Oct 2014 — Apktool v2.0.0 RC2 Released

    Details / Download

  • 06 Feb 2014 — Apktool v2.0.0 beta 9 Released

    Details / Download

  • 13 Oct 2013 — Apktool v2.0.0 beta 7 Released

    Details / Download

  • 27 May 2013 — GoogleCode Update

    project starred by 2000 users!

  • 02 Feb 2013 — Apktool v1.5.2 Released

    / Download

  • 28 Dec 2012 — Apktool v1.5.1 Released

    / Download

  • 23 Dec 2012 — Scripts r05-ibot Released

    Mac, Windows, Linux

  • 02 Sep 2012 — Apktool v1.5.0 Released

    Changes / Download

  • 21 Aug 2012 — Apktool v1.4.10 Released

    / Download

  • 28 Jul 2012 — Apktool v1.4.9 Released

    / Download

  • 08 Jul 2012 — Apktool v1.4.8 Released

    / Download

  • 05 Jul 2012 — Apktool v1.4.7 Released

    / Download

  • 14 Feb 2012 — Apktool v1.4.6 Released

    / Download

  • 07 Jan 2012 — Apktool v1.4.5 Released

    / Download

  • 11 Dec 2011 — Apktool v1.4.4 Released

    / Developer (iBotPeaches)

  • 08 Dec 2011 — Apktool v1.4.3 Released

    / Download

  • 07 Dec 2011 — GoogleCode Update

    project starred by 1000 users!

  • 02 Dec 2011 — Apktool v1.4.2 Released

    / Download

  • 15 May 2011 — Apktool v1.4.1 Released

    / Download

  • 15 May 2011 — Apktool v1.4.0 Released

    / Download

  • 04 May 2011 — Scripts r04-brut1 Released

    Mac, Windows, Linux

  • 19 Jan 2011 — Apktool Source Released
  • 03 Sep 2010 — Apktool v1.3.2 Released

    / Download

  • 03 Sep 2010 — Script 2.2r01-3 Released
  • 16 Jun 2010 — Apktool v1.3.1 Released

    / Download

  • 10 Jun 2010 — Apktool v1.3.0 Released

    / Download

  • 04 Jun 2010 — Scripts 2.2r01-1 Released

    Mac, Windows, Linux

  • 03 Jun 2010 — Apktool v1.2.0 Released

    / Download

  • 29 Apr 2010 — Apktool v1.1.1 Released

    / Download

  • 28 Apr 2010 — Apktool v1.1.0 Released

    / Download

  • 02 Apr 2010 — Apktool v1.0.0 Released

    / Download

  • 13 Mar 2010 — Apktool v0.9.2 Released

    / Download

  • 02 Mar 2010 — Apktool v0.9.1 Released

    / Download

  • 01 Mar 2010 — Initial Release (v0.9.0)

    Developer (brut.alll)

Решение

Прежде всего поговорим о полной декомпиляции приложения. То есть, вместе с распаковкой всех вложенных в apk xml-файлов. Для этого потребуется утилита apktool. Все что нужно — это запустить утилиту с правильными параметрами: java -jar apktool.jar d app.apk. Флаг d означает, что приложение будет декомпилировано. Последний параметр – путь к apk-файлу. Для удобства я создал bat-скрипт и положил его рядом с программой.

java -jar apktool.jar d app.apk

pause

Теперь достаточно просто скопировать интересующее Вас приложение в папку с программой под именем app.apk и запустить скрипт. Консоль покажет вывод работы программы, а после Вы увидите папку, в которой все разложено по своим местам: ресурсы, манифест, код. Также, как и проект во время разработки. За исключением, конечно же, того, что код будет выглядеть в виде опкодов для Dalvik.

Что касается второго способа, то для этого нам потребуется две другие утилиты: dex2jar и jdgui. Они обе также бесплатные и с открытым кодом. Вам необходимо открыть apk-файл с помощью архиватора (7zip, например) и извлечь в папку с dex2jar файл classes.dex.

После чего запустить утилиту следующей командой. Это преобразует код машины Dalvik в код Java. Если преобразование завершилось успешно, Вы получить файл classes.jar. Этот файл открываем в jdgui.

Программа с оконным интерфейсом, проблем с открытием файла у реверсера, пускай и начинающего, быть не должно. После открытия на панели слева будут отображены все классы, включенные в программу и распределенные по пакетам.

Дело остается за малым: исследовать код программы. Если целью декомпиляции было внесение каких-либо изменений в программе, то после всех действий необходимо все файлы собрать в 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.

Frequently Asked Questions

What is Android Reverse Engineering?

Android reverse engineering is used by developers to understand the working of apps and find out how things work. It is also used for reading another’s code while experimenting with developing new apps.

How Can I Get Source Code From Apk?

Rename Apk from app.apk to app.zip and extract the zip file into a folder. Use JADX tool to read the source code, present in classes.dex file.

How Do I Decompile An App?

In order to decompile an App, you need to install an APK extractor on your Android phone. Plus, you would also need Android SDK, dex3jar, and JD_GUI for this purpose.

Декомпилируем файлы APK онлайн

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

Мы же переходим непосредственно к осуществлению поставленной задачи — получению исходного когда. Выполнить это можно с помощью двух простых методов.

Способ 1: Decompilers online

Веб-сервис Decompilers online предназначен не только для объектов APK, но и работает с другими элементами, написанными на языке Java. Что же касается декомпиляции требуемого расширения, то здесь она происходит так:

  1. Откройте главную страницу сайта, воспользовавшись указанной выше ссылкой, и переходите к загрузке приложения.

В «Проводнике» выделите необходимый файл, а затем кликните на «Открыть».

Убедитесь в том, что элемент был добавлен, после чего щелкните на «Upload and Decompile».

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

Теперь вам доступно ознакомление со всеми найденными файлами и директориями.

Выберите один из файлов, чтобы ознакомиться с написанным в нем кодом.

Если хотите сохранить декомпилированный проект себе на компьютер, кликните на «Save». Все данные будут загружены в формате одного архива.

Теперь вы знаете, как с помощью простого интернет-ресурса под названием Decompilers online можно вытащить информацию и исходные коды из APK-файлов. На этом ознакомление с упомянутым выше сайтом завершено.

Способ 2: APK Decompilers

В этом способе мы рассмотрим такой же процесс расшифровки, только уже с использованием онлайн-сервиса APK Decompilers. Вся процедура выглядит так:

  1. Перейдите на сайт APK Decompilers и нажмите на «Выберите файл».

Как и в предыдущем способе, загрузка объекта осуществляется через «Проводник».

Запустите обработку.

Внизу будет отображен таймер предположительного времени, которое будет затрачено на декомпиляцию APK.

После обработки появится кнопка, щелкните по ней, чтобы начать скачивание результата.

Готовая информация будет скачана в виде архива.

В самой закачке будут отображаться все присутствующие в APK директории и элементы. Открыть и редактировать их можно с помощью соответствующего софта.

Процедура декомпиляции APK-файлов требуется далеко не всем пользователям, однако для некоторых полученная информация представляет большую ценность. Поэтому сайты, подобные тем, которые мы рассмотрели сегодня, значительно упрощают процедуру получения исходного кода и других библиотек.

Опишите, что у вас не получилось.
Наши специалисты постараются ответить максимально быстро.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий