Недавно я рассказывал как с помощью бесплатных онлайн сервисов проверить Android приложения на вирусы (проверить APK-файл). Сегодня мы продолжим тему APK-файлов, и я вам покажу как декомпилировать APK файл онлайн.
Но для начала, для тех кто не в курсе, я расскажу, что такое декомпиляция APK и декомпиляция в целом, и в каких случаях это может понадобиться. Кодерам, IT-шникам и другим компьютерным гикам читать следующую главу категорический не рекомендуется! Сразу переходите к обзору онлайн-сервисов.
Вас также может заинтересовать статья «Защита передаваемых данных в Android».
Декомпиляция APK онлайн
Декомпилятор пытается перевести скомпилированный бинарный файл обратно в некое подобие исходного кода. Качество данной операции напрямую зависит от особенностей языка программирования исходника.
Для языка программирования Java существует большое количество декомпиляторов. Байт-код Java содержит много информации. Это облегчает декомпилятору восстанавливать изначальный код до состояния, пригодного к повторной компиляции.
Декомпиляция APK
Как вы знаете, Андроид-приложения как правило пишут на Java. С момента выхода самой первой версии Андроид перед программистами стояла задача — не только компилировать из файлов Java в APK файл для установки его в Android-устройство, но и произвести обратное действие, т.е. декомпилировать файл APK.
Зачем нужна декомпиляция APK-файла?
Ответ простой — для того чтобы в первую очередь посмотреть, как работает то или иное Android-приложение, ну и конечно изменить если требуется. При декомпиляции APK-файла (если он не был подвергнут предварительной обфускации) вы получаете полный комплект Java файлов с исходным кодом.
Большинству нужно именно просмотреть содержимое и для того чтобы это сделать на компьютере нужно установить много различных инструментов. Требуется наличие установленной Java-машины, Android SDK и таких инструментов как: JavaDecompiler, dex2jar и т.д. На самом деле это хоть и сложная, но самая правильная дорога, увы требующая от пользователя некоторых знаний и навыков, ну и конечно возни.
Можно ли декомпилировать Андроид-приложение как-нибудь проще?
Да, конечно. С развитием облачных технологий появились бесплатные онлайн-сервисы о которых я сейчас расскажу.
Декомпиляция APK онлайн с Javadecompilers
Начнем наш обзор с онлайн сервиса Javadecompilers. Данный инструмент основан на оффлайн версии декомпилятора Jadx.
1. Заходим на сайт Javadecompilers нажимаем кнопку «Обзор» и выбираем необходимое приложение.
2. Нажимаем на кнопку «Upload and Decompile».
3. Через несколько минут (в зависимости от размера приложения) будет отображен результат, который можно скачать на компьютер нажав на кнопку «Save».
4. Вы также можете просмотреть все файлы находящиеся в директориях и скачать каждый по отдельности.
Кроме этого на сайте есть и другие инструменты. В целом сайт очень даже неплох. Однозначно в закладки!
Декомпиляция APK онлайн с APK-Deguard
Еще один интересный онлайн сервис называется APK-Deguard. Работает по тому же принципу. Заходим, загружаем на сайт необходимый файл и нажимаем на кнопку «Upload».
Вот как выглядит декомпилированный APK-файл на сайте.
Онлайн-сервис APK-Deguard, как и предыдущий сайт, позволяет скачать исходники. В формате txt, zip и apk.
Есть ограничение на максимальный размер загружаемого приложения. Размер файла не должен превышать 16мб. Сервис не плохой и вполне юзабельный, уже давно добавлен в закладки.
Декомпилятор APK Decompilers
Ну и напоследок в двух словах про сервис APK Decompilers. Коротко, потому что особенно не о чем и рассказывать, сайт для декомпиляции APK файлов.
По функционалу уступает предыдущим. Позволяет скачать исходники на компьютер без возможности просмотра директорий и файлов на сайте.
Выводы
Возможности облачного онлайн сервиса не сравнить с оффлайн способом декомпиляции APK файлов, который более функционален и позволяет компилировать. Но рассмотренный в статье метод в некоторых ситуациях для определенных задач может быть вполне достаточен.
На этом все. Сегодня вы узнали больше о строении и декомпиляции APK файлов. Я уверен вам понадобиться эта информация и эти навыки для защиты от вредоносных программ при установке подозрительных приложений на Android.
А какие сайты компилируют декомпелированные файлы? Мне надо надо отредактировать бинарные xml из apk.
Было бы неплохо видеть дату статьи чтобы понимать актуальность информации. Как и в целом по сайту.
Бинарные xml, красава. На html программируешь?