7 лучших сайтов для скачивания APK-файлов на Android

В пpошлых статьях (первая часть, вторая часть) мы узнали, насколько действительно легко взломать и модифицировать приложение для Android. Однако не всегда все бывает так просто. Иногда разработчики применяют обфускаторы и системы шифрования, которые могут существенно осложнить работу реверсера, поэтому сегодня мы поговорим о том, как разoбраться в намеренно запутанном коде, а заодно взломаем еще одно приложение.

суббота, декабря г.

Инструкция по упаковке шрифтов в apk Это инструкция для упаковке шрифта в апк чтобы без проблем можно было поменять шрифт на оф прошивке. Нужно: 1. FontCreator_Pro_5.6_build_ 2. apk_manager_ 3. 4. Подписанный шрифт 5. JDK Работа с FontCreator FontCreator и перетаскиваем нужный нам шрифт в его окно. Нажимаем на Edit, выбираем Select All. Снова Edit, выбираем Copy. Запоминаем сколько символов (glyphs) содержится в шрифте (нижний правый угол). Окно со шрифтом можно свернуть. 2. Перетаскиваем в окно FontCreator шрифт Monoglyceride. Нажимаем на Edit, выбираем Select All. Нажимаем на Delete на клавиатуре. Кликаем на Insert, выбираем Glyphs, вводим запомненное количество символов в нужном нам шрифте и Ok. Снова идем в Edit, выбираем Paste Special. В появившемся окне важно поставить галки во все квадраты, в поле «Mappings» выбрать «Add mappings», потом Ok. 3. Кликаем на File и сохраняем (Save As). Работа с Apk Manager 1. Открываем папку apk_manager_4.9 2. В папку place-apk-here-for-modding кладем 3. Запускаем Script 4. Жмем на любую клавишу на клавиатуре 5. Вводим 22 и выбираем файл, который хотим декомпилировать. В нашем случае это файл номер 1, вводим 1. 6. Декомпилируем файл введя 9 и Enter. Cворачиваем скрипт. 7. Открываем папку projects/ 8. Идем в папку assets/fonts. Удаляем из нее все содержимое. Копируем в эту папку свой шрифт, созданный в FontCreator. Копируем его имя. Важно помнить, что в названии шрифта недопустимо использование дефиса, пробел между словами должен быть обозначен знаком _ Если хотим, чтобы у нас были и жирные буквы тоже, то копируем в эту папку жирный шрифт, сделанный также, как описано выше. Например, для шрифта Comfortaa в этой папке будут находиться два шрифта — и 9. Выходим из папки fonts и заходим в рядом лежащую папку xml. Переименовываем файл xml Monoglyceride в имя своего шрифта. Открываем xml файл, внутри него все Monoglyceride надо заменить на имя своего шрифта. Если у нас будет и жирный шрифт, то второе имя заменяем на имя жирного шрифта. Выходим из файла и сохраняем изменения. 10. Выходим в корень папки и открываем res/values/strings. Там тоже меняем Monoglyceride на имя своего шрифта. 11. Снова выходим в корень папки и открываем smali/com/monotype/android/font. Переименовываем папку monoglyceride в имя своего шрифта. 12. Выходим в корень папки и открываем AndroidManifest. Меняем monoglyceride на имя своего шрифта. Выходим и сохраняем. 13. Возвращаемся в папку place-apk-here-for-modding. 14. Разворачиваем скрипт. Теперь нужно скомпилировать apk и подписать его. Это команды 11 и 12 соответственно. 15. Вводим 11, Enter , на заданный вопрос «Is this a system apk» отвечаем «n» и сразу же затем 12, Enter и наконец получаем подписанный apk c шрифтом. Можно его переименовать и залить в телефон. Изменение размера шрифтов В верхней строке FontCeator есть пункт Tools. Кликаем на него и выбираем из выпадающего списка Glyph Transformer. В открывшемся окне выбираем Outlines, затем Scale. Ниже в процентах указаны горизонтальный и вертикальный размеры шрифта. Значения выше 100 увеличивают шрифт, ниже — уменьшают. Для сохранения пропорций, лучше изменять их на одинаковые значения. Нужно помнить, что любое последующее изменение принимается за 100%. То есть, допустим, мы увеличили шрифт на 20%, введя значение 120. Чтобы потом увеличить его еще на 10%, нужно будет ввести 110, а не 130. Что делать дальше смотрите тут. Отправить по электронной почтеНаписать об этом в блогеОпубликовать в TwitterОпубликовать в FacebookПоделиться в Pinterest Комментариев нет:

Читайте также:  Линейка телефонов Самсунг: краткий обзор, специфические особенности

Отправка комментария

APKMirror

APKMirror — самый популярный сайт среди пользователей Android. На нём можно найти большинство приложений в самых различных категориях. Все APK подписаны сертификатами разработчиков, что делает скачивание абсолютно безопасным. Действительность сертификатов проверяется модераторами вручную. Поэтому вы не найдёте здесь никаких модифицированных или взломанных программ. APKMirror регулярно обновляется и предоставляет самые свежие версии файлов. Для удобства поиска есть сортировка по популярности — можно с лёгкостью найти самые популярные файлы за месяц, 7 дней или 24 часа.

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

APKMirror управляется авторитетным новостным изданием AndroidPolice. Собственного мобильного магазина APKMirror не имеет, поэтому вся необходимая информация расположена только на сайте. Несмотря на это, приложения, которое вы скачаете с сайта, смогут получать автоматическое обновление из Google Play.

Как конвертировать файл APK

Хотя программа или служба преобразования файлов обычно необходимы для преобразования файлов одного типа в другой, они не очень полезны при работе с файлами APK. Это связано с тем, что файл APK представляет собой приложение, предназначенное для работы только на определенных устройствах, в отличие от файлов других типов, таких как MP4 или PDF, которые работают на различных платформах.

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

Переименование файла таким образом, это не конвертация файла. И это работает только в случае файлов APK, потому что формат файла уже использует ZIP, но он просто добавляет другое расширение файла (.APK).

Как уже упоминалось выше, вы не можете конвертировать файл APK в IPA для использования на iOS, а также вы не можете конвертировать APK в EXE, чтобы использовать приложение Android в Windows.

Однако, обычно вы можете найти альтернативу iOS, которая работает вместо приложения для Android, которое вы хотите установить на свой iPhone или iPad. Большинство разработчиков имеют одинаковое приложение, доступное на обеих платформах (как APK для Android, так и IPA для iOS).

Что касается конвертера APK в EXE, просто установите Windows APK и затем используйте его, чтобы открыть приложение Android на вашем компьютере.

Читайте также:  7 лучших программ для очистки и оптимизации компьютера

Вы можете преобразовать файл APK в BAR для использования с устройством BlackBerry, просто загрузив файл APK в онлайн-конвертер Good e-Reader APK в BAR. Подождите, пока преобразование закончится, а затем загрузите файл BAR обратно на компьютер.

Деобфускаторы

Как видишь, инструментов обмануть тебя и отбить желaние расковыривать приложение у разработчиков предoстаточно, поэтому и ты должен быть вооружен. В первую очередь нужен хороший дeкомпилятор. На всем протяжении цикла мы использовали бесплатный jadx, вполне неплохо справляющийся с этой задачей. Кроме этого, он имеет встроенный деобфускатор, трансформирующий идентификаторы вида a, az, l1l1l1l1… или состоящие из символов Unicode в цифро-буквенные идентификаторы, уникальные для всего приложения. Это позволяет никогда не спутать метод a() класса a с методом a() класса b и легко нaходить нужные идентификаторы с помощью глобального поиска.

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

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

По этой же причине нередко оказываются бессильны и деобфускаторы, такие как Java Deobfuscator и Simplify. Но это совсем не значит, что их не стоит применять. Java Deobfuscator работает исключительно с байт-кодом Java, поэтому перед тем, как его использовать, APK нужно перегнать в JAR с помощью dex2jar.

Далее следует натравить на полученный JAR-файл Java Deobfuscator с указанием используемого «трансформера»:

$ java -jar -input -output Приложение_после_ -transformer — path ~/Android/android-sdk-linux/platforms/android-23/

Деобфускаторы

Данная команда применит к приложению трансформер , расшифровывающий зашифрованные с помощью Allatory строки, и запишет результат в После этого приложение можно декомпилировать, но не с помощью jadx (он работает только с байт-кодом Android Dalvik), а, например, с помощью JD-GUI.

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

Если же Java Deobfuscator не дал результатов, стоит попробовать Simplify. Это так называемый динамический деобфускатор. Он не анализирует байт-код, пытаясь найти в нем следы работы обфускаторов и отменить внесенные ими изменения, как это делает Java Deobfuscator. Вместо этого он запускает дизассемблированный код smali внутри виртуальной машины, позволяя приложению самостоятельно расшифровать строки, затем удаляет мертвый неиспользуемый код и рефлексию. На выходе ты получишь dex-файл, который можно декомпилировать с помощью jadx.

Использовать Simplify дoвольно просто:

$ java -jar -i каталог_с_файлами_smali -o Код до применения……и после применения Simplify

Но как быть с упаковщиками? Для этого есть инструмент Kisskiss. Для его работы нужен смартфон с правами root и активированным режимом отладки (ADB) в режиме root (в CyanogenMod можно включить в «Режиме для разработчиков»). Также на компе понадобится команда adb:

$ sudo apt-get install android-tools-adb $ sudo adb devices

Далее Kisskiss необходимо установить на смартфон:

$ wget -unpacker/archive/ $ unzip $ cd android-unpacker-master/native-unpacker $ sudo apt-get install build-essential $ make $ make install

Деобфускаторы

Запустить нужное приложение на смартфоне и выполнить команду (на компе)

Читайте также:  Как посмотреть историю уведомлений в Android

$ adb shell /data/local/tmp/kisskiss

После этого Kisskiss сделает дамп памяти процесса и запишет его в odex-файл. Его можно сконвертировать в dex с помощью уже знакомого нам baksmali:

$ adb pull /system/framework/arm/ /tmp/framework/ $ baksmali -c -d /tmp/framework -x

И декомпилировать с помощью jadx.

Просмотр и модификация

Допустим, ты нашел интересующий тебя пакет, скачал, распаковал… и при попытке просмотра какого-нибудь XML-файла с удивлением обнаружил, что файл не текстовый. Чем же его декомпилировать и как вообще работать с пакетами? Неужели необходимо ставить SDK? Нет, SDK ставить вовсе не обязательно. На самом деле для всех шагов по распаковке, модификации и упаковке пакетов APK нужны следующие инструменты:

  • архиватор ZIP для распаковки и запаковки;
  • smali — ассемблер/дизассемблер байт-кода виртуальной машины Dalvik ();
  • aapt — инструмент для запаковки ресурсов (по умолчанию ресурсы хранятся в бинарном виде для оптимизации производительности приложения). Входит в состав Android SDK, но может быть получен и отдельно;
  • signer — инструмент для цифровой подписи модифицированного пакета ().
Просмотр и модификация

Использовать все эти инструменты можно и по отдельности, но это неудобно, поэтому лучше воспользоваться более высокоуровневым софтом, построенным на их основе. Если ты работаешь в Linux или Mac OS X, то тут есть инструмент под названием apktool . Он позволяет распаковывать ресурсы в оригинальный вид (в том числе бинарные XML- и arsc-файлы), пересобирать пакет с измененными ресурсами, но не умеет подписывать пакеты, так что запускать утилиту signer придется вручную. Несмотря на то что утилита написана на Java, ее установка достаточно нестандартна. Сначала следует получить сам jar-файл:

$ cd /tmp $ wget $ tar -xjf

$ wget $ tar -xjf

Просмотр и модификация

$ mv ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ export PATH=~/bin:$PATH

Если же ты работаешь в Windows, то для нее есть превосходный инструмент под названиемVirtuous Ten Studio , который также аккумулирует в себе все эти инструменты (включая сам apktool), но вместо CLI-интерфейса предоставляет пользователю интуитивно понятный графический интерфейс, с помощью которого можно выполнять операции по распаковке, дизассемблированию и декомпиляции в несколько кликов. Инструмент этот Donation-ware, то есть иногда появляются окошки с предложением получить лицензию, но это, в конце концов, можно и потерпеть. Описывать его не имеет никакого смысла, потому что разобраться в интерфейсе можно за несколько минут. А вот apktool, вследствие его консольной природы, следует обсудить подробнее.

Рассмотрим опции apktool. Если вкратце, то имеются три основные команды: d (decode), b (build) и if (install framework). Если с первыми двумя командами все понятно, то что делает третья, условный оператор? Она распаковывает указанный UI-фреймворк, который необходим в тех случаях, когда ты препарируешь какой-либо системный пакет.

Просмотр и модификация

Рассмотрим наиболее интересные опции первой команды:

  • -s — не дизассемблировать файлы dex;
  • -r — не распаковывать ресурсы;
  • -b — не вставлять отладочную информацию в результаты дизассемблирования файла dex;
  • —frame-path — использовать указанный UI-фреймворк вместо встроенного в apktool. Теперь рассмотрим пару опций для команды b:
  • -f — форсированная сборка без проверки изменений;
  • -a — указываем путь к aapt (средство для сборки APK-архива), если ты по какой-то причине хочешь использовать его из другого источника.

Пользоваться apktool очень просто, для этого достаточно указать одну из команд и путь до APK, например:

Просмотр и модификация

$ apktool d

После этого в каталоге mail появятся все извлеченные и дизассемблированные файлы пакета.