Torsten
Опытный user
- Регистрация
- 7 Ноя 2021
- Сообщения
- 931
- Реакции
- 112
Приветствую всех уже не обитателей, а жителей данного форума.
Хотел бы затронуть тему Android, а именно приложений .apk.
Сегодня будет приведен пример вскрытия APK файла, изменение части кода,
и его обратная компиляция.
Для работы с андроид приложениями используется язык Java.
Но даже не имея особых навыков программирования на этом языке,
зная примерную структуру/архитектуру/синтаксис данный гайд должен быть понятен.
Примечание: Никакие из нижеприведенных приложений/ссылок не являются рекламой.
Исключительно в ознакомительных целях.
Шаг 1. Подбор приложения.
Первым делом, нужно определится с тем, какое приложение мы хотим редактировать.
Соответственно, необходимо достать Android Package(APK) данного приложения.
Сделать это можно несколькими способами.
Для того что бы сделать это прямо на телефоне, нам нужны root-права, для доступа к папке с APK файлом.
Лежать он будет по названия пакетa, к примеру, com.example.mygame.myapp.apk.
Либо же, можно достать файл apk из интернет источников по типу apkpure.com (не реклама).
Я возьму стандартную игрушку Hill Climb Raicing, дабы не заморачиваться и просто отключу там рекламу.
Шаг 2. Просмотр исходного кода приложения.
Далее, необходимо воспользоваться каким-бы то ни было декомпилятором.
Не обязательно декомпилировать в исходные коды проект, можно просто,
посмотреть код, дабы понять, куда лучше внедрять наш код.
Для примера буду использовать jadx-gui.
Открываем наше приложение и перемещаем туда наш APK файл.
Отлично. Исходные коды приложения мы можем увидеть, что делать дальше?
Далее, необходимо решить что конкретно мы хотим сделать, дабы потом не цеплять с собой
весь, а лишь нужные нам классы для редактирования, либо вовсе, дабы заредачить их
через какой нибудь блокнот.
Моей целью является создание стиллера смс обычное отключение рекламы.
Соответственно, все что я делаю, это ищу либо время открытия рекламы, или же
проверку на покупку "отключения рекламы", что-то в этом духе.
Зачастую такие места лежат либо в главных(мейн) классах приложения,
либо закинуты в какую нибудь утилку покупки.
Я перехожу в панель навигации, в пункт "Поиск классов", затем
перебираю выражения по типу "isBilling", "AdFree" и все в этом духе.
По запросу "adfree" я нашел поле с таким названием типа - логическое значение
находящийся в пакете приложения в классе AdmobAdSettings. Это то, что мне нужно.
Все что я должен теперь сделать, это изменить нужную мне часть кода.
Шаг 3. Изменение кода.
Теперь нам нужно декомпилировать файл в исходные коды(файлы) проекта.
Обычный JAR файлы и APK декомпилируются по разному.
Я буду использовать APKTool. (Популярная штука, в инете есть везде).
Запускается он через cmd, командой apktool d ваш_файл.apk
На выходе получаем папку с декомпилированным проектом игры.
Находим наш класс, AdmobAdSettings и устанавливаем значение нашей
переменной на true.
Вы можете закинуть туда какой-нибудь андроид-эксплорер соответственно,
и просто вызвать инициализацию при запуске приложения.
Шаг 4. Компиляция приложения.
Теперь нам нужно собрать нашу чудо-юду.
Если вы использовали APK Tool, то сделать это достаточно просто.
Так же, через cmd, apktool b название_папки_с_проектом
На выходе он выдаст нам apk файл.
Осталось только получить подпись приложения.
Для этого можно использовать любой сигнер с инета,
их можно найти кучу по поиску Sign Android, я юзаю свой.
Итого: Мы получили измененный на уровне кода APK файл, который смело можно кидать мамонтам,
ставить себе на телефон и играть в свое удовольствие.
Хотел бы затронуть тему Android, а именно приложений .apk.
Сегодня будет приведен пример вскрытия APK файла, изменение части кода,
и его обратная компиляция.
Для работы с андроид приложениями используется язык Java.
Но даже не имея особых навыков программирования на этом языке,
зная примерную структуру/архитектуру/синтаксис данный гайд должен быть понятен.
Примечание: Никакие из нижеприведенных приложений/ссылок не являются рекламой.
Исключительно в ознакомительных целях.
Шаг 1. Подбор приложения.
Первым делом, нужно определится с тем, какое приложение мы хотим редактировать.
Соответственно, необходимо достать Android Package(APK) данного приложения.
Сделать это можно несколькими способами.
Для того что бы сделать это прямо на телефоне, нам нужны root-права, для доступа к папке с APK файлом.
Лежать он будет по названия пакетa, к примеру, com.example.mygame.myapp.apk.
Либо же, можно достать файл apk из интернет источников по типу apkpure.com (не реклама).
Я возьму стандартную игрушку Hill Climb Raicing, дабы не заморачиваться и просто отключу там рекламу.
Шаг 2. Просмотр исходного кода приложения.
Далее, необходимо воспользоваться каким-бы то ни было декомпилятором.
Не обязательно декомпилировать в исходные коды проект, можно просто,
посмотреть код, дабы понять, куда лучше внедрять наш код.
Для примера буду использовать jadx-gui.
Открываем наше приложение и перемещаем туда наш APK файл.
![[IMG] [IMG]](https://i.imgur.com/Caus0BX.png)
Отлично. Исходные коды приложения мы можем увидеть, что делать дальше?
Далее, необходимо решить что конкретно мы хотим сделать, дабы потом не цеплять с собой
весь, а лишь нужные нам классы для редактирования, либо вовсе, дабы заредачить их
через какой нибудь блокнот.
Моей целью является создание стиллера смс обычное отключение рекламы.
Соответственно, все что я делаю, это ищу либо время открытия рекламы, или же
проверку на покупку "отключения рекламы", что-то в этом духе.
Зачастую такие места лежат либо в главных(мейн) классах приложения,
либо закинуты в какую нибудь утилку покупки.
Я перехожу в панель навигации, в пункт "Поиск классов", затем
перебираю выражения по типу "isBilling", "AdFree" и все в этом духе.
По запросу "adfree" я нашел поле с таким названием типа - логическое значение
находящийся в пакете приложения в классе AdmobAdSettings. Это то, что мне нужно.
![[IMG] [IMG]](https://i.imgur.com/ei1JSB1.png)
Все что я должен теперь сделать, это изменить нужную мне часть кода.
Шаг 3. Изменение кода.
Теперь нам нужно декомпилировать файл в исходные коды(файлы) проекта.
Обычный JAR файлы и APK декомпилируются по разному.
Я буду использовать APKTool. (Популярная штука, в инете есть везде).
Запускается он через cmd, командой apktool d ваш_файл.apk
На выходе получаем папку с декомпилированным проектом игры.
Находим наш класс, AdmobAdSettings и устанавливаем значение нашей
переменной на true.
![[IMG] [IMG]](https://i.imgur.com/nI5g0Fg.png)
Вы можете закинуть туда какой-нибудь андроид-эксплорер соответственно,
и просто вызвать инициализацию при запуске приложения.
Шаг 4. Компиляция приложения.
Теперь нам нужно собрать нашу чудо-юду.
Если вы использовали APK Tool, то сделать это достаточно просто.
Так же, через cmd, apktool b название_папки_с_проектом
На выходе он выдаст нам apk файл.
Осталось только получить подпись приложения.
Для этого можно использовать любой сигнер с инета,
их можно найти кучу по поиску Sign Android, я юзаю свой.
Итого: Мы получили измененный на уровне кода APK файл, который смело можно кидать мамонтам,
ставить себе на телефон и играть в свое удовольствие.