Модифицирование APK файлов

Не редко можно увидеть различные модифицированные приложения для Android. Например: программы с пользовательским переводом, хак в игре на бесплатные покупки и т.д. Сегодня мы попробуем сделать самое простое изменение АПК файла. Нашей жертвой будет простой vnc сервер – androidVNC. Единственный его минус отсутствие русского языка. Это мы и попробуем исправить.



 Для начала нужно разобраться, что такое APK файл. APK файл это простой zip архив с какой ни какой защитой, а именно он подписан электронным ключом без которого андроид не даст установить программу. Первое что приходит на ум, открыть архив изменить что нужно, запаковать и подписать(как это сделать я опишу в конце). Но не тут то было, все текстовые файлы зашифрованы. К тому же к каждому файлу имеются контрольные сумы, и при сборке APK файла нам нужно будет пересчитать всех их. Поэтому для сборки и разборки APK файлов есть приложение APKtool. Оно кроссплатформенное и простое в работе. Инструкция по его установки на разные ОС здесь https://ibotpeaches.github.io/Apktool/install/

Внимание иногда приложение ничего не компилирует из-за отсутствия приложения aapt. Его можно скачать или взять с AndroidSDK и потом скинуть в папку windows(или где у вас установлен ApktTool).

 Теперь приступим, достаем командную строку и пишем: apktool d < путь к файлу.apk >  < куда распаковать >.  Вот и все файл распакован. Теперь нужно долго исследовать внутренности apk файла. Но здесь все просто, все что нам нужно лежит в папке res. Это xml файлы которые хранят информацию о всех компонентах в приложении: кнопках, полях ввода, текстовых полях, и т. д.   Найдем один из полей например: кнопка контекстного меню.







Нам нужно изменить android:title. И так после перевода у нас получится так





В этих файлах есть очень много подобных структур. Здесь главное найти поля text,string,name,title и чтобы рядом сними были надписи которые вы видели у приложении. Если нашли то смело изменяйте их на те что вам нужны.  Вот и все меняем все остальное  (лично я изменю только главный экран, файл main.xml).Теперь собираем. Для этого снова достаем командную строку и пишем:  apktool b < путь к папке с измененными исходниками приложения> <путь к папке в которой создастся наш новий apk>.Ну вот осталось подписать файл. Это можно сделать с ПК но такой способ у меняне работает. Поэтому можно подписать файл на андроиде через программу ZipSignerОна абсолютно бесплатна и вы можете скачать её с PlayMarketИтак включаем программу выбираем наш apk и делаем все так как у меня на картинке.

prog_rus.apk – наше приложение. Если ничего не получится, в Key/mode выбирайте auto-testkey.  Вот и все.
Результат
ДО

ПОСЛЕ

Конечно мы могли изменить AndroidManifest.xml, то есть изменить: автора, название, иконку и многое другое, но в качестве примера этого будет достаточно.  



Комментарии

Популярные сообщения из этого блога

Пишем невероятно простой и опасный вирус на C#.

Пишем сайты на C# или используем C# вместо JavaScript.

Пишем онлайн кликер на "чистом" C#