Расскажем, как на телефоне открыть APK-файл не из Google Play, и что с ним можно сделать на компьютере
Файлы с расширением APK хранят исходную информацию о приложениях для платформы Android. Для чего предназначены такие файлы, а также, чем открыть APK на Android-смартфоне и десктопе, читайте в статье.
Иногда некоторые приложения на Android чем-то не устраивают пользователя. В качестве примера можно привести назойливую рекламу. А то бывает и так — всем хороша программа, да только перевод в ней или кривой, или вовсе отсутствует. Или, например, программа триальная, а получить полную версию возможности нет. Как же изменить ситуацию?
APK-файлы используются для установки приложений на мобильные устройства под управлением Android. В файле данного формата запакованы все необходимые компоненты, после инсталляции которых пользователь может работать с нужным ему приложением. Объекты данного формата можно открыть как для установки, так и просто распаковать содержимое. Для этого подходят разные программы как в Windows, так и на Android.
Описание формата
Формат APK представляет собой архивную папку Zip. В файле содержится информация о кодах, из которых скомпилировано приложение. Для создания таких файлов на операционной системе Android используется стандарт, разработанный группой Open Handset Alliance. Корпорация Google пользуется продуктом Software Development Kit. После того, как нужные файлы добавлены в архив, добавляется программный код, сертификаты и текстовое описание. Затем создается архив, основанный на формате JAR.
Введение
В этой статье мы поговорим о том, как разобрать пакет APK с приложением, рассмотрим его внутреннюю структуру, дизассемблируем и декомпилируем байт-код, а также попробуем внести в приложения несколько изменений, которые могут принести нам ту или иную выгоду.
Чтобы сделать все это самостоятельно, потребуются хотя бы начальные знания языка Java, на котором пишутся приложения для Android, и языка XML, который используется в Android повсеместно — от описания самого приложения и его прав доступа до хранения строк, которые будут выведены на экран. Также понадобится умение обращаться со специализированным консольным софтом.
Итак, что же представляет собой пакет APK, в котором распространяется абсолютно весь софт для Android?
Если вы хотите узнать, как открыть APK-файлы на ПК, вам просто нужно потратить несколько минут свободного времени и прочитать инструкции, которые я собираюсь вам дать. Фактически, в сегодняшнем руководстве я покажу вам, как выполнить эту процедуру для Windows и macOS, и рекомендую различные решения. Расскажу вам об официальном программном обеспечении Google Android Studio, которое позволяет разрабатывать приложения для Android и детально просматривать их содержимое. С другой стороны, если ваша цель состоит в том, чтобы установить приложение для Android на ваш ПК, то это можно осуществить через эмулятор Android, о чём я расскажу во второй части руководства. Если вы намерены только извлечь содержимое файла APK на компьютер, не волнуйтесь, я покажу вам некоторые решения, которые могут подойти для этого случая.
Если файл имеет расширение *. APK, то скорее всего это установочный пакет для смартфонов на базе Android. Такие файлы бесполезно запускать в Windows, поскольку они предназначены для установки программ на мобильные устройства.
Тем не менее, просмотреть APK файлы можно и на компьютере. Для этого расширение APK нужно переименовать в ZIP, а затем распаковать получившийся архив с помощью любого совместимого архиватора. A PK файлы это по сути ZIP архивы, которые можно легко открыть.
В этом наборе мы собрали несколько хороших архиваторов, которые могут работать с ZIP архивами. Если вам нужно открыть содержимое APK файла, то вы можете воспользоваться любой из программ с этой страницы. Однако более целесообразно выбирать архиватор с учетом будущих потребностей по работе с архивами.
Архиваторы различаются по цене (платный или бесплатный), по количеству поддерживаемых форматов и по функциональности. Некоторые архиваторы имеют несколько степеней сжатия и возможности создания многотомных архивов. В тоже время, другие программы даже не имеют интерфейса, встраивая свои функции в меню проводника (вы можете быстро распаковать или создать архив, но не имеет каких-либо настроек).
Раньше в серии Windows не было нативных решений по запуску и установке Android приложений. Первые обещания появились лишь с выпуском Windows 11, но фактически в момент релиза у нее не были доступны эти пакеты. И лишь недавно данная фича стала доступна для простых смертных. В этой статье предлагаю посмотреть работу как новой системы Windows Subsystem for Android (WSA), так и классические способы, которые помогут вам открыть обычный APK-файл на Windows 11. Только короткие и понятные пошаговые инструкции.
Для справки совсем зеленым – файлы с расширением APK являются установщиками мобильных приложений для Android. Система Windows пока не умеет работать с ними напрямую, но пытается идти к этому. К тому же есть ряд альтернативных решений.
Шаг 1 – Установка Windows Subsystem for Android (WSA)

Способ подходит исключительно для опытных пользователей ПК. Новички здесь могут легко наделать ошибок.
Внимание! Так как эта подсистема появилась в Windows 11 относительно момента написания статьи недавно, что-то в будущем скорее всего будет упрощено (должна появиться простая загрузка из Microsoft Store). Но пока вот такие танцы с бубнами.
Очень важно, чтобы ваша система поддерживала виртуализацию (обычно, она включена). Как рекомендация – наличие SSD дисков.






Особенно с настройками здесь не разгуляешься, да и все действия производится через Amazon AppStore, который тоже был успешно установлен.
Шаг 2 (пока не работает) – Использование Amazon AppStore
На момент публикации статьи пока этот магазин не доступен у нас:

Поэтому остается только ручной метод установки, изложенный в следующей главе.
Шаг 2 – Ручная установка APK через ADB Installer
Пока предыдущий метод не работает, или вы хотите установить свой собственный APK файл, можно воспользоваться этим методом.

Все установленные приложения можно найти в стандартном меню приложений через Пуск. Но стоит помнить, что некоторые «апэкашки» все-таки не получится установить.
Не забываем как в прошлом шаге включить в WSA режим разработчика.
Если прошлый способ показался вам сложным – есть облегченный метод.


В ранних версиях Windows 11 это приложение периодически работало не корректно, но сейчас (тьфу-тьфу) меня все более чем устраивает.
Использование других приложений
Эти программы могут ругаться на включенную в Шаге 1 систему виртуализации Hyper V. Если нужно – отключаем аналогично.
Если для ваших задач подходит альтернативная система мобильной виртуализации, то можно присмотреться и к другим более популярным приложениям эмуляции мобильных устройств. Привожу список используемых мною программ для открытия APK-файлов на компьютере или ноутбуке. Особое описание не требуется, интерфейсы хорошие:
Открыть APK на Android
Основная сложность установки APK-файлов на андроиде заключается в том, что по умолчанию Google запрещает использование приложений из неизвестных источников. Это нужно, чтобы защитить неопытных пользователей от потенциально вредоносных программ, поэтому перед загрузкой приложения убедитесь в его безопасности. Далее выполните несложные действия, чтобы открыть файл APK на смартфоне:
Открыть APK на ПК
Перед открытием APK-файла на ПК c Windows 10 и ниже, проверьте его на наличие вирусов. Не скачивайте приложения с незнакомых сайтов, поскольку под видом расширения APK вместо игр распространяются “пиратские” сборки с вредоносными функциями. Чтобы просмотреть содержимое APK-файла, подойдет любой архиватор, например, 7-Zip.
Чтобы инсталлировать приложение из APK-архива на компьютер, воспользуйтесь программой BlueStacks. В утилиту уже встроены 10 приложений, которые доступны для установки. Для установки выполните ряд простых действий:
Декомпиляция приложений
В статье мы работали только с дизассемблированным кодом приложения, однако если в большие приложения вносить более серьезные изменения, разобраться в коде smali будет гораздо сложнее. К счастью, мы можем декомпилировать код dex в Java-код, который будет хоть и не оригинальным и не компилируемым обратно, но гораздо более легким для чтения и понимания логики работы приложения. Чтобы сделать это, нам понадобятся два инструмента:
Использовать их следует так. Сначала запускаем dex2jar, указывая в качестве аргумента путь до apk-пакета:
% dex2jar.sh mail.apk
В результате в текущем каталоге появится Java-пакет mail.jar, который уже можно открыть в jd-gui для просмотра Java-кода.
Открытие APK-файлов на компьютере
Далее давайте с вами затронем более специфическое применение APK-файлов, когда они устанавливаются на компьютер или используются для редактирования содержимого. В первом случае понадобится обратиться к эмулятору, а во втором — к онлайн-сервису или любому архиватору, который вы используете на своем ПК.
Эмуляторы Android для Windows
Сейчас существует как минимум две известные и проверенные программы, играющие роль эмулятора Android для Windows. Другие используются реже и не являются настолько же хорошими. Давайте я вкратце расскажу об этих двух эмуляторах, а далее представлю информацию о том, как работать с ними для открытия APK.
BlueStacks — самый популярный эмулятор. Недавно вышло обновление, в котором разработчики уделили особое внимание производительности. Теперь BlueStacks отлично подходит для запуска даже самых требовательных мобильных игр, что также связано с оптимизацией под устройства ввода (клавиатуру и мышь). Сделаем вывод, что BlueStacks станет лучшим выбором для геймеров.
NoxPlayer — данный софт можно считать универсальным, поскольку он как просто эмулирует работу Android и предоставляет доступ к общим приложениям, так и может использоваться для игр. По производительности немного уступает предыдущему эмулятору, но предлагает пользователю немного больше настроек для эмуляции разных моделей устройств, если это будет важно.

Браузерное расширение ApkOnline
Если у вас нет требований запустить мобильную игру или какую-то сложную программу, то открыть приложение, находящееся в APK-файле, на компьютере можно при помощи браузерного расширения ApkOnline, которое позволит обойтись без установки дополнительного программного обеспечения.
Архиваторы
Вы можете использовать любой архиватор в Windows для открытия APK, чтобы просмотреть содержимое и внести в него изменения. Вместе с этим через этот же архиватор можно конвертировать APK в RAR или ZIP, если это для чего-то вам нужно. Достаточно будет просто выбрать из меню «Файл» пункт «Сохранить как» и указать подходящий для вас формат.
Онлайн-сервис EzyZip
Если у вас нет подходящего архиватора или приведенный выше метод распаковки APK вам не подходит, для этих же целей можно использовать онлайн-сервис EzyZip, поддерживающий как работу с обычными архивами, так и АПК-файлами.
Подсистема Windows для Android (только Windows 11)
Одно из экспериментальных нововведений в Windows 11 — наличие подсистемы для Android. По сути, это встроенный эмулятор, предназначенный для установки и запуска мобильных приложений на компьютере. К сожалению, сейчас он есть не у всех (в основном у участников программы предварительной оценки), а скачивание подсистемы отдельно может привести к сбоям в работе ОС, поскольку официального метода сделать это пока нет.
Исходя из вышенаписанного, стоит заметить, что следующая инструкция подойдет только тем юзерам, у кого уже установлена Windows 11, а также на компьютере по умолчанию присутствует подсистема Windows для Android. Всем остальным пользователям придется использовать один из предыдущих методов для запуска мобильных приложений на ПК.
Выше вы получили информацию о трех разных методах открытия APK на Андроиде и о пяти для компьютера. Наверняка среди них найдется подходящий конкретно для вас, а представленные инструкции помогут быстро и без хлопот начать работу с приложением или отредактировать содержимое пакета установщика.
Препарирование. Отключаем рекламу
Теория — это, конечно, хорошо, но зачем она нужна, если мы не знаем, что делать с распакованным пакетом? Попробуем применить теорию с пользой для себя, а именно модифицируем какую-нибудь софтину так, чтобы она не показывала нам рекламу. Для примера пусть это будет Virtual Torch — виртуальный факел. Для нас эта софтина подойдет идеально, потому что она под завязку набита раздражающей рекламой и к тому же достаточно проста, чтобы не потеряться в дебрях кода.

Поиск кода рекламы в jd-gui
$ apktool d com.kauf.particle.virtualtorch.apk
После этого в каталоге com.kauf.particle.virtualtorch появится файловое дерево, похожее на описанное в предыдущем разделе, но с дополнительным каталогом smali вместо dex-файлов и файлом apktool.yml. Первый содержит дизассемблированный код исполняемого dex-файла приложения, второй — служебную информацию, необходимую apktool для сборки пакета обратно.
Первое место, куда мы должны заглянуть, — это, конечно же, AndroidManifest.xml. И здесь мы сразу встречаем следующую строку:
Нетрудно догадаться, что она отвечает за предоставление приложению полномочий на использование интернет-соединения. По сути, если мы хотим просто избавиться от рекламы, нам, скорее всего, достаточно будет запретить приложению интернет. Попытаемся это сделать. Удаляем указанную строку и пробуем собрать софтину с помощью apktool:
$ apktool b com.kauf.particle.virtualtorch
В каталоге com.kauf.particle.virtualtorch/build/ появится результирующий APK-файл. Однако установить его не получится, так как он не имеет цифровой подписи и контрольных сумм файлов (в нем просто нет каталога META-INF/). Мы должны подписать пакет с помощью утилиты apk-signer. Запустили. Интерфейс состоит из двух вкладок — на первой (Key Generator) создаем ключи, на второй (APK Signer) подписываем. Чтобы создать наш приватный ключ, заполняем следующие поля:
Остальные поля, в общем-то, необязательны — но необходимо заполнить хотя бы одно.

Создание ключа в apk-signer
Устройство APK-пакетов и их получение
Пакет приложения Android, по сути, является обычным ZIP-файлом, для просмотра содержимого и распаковки которого никаких специальных инструментов не требуется. Достаточно иметь архиватор — 7zip для Windows или консольный unzip в Linux. Но это что касается обертки. А что внутри? Внутри же у нас в общем случае такая структура:
Перечисленные файлы и каталоги есть если не во всех, то, пожалуй, в абсолютном большинстве APK. Однако стоит упомянуть еще несколько не столь распространенных файлов/каталогов:
Этот каталог используют производители игр, помещая туда движок игры, написанный на C/C++, а также создатели высокопроизводительных приложений (например, Google Chrome). С устройством разобрались. Но как же получить сам файл пакета интересующего приложения? Поскольку без рута с устройства забрать файлы APK не представляется возможным (они лежат в каталоге /data/app), а рутить не всегда целесообразно, имеется как минимум три способа получить файл приложения на компьютер:
Какой из них использовать — дело вкуса; мы предпочитаем использовать отдельные приложения, поэтому опишем использование Real APK Leecher, тем более что написан он на Java и, соответственно, работать будет хоть в винде, хоть в никсах.
После запуска программы необходимо заполнить три поля: Email, Password и Device ID — и выбрать язык. Первые два — e-mail и пароль твоего гуглоаккаунта, который ты используешь на устройстве. Третий же является идентификатором устройства, и его можно получить, набрав на номеронабирателе код ##8255## и затем найдя строку Device ID. При заполнении надо ввести только ID без префикса android-.

Настройка Real APK Leecher
После заполнения и сохранения нередко выскакивает сообщение «Error while connecting to server». Оно не имеет отношения к Google Play, поэтому смело его игнорируй и ищи интересующие тебя пакеты.
Как открыть апк файл на компьютере
Даже не все владельцы девайсов с операционной системой Android знают, что такое APK файл. Что уж говорить о тех, кто никогда не пользовался телефонами или планшетами с этой системой. Тем не менее даже владельцы компьютеров с windows могут извлечь для себя массу полезного из файлов APK.

Как открыть апк файл на компьютере
Что такое APK
Сначала давайте разберемся, что собой представляют файлы.
Android Package – это расширение файлов, которые используют для распространения программ для любых устройств, на которые установлен Android. В windows для установки программы нужно найти файл .exe. В Android для этого же нужно найти именно APK. Такие файлы распространяются через сайты с софтом для телефонов или на специальных форумах.
Android Package представляет собой архив, в котором хранится само приложение и все нужные для его работы файлы.

Зачем они нужны и для чего могут пригодиться владельцам простых компьютеров
Для устройств с ОС Android уже написано множество интересных и необычных приложений. У большинства из них нет версии для компьютера. В таком случае, если вы захотите поиграть в любимую игру для телефона, а его под рукой не будет, то необходимо будет устанавливать APK файл на свой компьютер.

Apk файл для компьютера
Другая ситуация, когда может потребоваться открывать APK на компьютере – просмотр его содержимого. Это может потребоваться для того, чтобы частично изменить его. Например, перевести его на нужный язык.
Важно! Интересующие нас файлы не имеют никакого дополнительного шифрования. А ПК файл не что иное, как архив, в котором хранятся данные приложения.
Сейчас мы узнаем, как просмотреть содержимое файла, посмотреть на его структуру и, если нужно, внести в него изменения. Итак, нам нужно:
Можно также распаковать данный архив к себе на компьютер и получать к нему доступ в любое время.
Но большинство все же интересует, как начать пользоваться приложениями на своем компьютере. Сделать это будет чуть сложнее, но все же довольно просто. Это под силу каждому.
Телефон – это тоже небольшой компьютер. Разница лишь заключается в принципиально разном программном обеспечении. Поэтому, нужно будет установить специальную программу – эмулятор.

Как понятно из названия, такая программа как бы создает систему под правлением Андройд на вашем устройстве. У вас появится возможность скачивать, устанавливать любые приложения на эмулятор и пользоваться ими прямо через свой компьютер.
Эмуляторы Андройд становятся все популярнее и востребование из-за растущего количества уникальных приложений. Сейчас уже несколько разработчиков могут предложить качественный и стабильно работающий эмулятор. Рассмотрим несколько эмуляторов и выберем наиболее подходящий для ваши задач.
Самый известный, распространенный и используемый эмулятор – Bluestacks
Для начала будем открывать наш файл именно на нем.
Важно! Bluestacks идеально подходит для открытия игр, чаще всего его для этого и используют. К минусам приложения можно отнести местами слишком загромождённый интерфейс и большое количество лишней информации, которая будет полезна далеко не всем.
Nox App Player
А эта программа слабо подходит для игр. В них зачастую некорректно отображаются графические элементы. В этом эмуляторе разработчики сделали упор на работе с программами. Можно получить root в пару кликов. Если вы захотели открыть АПК именно этим приложением, то вам нужно:
Просмотр содержимого на Android
Для просмотра содержимого апк файла, а не его полной установки, нам будем помогать мощная программа Apk editor для Android. Итак, нам нужно:
Установить приложения для смартфона на свое устройство не так уж сложно. Это под силу сделать любому пользователю.
Видео — Как открыть апк файл на компьютере
Если файл АПК не открывается на смартфоне, проверьте разрешение на установку из неизвестных источников (описано в предыдущем разделе).
Иногда сборка файла требует ревизию определенной версии ОС, например, Android 7 и выше. Если у вас более ранняя версия, то приложение не установится.
Иногда APK-packge не открывается из-за того, что приложение уже установлено на смартфоне. В таком случае сначала удалите старую утилиту и запустите файл APK.
Открыть APK файл на ПК с Android Studio
Файл APK представляет собой архив, содержащий файлы, необходимые для установки приложения на Android. В связи с этим для разработки приложений можно использовать бесплатное программное обеспечение Android Studio, разработанное Google. Эта программа позволяет декомпилировать файл APK и просматривать его содержимое.

После загрузки файла, если вы используете Windows, дважды щелкните по нему и нажмите в окне контроля учетных записей. На появившемся экране нажмите кнопку три раза подряд и в конце установки нажмите кнопку . Если вы используете macOS, дважды щелкните загруженный файл и перетащите Android Studio в папку «Приложения» на отображаемом экране.
Как только это будет сделано, запустите Android Studio, с помощью его значка, который вы можете найти на рабочем столе Windows или на Launchpad MacOS. Затем нажмите кнопку и на появившемся экране нажмите кнопку три раза подряд и дождитесь загрузки всех компонентов, необходимых для работы программы. В конце процедуры нажмите , чтобы отобразить главный экран Android Studio.
Среди элементов, отображаемых на экранной панели, выберите элемент под названием Открыть существующий проект Android Studio и на просматриваемом экране выберите интересующий вас APK-файл, подтвердив действие кнопкой .
Если вы следовали инструкциям, которые я вам предоставил, вы успешно откроете APK-файл с отображением всех файлов внутри него на центральной панели основного экрана Android Studio.
Просмотр и модификация
Использовать все эти инструменты можно и по отдельности, но это неудобно, поэтому лучше воспользоваться более высокоуровневым софтом, построенным на их основе. Если ты работаешь в Linux или Mac OS X, то тут есть инструмент под названием apktool. Он позволяет распаковывать ресурсы в оригинальный вид (в том числе бинарные XML- и arsc-файлы), пересобирать пакет с измененными ресурсами, но не умеет подписывать пакеты, так что запускать утилиту signer придется вручную. Несмотря на то что утилита написана на Java, ее установка достаточно нестандартна. Сначала следует получить сам jar-файл:
$ cd /tmp
$ wget http://bit.ly/WC3OCz
$ tar -xjf apktool1.5.1.tar.bz2
Далее нам понадобится скрипт-обвязка для запуска apktool (он, кстати, доступен и для Windows), включающий в себя еще и утилиту aapt, которая понадобится для запаковки пакета:
$ wget http://bit.ly/WRjEc7
$ tar -xjf apktool-install-linux-r05-ibot.tar.bz2
Далее просто сваливаем содержимое обоих архивов в каталог ~/bin и добавляем его в $PATH:
$ mv apktool.jar ~/bin
$ mv apktool-install-linux-r05-ibot/* ~/bin
$ export PATH=~/bin:$PATH
Если же ты работаешь в Windows, то для нее есть превосходный инструмент под названиемVirtuous Ten Studio, который также аккумулирует в себе все эти инструменты (включая сам apktool), но вместо CLI-интерфейса предоставляет пользователю интуитивно понятный графический интерфейс, с помощью которого можно выполнять операции по распаковке, дизассемблированию и декомпиляции в несколько кликов. Инструмент этот Donation-ware, то есть иногда появляются окошки с предложением получить лицензию, но это, в конце концов, можно и потерпеть. Описывать его не имеет никакого смысла, потому что разобраться в интерфейсе можно за несколько минут. А вот apktool, вследствие его консольной природы, следует обсудить подробнее.

Импорт APK в Virtuous Ten Studio
Рассмотрим опции apktool. Если вкратце, то имеются три основные команды: d (decode), b (build) и if (install framework). Если с первыми двумя командами все понятно, то что делает третья, условный оператор? Она распаковывает указанный UI-фреймворк, который необходим в тех случаях, когда ты препарируешь какой-либо системный пакет.
Рассмотрим наиболее интересные опции первой команды:
Пользоваться apktool очень просто, для этого достаточно указать одну из команд и путь до APK, например:
$ apktool d mail.apk
После этого в каталоге mail появятся все извлеченные и дизассемблированные файлы пакета.
Извлечь APK файлы на ПК
Файл APK можно открыть на ПК с помощью любого программного обеспечения или инструмента сжатия данных, например WinRAR или WinZip. Однако, в этом руководстве я расскажу вам о бесплатной программе 7-Zip, доступной только в Windows. Но, будучи программным обеспечением с открытым исходным кодом, её основной код разработки (p7zip) используется для создания другого программного обеспечения, также бесплатного, например, Keka для macOS.
В следующих главах я покажу вам, как извлечь содержимое файла APK с помощью 7-Zip для Windows и Keka для macOS.
7-Zip (Windows)
Если у вас есть компьютер с Windows, среди множества программ для сжатия и распаковки архивов, я рекомендую использовать 7-Zip, доступный бесплатно на официальном сайте. Это программа с открытым исходным кодом, которая позволяет вам управлять архивам с расширениями RAR, CAB, GZIP, 7Z, ZIP и даже APK.
Если вы заинтересованы в использовании 7-Zip, перейдите по предоставленной мной ссылке и нажмите на элемент Download, соответствующий версии архитектуры компьютера. Как только это будет сделано, будет загружен файл .exe. Дважды щелкните его и нажмите в окне контроля учетных записей Windows. Пройдите через стандартный процесс установки программ на Windows.
Кека (macOS)
Как я уже говорил, Keka – это бесплатное программное обеспечение для macOS, которое позволяет вам управлять сжатыми архивами, такими как архивы в формате RAR, ZIP, 7Z и APK, с возможностью извлечения их содержимого на ваш компьютер в любом месте, выбранном пользователем. Если вы хотите загрузить его на свой Mac, перейдите на официальный сайт и нажмите кнопку Download vx.xx, которая находится слева. Вы также можете загрузить его непосредственно из Mac App Store, но в этом случае требуется оплата в размере 2,99 долл. (для поддержки разработчика).
После установки Keka просто перейдите к месту, где расположен файл APK и дважды щелкните по нему. При этом вам будет показан экран для выбора места назначения, куда следует извлечь содержимое файла APK. Затем выберите папку на Mac и нажмите кнопку , расположенную внизу справа.
В случае ошибок при выполнении перейдите в папку «Приложения» и запустите Keka, щелкнув правой кнопкой мыши по её значку и выбрав пункт «Открыть» два раза подряд: эта операция необходима только при первом запуске и служит для обхода ограничений macOS, установленных для приложений от несертифицированных разработчиков.
WARNING
Чтобы подписать приложение с помощью apk-signer, ты должен установить Android SDK и указать полный путь до него в настройках приложения.
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Теперь этим ключом можно подписать APK. На вкладке APK Signer выбираем только что сгенерированный файл, вводим пароль, алиас ключа и пароль к нему, затем находим файл APK и смело жмем кнопку «Sign». Если все пройдет нормально, пакет будет подписан.
INFO
Так как мы подписали пакет нашим собственным ключом, он будет конфликтовать с оригинальным приложением, а это значит, что при попытке обновить софтину через маркет мы получим ошибку.
Цифровая подпись необходима только стороннему софту, поэтому если ты занимаешься модификацией системных приложений, которые устанавливаются копированием в каталог /system/app/, то подписывать их не нужно.
Обычно авторы приложений создают специальные классы для вывода рекламы и вызывают методы этих классов во время запуска приложения или одной из его «активностей» (упрощенно говоря, экранов приложения). Попробуем найти эти классы. Идем в каталог smali, далее com (в org лежит только открытая графическая библиотека cocos2d), далее kauf (именно туда, потому что это имя разработчика и там лежит весь его код) — и вот он, каталог marketing. Внутри находим кучу файлов с расширением smali. Это классы, и наиболее примечателен из них класс Ad.smali, по названию которого нетрудно догадаться, что именно он выводит рекламу.
Мы могли бы изменить логику его работы, но гораздо проще будет тупо убрать вызовы любых его методов из самого приложения. Поэтому выходим из каталога marketing и идем в соседний каталог particle, а затем в virtualtorch. Особого внимания здесь заслуживает файл MainActivity.smali. Это стандартный для Android класс, который создается Android SDK и устанавливается в качестве точки входа в приложение (аналог функции main в Си). Открываем файл на редактирование.
Внутри находится код smali (местный ассемблер). Он довольно запутанный и трудный для чтения в силу своей низкоуровневой природы, поэтому мы не будем его изучать, а просто найдем все упоминания класса Ad в коде и закомментируем их. Вбиваем строку «Ad» в поиске и попадаем на строку 25:
.field private ad:Lcom/kauf/marketing/Ad;
Здесь создается поле ad для хранения объекта класса Ad. Комментируем с помощью установки знака ### перед строкой. Продолжаем поиск. Строка 423:
new-instance v3, Lcom/kauf/marketing/Ad;
Здесь происходит создание объекта. Комментируем. Продолжаем поиск и находим в строках 433, 435, 466, 468, 738, 740, 800 и 802 обращения к методам класса Ad. Комментируем. Вроде все. Сохраняем. Теперь пакет необходимо собрать обратно и проверить его работоспособность и наличие рекламы. Для чистоты эксперимента возвращаем удаленную из AndroidManifest.xml строку, собираем пакет, подписываем и устанавливаем.


Он же, но уже без рекламы
Они говорят нам (и, что важнее, андроиду) о том, что активность с именем Start должна быть запущена в ответ на генерацию интента (события) android.intent.action. MAIN из категории android.intent.category. LAUNCHER. Это событие генерируется при тапе на иконку приложения в ланчере, поэтому оно и определяет точку входа, а именно класс Start. Скорее всего, программист сначала написал приложение без главного меню, точкой входа в которое был стандартный класс MainActivity, а затем добавил новое окно (активность), содержащее меню и описанное в классе Start, и вручную сделал его точкой входа.
Открываем файл Start.smali и вновь ищем строку «Ad», находим в строках 153 и 155 упоминание класса FirstAd. Он тоже есть в исходниках и, судя по названию, как раз и отвечает за показ объявлений на главном экране. Смотрим дальше, идет создание экземпляра класса FirstAd и интента, по контексту имеющего отношение к этому экземпляру, а дальше метка cond_10, условный переход на которую осуществляется аккурат перед созданием экземпляра класса:
Скорее всего, программа каким-то случайном образом вычисляет, нужно ли показывать рекламу на главном экране, и, если нет, перескакивает сразу на cond_10. Ок, упростим ей задачу и заменим условный переход на безусловный:
#if-ne p1, v0, :cond_10
goto :cond_10
Открыть APK файл на ПК через эмулятор Android
Если вы хотите запустить приложение Android на своем компьютере, вы должны использовать эмулятор Android: их несколько, но сегодня я покажу вам процедуру, которой следует придерживаться в случае BlueStacks, известного бесплатного программного обеспечения для эмуляции Android, который доступен как для Windows, так и для MacOS на официальном сайте.

После запуска BlueStacks вам будет предложено настроить учетную запись Google. Затем нажмите кнопку и войдите в систему, используя учетные данные своего аккаунта Gmail. На этом этапе нажмите кнопку Пуск с помощью BlueStacks, чтобы начать использовать эмулятор Android.
Теперь, когда у вас установлен и настроен BlueStacks, вы можете легко открыть файл APK. На главном экране эмулятора найдите Установленные приложения в левом верхнем углу. Затем щелкните значок вертикального троеточия, который находится рядом, и в появившемся окне выберите пункт Установить APK.
На этом этапе вам просто нужно указать APK-файл на вашем компьютере, подтвердив операцию с помощью кнопки . При этом будет выполнена установка APK-файла, и станет возможным запуск содержащегося в нём приложения.
В качестве альтернативы этой процедуры, после установки и настройки BlueStacks, вы можете просто дважды щелкнуть файл APK, чтобы открыть его, и, следовательно, установить внутри эмулятора.
Открытие APK-файлов на Android
Обладатели мобильных устройств на базе Android чаще всего сталкиваются с необходимостью открыть файл APK. Поэтому я предлагаю рассмотреть возможные методы осуществления этой задачи на смартфоне или планшете. Разберу как стандартный метод, так и использование файловых менеджеров, если вас вдруг интересует не просто установка, но и просмотр содержимого полученного объекта.
Стандартный установщик приложений
Установка APK-файла на Андроид — основной выполняемый процесс с элементами данного типа. Обычно для этого достаточно использовать стандартный установщик приложений, который по умолчанию присутствует на смартфоне или планшете.
Как видите, все довольно просто, если речь идет о стандартной установке файла, имеющего расширение APK. Однако в некоторых случаях стандартный установщик не работает или нужно использовать файл для просмотра и редактирования содержимого. В таких случаях я советовал бы обратить внимание на два следующих раздела статьи.
My APK
Сторонняя программа My APK является довольно продвинутым файловый менеджером, нацеленным на работу с установленными приложениями и APK-файлами, находящимися на устройстве. Она позволяет просматривать и редактировать содержимое, добавлять подпись или конвертировать APK в архив, если вам это по каким-то причинам нужно.
Total Commander
Total Commander можно назвать самым популярным файловым менеджером среди сторонних. Его часто устанавливают на компьютер для более удобного управления директориями и элементами, а также используют на телефоне и планшете. При помощи данной программы вы сможете посмотреть содержимое APK, изменить его или запустить установку.
Конечно, существует множество других файловых менеджеров и программ для управления APK на Android, но все они работают примерно одному и тому же принципу, а также имеют похожий интерфейс. Поэтому предоставленные мною выше инструкции должны помочь вам разобраться во взаимодействии с инсталляторами даже в тех случаях, когда вы захотите использовать другие приложения.
Для чего нужен APK-файл, где применяется и из чего состоит
Предлагаю начать с краткого экскурса по теме APK-файлов. Объект данного расширения является исполняемым, как EXE в операционных системах Windows. В него запаковано мобильное приложение и весь его код. Соответственно, если вы хотите установить какую-то игру или программу на свое мобильное устройство, вы скачиваете APK-файл, запускаете его и выполняете инсталляцию.
Внутри APK находятся другие каталоги и файлы, в которых хранится программный код. Все это имеет свой алгоритм распаковки, за счет которого и производится корректная установка приложения на смартфон. На компьютерах APK-файлы устанавливаются при помощи эмуляторов или через встроенную подсистему Android (только в Windows 11). В крайне редких случаях такие объекты распаковываются для изменения содержимого, но это нужно исключительно опытным пользователям.
Итоги
Эта статья лишь краткое введение в методы вскрытия и модификации Android-приложений. За кадром остались многие вопросы, такие как снятие защиты, разбор обфусцированного кода, перевод и замена ресурсов приложения, а также модификация приложений, написанных с использованием Android NDK. Однако, имея базовые знания, разобраться во всем этом — лишь вопрос времени.



