Код для изменение андроид

Модификация исходного кода android-приложения с использованием apk-файла

Так уж получилось, что приложение для чтения комиксов и манги, которое я использую на своем android-смартфоне, после обновления стало показывать рекламу в конце каждой главы комикса. Данное приложение пару лет назад было доступно на Google Play (платная версия которого и была мной куплена), но было удалено в силу «нарушения авторских прав», после чего ушло в подполье и стало распространятся через сайт разработчика. Увы, достойных альтернатив этому приложению на android и iOS я не нашел, но и смотреть рекламу особо не было желания, тем более я уже покупал версию без рекламы. Сам разработчик почему-то не сделал возможности отключить ее, а на просьбы добавить такую возможность не отозвался. Поэтому пришлось искать альтернативные методы ее отключения. Первое, что пришло в голову, это то, что android-приложения пишутся на java, а значит есть вероятность, что автор не обфусцировал свое приложение и его можно попытаться декомпилировать. Немного подумав, я приступил к работе.

Для начала был загружен сам apk-файл приложения. Затем недолгий поиск по интернету привел меня на сайт http://www.decompileandroid.com/. С его помощью можно было загрузить apk-файл с приложением и на выходе получить набор исходников. Увы, декомпиляция в java-классы происходит не совсем идеально и поэтому восстановить полностью сам проект приложения в IDE(Idea) у меня не получилось, но это позволило проанализировать саму структуру проекта и разобраться как он примерно работает. После проведения анализа, было найдено два перспективных метода в классе BaseReaderFragment.javaplaceAdViewIfNeeded и removeAdViewIfNeeded.

Код метода placeAdViewIfNeeded:

Самое простое, что пришло на ум после чтения кода, это убрать все лишнее, и оставить лишь вызов return;

Но, как уже было сказано, даже если бы я изменил в java-классе что-либо, я бы не смог в итоге скомпилировать приложение в IDE. Поэтому пришлось искать альтернативу. Оказалось, что smali-файлы, которые создаются в процессе декомпиляции, позволяют также после внесения нужных изменений, вновь собрать модифицированное приложение. Увы, сайт, что был приведен выше, позволял лишь получать исходники, но не собирать новые. Поэтому пришлось искать способы сделать это самостоятельно.
Была найдена утилита ApkTools, которая позволяла декомпилировать и компилировать apk-файлы. Кроме того, потребовалась утилита aapt.exe, которая была взята мной из стандартного SDK под андроид в папке android-sdk\build-tools\20.0.0.

Для удобства вызова утилиты из под windows был создан скрипт apktool.bat:

Для декомпиляции приложения были выполнены команды:

После чего, в полученных исходниках был найден файл BaseReaderFragment.smali и нужные нам методы были изменены следующим образом:

Далее пришла очередь сборки apk-файла из исходников.

Сделать это можно cледующей командой:

Но это еще не все. Чтобы приложение можно было установить, его нужно было подписать цифровой подписью. Самый простой способ сделать это – это скачать архив в котором находится утилита для подписи приложений и цифровые сертификаты к ней.

Распаковываем архив, выполняем команду:

Полученный apk-файл можно загружать на телефон, чтобы проверить наше модифицированное приложение. Однако в процессе тестирования изменений оказалось, что объявления больше не показываются, однако сама страница для их показа создается, что не очень приятно. Снова был проанализирован код приложения, найден класс BaseSeamlessReaderFragment, а в нем метод appendPages.

В нем было видно, что строчка:

создает дополнительную страницу, помимо тех, что есть в главе манги, с параметром, отвечающим за показ объявлений. Было решено удалить эту строчку и посмотреть результат. Снова заглядываем в аналогичный smali-файл(BaseSeamlessReaderFragment$4) и удаляем строчку:

Снова проводим сборку apk-файла из исходников и подписываем наше приложение. После установки и тестирования приложения экран с рекламой окончательно исчез, что и было конечной целью.

Читайте также:  Как убрать главные новости с экрана андроид

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

Источник

Самые популярные секретные коды для Android-смартфонов

Почему секретные Android?

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

Для чего и что можно сделать с помощью секретных кодов?

Количество комбинаций секретных кодов Android довольно большое количество и работать или не работать в зависимости от производителя, но все же их можно разделить на несколько категорий:

  • Информационные — данные инженерные коды служат, для того чтобы узнать IMEI, MAC адрес беспроводных устройств, версии прошивки и тому подобное
  • Коды Тестирования — различные тесты работы дисплея, вибро, звук, gps и другие
  • Функциональные — данные коды призваны, для того чтобы изменять работу устройства, усилить звук, внести IMEI, калибровка сенсоров, сброс настроек и многое другое.

Если «Информационные» и «Коды Тестирования» являются полностью безопасными для Android, так как не влияют на работу, то пользоваться «Функциональными» можно как и улучшить работу, так и нанести вред, поэтому нужно быть предельно аккуратным и запоминать или записывать изначальные данные.

Информационные коды

КОД ФУНКЦИЯ
*#06# Код с помощью которого можно узнать IMEI телефона
*#0*# Информационное меню (работает не для всех телефонов)
*#*#4636#*#* Информация о меню
*#*#34971539#*#* Информация о Камере
*#*#1111#*#* Версия программного обеспечения FTA
*#*#1234#*#* Версия программного обеспечения ОС
*#12580*369# Информация о программном и аппаратном обеспечении
*#7465625# Состояние блокировки устройства
*#*#232338#*#* узнать MAC адрес WI-FI модуля
*#*#2663#*#* Версия с сенсорным экраном
*#*#3264#*#* Версия RAM
*#*#232337#*#* узнать адрес Bluetooth
*#*#2222#*#* Версия аппаратного обеспечения
*#*#44336#*#* Версия программного обеспечения и информация об обновлении

Специальные коды в андроиде

Большинство из этих кодов являются общими для большинства версий андроид и мобильных устройств.

Все коды вводятся с помощью клавиатуры, на которой вы набираете номер телефона.

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

Вы можете попробовать их влияние на устройствах Самсунг, Леново, HTC, Motorola, Sony и многих других.

Эти коды генерируются Android разработчиками, стремящимися исправить сложные проблемы, с которыми сталкиваются андроид устройств.

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

Тестовые коды

КОД ФУНКЦИЯ
*#*#197328640#*#* Тестовый режим
*#*#232339#*#* Тест Wi-Fi
*#*#0842#*#* Тест на яркость и вибрацию
*#*#2664#*#* Тест сенсорного экрана
*#*#232331#*#* Тест Bluetooth
*#*#7262626#*#* Тест приема сигнала сотовой связи (GSM)
*#*#1472365#*#* GPS быстрый тест
*#*#1575#*#* Полный тест GPS
*#*#0283#*#* Тест передачи данных (Loopback)
*#*#0*#*#* Тестирование дисплея
*#*#0289#*#*
*#*#0673#*#*
Аудио тест
*#*#0588#*#* Тест датчика приближения

Удивите друзей скрытыми кодами андроид

Да! Вы можете сделать некоторые трюки в телефоне, только введение некоторых из них может вызвать серьезные изменения в конфигурации устройства, так что не играйте с ними, если вы не уверены в том, что они делают.

  • * # 06 # — показать IMEI.* # 0 * # — показать на новых телефонах, как Samsung Galaxy S III сервисное меню.
  • * # * # 4636 # * # * — информация о телефоне, включая статистику использования, включая батарею.
  • * # * # 34971539 # * # * — детальная информация о веб камере
  • * # * # 7780 # * # * — сброс к заводским настройкам, включая параметры учетной записи Google, данные приложений и загруженные приложения.
  • * 2767 * 3855 # — ВНИМАНИЕ! Это установка программного обеспечения с нуля, и стирает все данные с телефона — лучше не использовать
  • * # * # * 282 * 273 663 282 * 255 # * # * — немедленное резервное копирование всех медиа файлов в выбранной папке
  • * # * # 197328640 # * # * — включает режим тестирования для обслуживания (сервисный режим)
  • * # * # 232339 # * # * или * # * # 526 # * # * или * # * # 528 # * # * — тесты wifi с расширенными опциями меню.
  • * # * # 0842 # * # * — тест подсветки и вибрации.
  • * # * # 2664 # * # * — тест сенсорного экрана.
  • * # * # 1111 # * # * — показывает версию программного обеспечения (FTA * # * # 1234 # * # * изменения в версии прошивки).
  • * # * # 1234 # * # * — показывает версию программного обеспечения.
  • * # * # 2222 # * # * — показывает версию аппаратного обеспечения FTA.
  • * # 12580 # * 369 # — диагностика программного обеспечения и аппаратных средств.
  • * # 9090 # — диагностическая конфигурация.
  • * # 872564 # — журналы USB.
  • * # 9900 # — режим дампа системы.
  • * # 301279 # — меню управления для HSDPA / HSUPA.
  • * # 7465625 # — отображает состояние блокировки телефона.
  • * # * # 7764726 — скрытые меню Motorola Droid.
  • * # * # 7594 # * # * — позволяет изменить функцию кнопки питания (включение), чтобы автоматически выключить смартфон.
  • * # * # 232338 # * # * — отображает MAC — адрес карты Wi-Fi.
  • * # * # 1472365 # * # * — выполняет быструю проверку на GPS.
  • * # * # 1575 # * # * — выполнять более расширенный тест GPS.
  • * # * # 0283 # * # * — проведение тестовых пакетов.
  • * # 0 * # — тест дисплея.
  • * # * # 0289 # * # * — тест для аудио.
  • * # * # 2663 # * # * — показывает версию устройства с сенсорным экраном.
  • * # * # 0588 # * # * — проверяет датчик приближения.
  • * # * # 3264 # * # * — показывает версию ОЗУ.
  • * # * # 232331 # * # * — тесты модуля Bluetooth.
  • * # * # 232337 # * # — показывает адрес Bluetooth.
  • * # * # 7262626 # * # * — тесты устройств в естественных условиях.
  • * # * # 8255 # * # — мониторинг Google Talk.
  • * # * # 4986 * 2650468 # * # * — показывает информацию о телефоне и PDA оборудования.
  • * # * # 44336 # * # * — показывает дату версии (сборку) и список изменений.
  • * # * # 8351 # * # * — Включает только режим
  • * # * # 8350 # * # * — отключить этот режим
  • 778 (+ Connect) — показывает меню ЭПСТ.
Читайте также:  Очищение памяти для андроид

Сервисные коды HTC

*#*#3424#*#* Программа тестирования функциональности

*#*#4636#*#* Информационное меню

*#*#8255#*#* Запускает сервисный монитор Gtalk

##3424# Режим диагностики

##3282# EPST

##8626337# VOCODER

##33284# Технические данные состояния сети

##7738# Ревизия протокола

Индивидуальные коды для некоторых моделей телефонов

Cервисные коды для Xiaomi

Войдите в настройки телефона, в самом низу списка нажмите на пункт «О телефоне». Найдите строчку «Версия ядра» и трижды нажмите на неё. Внизу экрана вы увидите надпись «Осталось нажать ещё 2 раза» — выполняем. Готово!

Коды Xiaomi. Откройте набор номера телефона и введите специальный код *#*#6484#*#*. После нажатия на кнопку вызова вы увидите на дисплее телефона необходимый список модулей для проверки. Если вход с данным кодом не помог, попробуйте несколько других кодов: нужно заменить цифры на 3646633 или на 4636.

Некоторые модели телефона имеют индивидуальные коды, которые подходят только для них.

Коды для Samsung

Все общие секретные коды +

Актуально для любителей ВК

Открыв Secret Codes, первым в своем списке я обнаружил клиент ВКонтакте. И, конечно же, решил проверить, что здесь можно найти. Как оказалось, тут есть несколько интересных функций. Например, включение режима невидимки. Если вы откроете клиент и будете искать “невидимку” в настройках, то не найдете.

Возможно, уже сейчас кто-нибудь попытается активировать этот режим на своем смартфоне при помощи Secret Codes. В таком случае хочу сделать небольшое примечание: для начала зайдите в ВК, перейдите в настройки и выберите пункт “О программе”. Теперь нажмите на разноцветную иконку 10-15 раз. После таких “махинаций” Secret Codes сможет запустить меню дополнительных функций ВК.

Как настроить?

Операционная система Андроид изначально ориентировалась на мобильные устройства. Поэтому есть специальные инженерные или, как их ещё называют — сервисные коды для Андроид, предназначенные для инженеров сервисных центров и продвинутых пользователей. С помощью сервисных кодов можно узнать системную информацию о устройстве и операционной системе, переназначить клавиши, сбросить настройки и ещё много интересных вещей. Но есть одно Но!

ВНИМАНИЕ! Неправильный или необдуманный ввод сервисных кодов Андроид может привести к частичной или полной неработоспособности устройства. Администрация сайта не несет ответственности за повреждение Вами своего устройства и все совершаемые действия Вы делаете на свой страх и риск. Если не знаете для чего этот код, то не стоит вводить. Давайте подробнее рассмотрим что каждый код значит и для чего используется.

*#06# — Узнать IMEI аппарата; *#*#4636#*#* — Сведения и настройки; *#*#8351#*#* — включение Voice Dialer Logging (режима регистрации голосового набора); *#*#8350#*#* — выключение Voice Dialer Logging (режима регистрации голосового набора); *#*#4636#*#* — Код получения интересной информации о телефоне и аккумулятора. Он показывает следующие 4 меню на экране: — Информация о телефоне; — Информация об аккумуляторах; — Статистика аккумулятора; — Статистика использования. *#*#44336#*#* — информация о PDA, CSC, времени сборки и прочих данных о смартфоне *#*#7780#*#*— Код для сброса настроек Android на заводские: — настройки Google-аккаунта, хранящиеся на смартфоне; — данные и настройки системы и приложений; — загруженные приложения. Код НЕ удаляет: — текущие системные приложения и приложения поставляющиеся со смарфоном; — данные на SD карте (фото, видео и т.д.). Примечание: Перед тем, как сбросить настройки смартфон запросит подтверждение, так что до самого последнего момента у Вас будет шанс передумать. *2767*3855# — Заводское форматирование устройства. Внимание! Будут удалены все файлы и настройки включая те, которые хранятся во внутренней памяти. Так же этот сервисный код Андроид переустанавливает прошивку смартфона. Примечание: После введения кода есть только один путь назад — быстро вытащить батарею и начать восстановление данных через ПК. *#*#34971539#*#* — Сервисный код Андроид, используемый для получения информации о камере телефона. Он показывает следующие четыре параметра: — Обновление прошивки камеры в образ (Никогда не используйте этот вариант, в противном случае ваша камера телефона перестанет работать, и придется нести телефон в сервисный центр для переустановки прошивки камеры); — Обновление прошивки камеры на SD-карте; — Получить версию прошивки камеры; — Посмотреть сколько раз обновлялась прошивка. *#*#7594#*#* — Сервисный код Андроид для изменения режима кнопки «Отбой / Вкл.Выкл.». По умолчанию, при длительном нажатии кнопки, будет показан экран с предложением выбрать любой вариант: «Переключиться в беззвучный режим», «Режим полета» или же «Выключить смартфон». Вы можете изменить предложенные варианты используя этот код. К примеру, можно сделать так, чтобы телефон сразу же выключался, без выбора из меню нужного варианта. *#*#273283*255*663 282*#*#* — Сервисный код Андроид открывающий экран копирования файлов, на котором можно сделать резервные копии своих данных (фото, аудио и т.п.) *#*#197328640#*#* — Сервисный код Андроид для входа в режим обслуживания. Здесь можете запускать различные тесты и изменять настройки в сервисном режиме для WLAN, GPS и Bluetooth; *#*#1234#*#* или *#12580*369# — вывод информации о текущей прошивке телефона или планшета *#*#1111#*#* — информация о FTA версии ПО; *#*#2222#*#* — информация о FTA версии железа; *#2222# — версия прошивки операционной системы Android *#*#232338#*#* — показывает MAC адрес WiFi адаптера; *#*#232337#*# — Показывает адрес устройства Bluetooth; #*5376# — удаление всех SMS #*2562#, #*3851#, #*3876# — перезагрузка смартфона, планшета

Читайте также:  Как пользоваться андроид авто без проводов

Коды для запуска различных заводских сервисных тестов:

*#*#1472365#*#* — быстрое тестирование GPS-модуля; *#*#1575#*#* — Более тщательный тест GPS; *#*#232339#*#* или *#*#526#*#* или *#*#528#*#* — тест беспроводной сети WLAN (используйте кнопку «Меню» для запуска различных тестов); *#*#232331#*#* — проверка модуля Bluetooth; *#*#0283#*#* — Пакетные Loopback тесты; *#*#0*#*#* — LCD-тест экрана; *#*#0673#*#* или *#*#0289#*#* — тест аудиосистемы; *#*#0842#*#* — тестирование вибрации и подсветки; *#*#2663#*#* — Сенсорный экран, версия; *#*#2664#*#* — Сенсорный экран, проверка; *#*#0588#*#* — Датчик движения; *#*#3264#*#* — вывод версии памяти RAM; *#*#8255#*#* — инженерный код тестирования службы Google Talk;

Инженерные коды у отдельных производителей:

*#*#4636#*#* — скрытое сервисное меню для устройств Motorola; **05***# — разблокировка PUK кода на Sony; 3845#*855# — сервисное меню на телефоне LG G3; *#0011# — инженерное меню на смартфоне Samsung Galaxy S4; ##778(+кнопка вызова) — выводит на экран EPST-меню на аппаратах Samsung; ##3424# — режим диагностики на HTC; ##3282# — EPST на телефонах TC; ##8626337# — VOCODER у устройств HTC; ##33284# — технические данные состояния сети на HTC; ##7738# — ревизия протокола (для HTC)/

Это основные сервисные коды Андроид, которые могут Вам понадобится.

Источник

Оцените статью