- пол
- M
- Устройство
- Galaxy S9
- Страна
- Чили
Привет, народ
Во-первых, я должен прояснить, что это не продвинутый учебник по модификации приложения. Этот пост является результатом знания, которое я получил вчера, которым я хотел бы поделиться с вами. Тем не менее, у меня все еще есть много сомнений, и я всегда стараюсь размещать их здесь, на форуме, например:
Mod a Game x Mod a App: это тот же процесс?
Как изменить приложение и сделать его Премиум?
Хотя большую часть времени я не получаю ответа, я не расстроен и никогда не расстроюсь из-за этого.
Я также должен дать понять, что этот метод не работает для всех приложений, так как это основной метод мода, Теперь давайте приступим к делу.
Требования:
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---------------------------
1 °) После загрузки и установки всех необходимых файлов скопируйте файл apk, который вы хотите модифицировать, в C: \ apktool. Для удобства переименуйте приложение на что-нибудь более короткое. Пример: ISS Detector v1.2.3 apksite to = issdetector.
2 °) Откройте окно CMD в той же папке, где находятся apktool и приложение, которое вы хотите изменить, и затем используйте следующую команду:
В этом случае мы имеем:
3 ° Используйте поисковую систему Windows Explorer (или воспользуйтесь формой, которая вам больше всего подходит) и выполните поиск по запросу «Инвентарь». Ищем Inventory.smali.
4 ° Найдя файл, откройте его с помощью Notepad ++, который вы скачали ранее. Просто щелкните файл правой кнопкой мыши и выберите «Редактировать с помощью Notepad ++».
5 ° Теперь, когда у нас есть файл, мы можем взглянуть на несколько вещей:
mPurchaseMap
Это поле относится к покупкам в приложении, которые могут быть сделаны пользователем. Нам повезло.
Если вы нашли mPurchaseMap
hasPurchase (Ljava / lang / String) Z.
Это поле отвечает за проверку того, совершил ли пользователь покупку, в случае ISSDetector у нас есть:
Теперь посмотрим, что произойдет, если этот чек на покупку всегда верен. Удалите все, что находится между locals1 и return p1, и замените на:
Теперь посмотрим, что у нас есть:
Не забудьте нажать клавишу пробела, чтобы оставить пробел между клавишами. Также проверьте правильность выравнивания. Notepad ++ помогает с этим шагом.
Читать:
НЕПРАВИЛЬНО:
ПРАВО:
Сохраните файл. (CTRL + S). Закрой его.
6 ° Вернитесь в основную папку (c: \ apktool), откройте CMD в папке и введите следующую команду:
В нашем примере имя папки - это просто issdetector.
Итак:
7 ° Скопируйте сгенерированное приложение (оно находится в папке -> dist -> ваше приложение здесь.)
8 ° Переместите приложение во внутреннюю память телефона. (Я рекомендую вам перейти в папку загрузки.)
9 ° Откройте apksigner, щелкните значок «карандаш», перейдите в папку «Загрузить» и щелкните только что созданное приложение, а затем нажмите «Сохранить».
10 ° Когда процесс будет завершен, откройте папку (в данном случае, Download), куда вы вставили приложение, сгенерированное apktool. Вы увидите два файла, но один будет другим. Он будет назван: GeneratedApplicationName.signed.apk. Вы должны установить это. Открыто.
Вместо кнопки покупок приложения вы можете увидеть: Бесплатно, Уже куплено, Купить (в этом случае нажмите кнопку Купить, чтобы работать.) Или даже ничего (в этом случае приложение просто одобрило нашу покупку, поэтому на данный момент, у вас уже есть премиум-функции или что-то.)
11 ° Вы сделали это.
Некоторые вопросы:
1. У меня ошибка перекомпиляции, что я могу сделать?
R: Попробуйте использовать следующую команду вместо: apktool d nameofyourapp.apk
Это предотвратит декомпиляцию ресурсов.
Во-первых, я должен прояснить, что это не продвинутый учебник по модификации приложения. Этот пост является результатом знания, которое я получил вчера, которым я хотел бы поделиться с вами. Тем не менее, у меня все еще есть много сомнений, и я всегда стараюсь размещать их здесь, на форуме, например:
Mod a Game x Mod a App: это тот же процесс?
Как изменить приложение и сделать его Премиум?
Хотя большую часть времени я не получаю ответа, я не расстроен и никогда не расстроюсь из-за этого.
Я также должен дать понять, что этот метод не работает для всех приложений, так как это основной метод мода, Теперь давайте приступим к делу.
Требования:
- Приложение, которое вы хотите модифицировать (желательно простое приложение. Мы все еще в начале, и если вы здесь, возможно, это потому, что у вас столько же знаний, сколько и у меня. Мы будем развиваться вместе.) Например, мы будем использовать Детектор МКС Приложение.
- Apktool
- Notepad ++
- ApkSigner
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---------------------------
1 °) После загрузки и установки всех необходимых файлов скопируйте файл apk, который вы хотите модифицировать, в C: \ apktool. Для удобства переименуйте приложение на что-нибудь более короткое. Пример: ISS Detector v1.2.3 apksite to = issdetector.
2 °) Откройте окно CMD в той же папке, где находятся apktool и приложение, которое вы хотите изменить, и затем используйте следующую команду:
Код:
apktool d nameofyourapp.apk
Код:
apktool d issdetector.apk
4 ° Найдя файл, откройте его с помощью Notepad ++, который вы скачали ранее. Просто щелкните файл правой кнопкой мыши и выберите «Редактировать с помощью Notepad ++».
5 ° Теперь, когда у нас есть файл, мы можем взглянуть на несколько вещей:
mPurchaseMap
Это поле относится к покупкам в приложении, которые могут быть сделаны пользователем. Нам повезло.
Если вы нашли mPurchaseMap
hasPurchase (Ljava / lang / String) Z.
Это поле отвечает за проверку того, совершил ли пользователь покупку, в случае ISSDetector у нас есть:
Код:
.method public hasPurchase(Ljava/lang/String;)Z
.locals 1
.line 1
iget-object v0, p0, Lcom/runar/issdetector/util/Inventory;->mPurchaseMap:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
Код:
const p1, 0x1
Код:
.method public hasPurchase(Ljava/lang/String;)Z
.locals 1
const p1, 0x1
return p1
.end method
Читать:
НЕПРАВИЛЬНО:
Код:
.method public hasPurchase(Ljava/lang/String;)Z
.locals 1
const p1, 0x1
return p1
.end method
Код:
.method public hasPurchase(Ljava/lang/String;)Z
.locals 1
const p1, 0x1
return p1
.end method
6 ° Вернитесь в основную папку (c: \ apktool), откройте CMD в папке и введите следующую команду:
Код:
apktool b foldername
Итак:
Код:
apktool b issdetector
8 ° Переместите приложение во внутреннюю память телефона. (Я рекомендую вам перейти в папку загрузки.)
9 ° Откройте apksigner, щелкните значок «карандаш», перейдите в папку «Загрузить» и щелкните только что созданное приложение, а затем нажмите «Сохранить».
10 ° Когда процесс будет завершен, откройте папку (в данном случае, Download), куда вы вставили приложение, сгенерированное apktool. Вы увидите два файла, но один будет другим. Он будет назван: GeneratedApplicationName.signed.apk. Вы должны установить это. Открыто.
Вместо кнопки покупок приложения вы можете увидеть: Бесплатно, Уже куплено, Купить (в этом случае нажмите кнопку Купить, чтобы работать.) Или даже ничего (в этом случае приложение просто одобрило нашу покупку, поэтому на данный момент, у вас уже есть премиум-функции или что-то.)
11 ° Вы сделали это.
Некоторые вопросы:
1. У меня ошибка перекомпиляции, что я могу сделать?
R: Попробуйте использовать следующую команду вместо: apktool d nameofyourapp.apk
Код:
apktool -r d nameyourapp.apk
Последнее редактирование: