Скрытые возможности на смартфонах Huawei.

Подробная инструкция — как пользоваться режимом Factory Mode на Android, что в нём можно делать, когда он появляется и как из него выйти.

Как включить Factory Mode?

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

Если в вашем устройстве имеется Factory Mode, чаще всего он запускается:

Нажатием на клавишу Power и клавишу увеличения звука выключенного устройства:

При нажатии на клавишу Power и клавишу уменьшения звука выключенного устройства:

При нажатии на клавишу Power и клавиши увеличения и уменьшения звука одновременно выключенного устройства:

При этом вы можете запустить Recovery Mode или другое меню, будьте аккуратны.

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

* # * # 225 # * # * — Календарь событий.

* # * # 759 # * # * — Доступ к настройке партнера Google (интерфейс отладки Rlz).

* # 872564 # — Управление протоколом USB.

* # 9900 # — Режим системного дампа Huawei Honor 6A.

* # * # 97 # * # * — Настройки языка и клавиатуры в Huawei Honor 6A.

* # * # 46 * # * # — Сброс Sim в Huawei Honor 6A.

* # 301279 # — HSDPAHSDPA означает «Высокоскоростной пакетный доступ по нисходящей
линии связи» и является методом, используемым в системе мобильной связи UMTS,
скоростью загрузки от 3,6 Мбит / с до 7,2 Мбит / с. HSUPA разрабатывается коммерчески
с 2007 года в Германии. Высокоскоростной пакетный доступ по нисходящей линии
связи (HSDPA, 3.

5G, 3G или широкополосный UMTS) является методом передачи данных
сотовых стандартов UMTS, который был определен проектом партнерства третьего поколения.
Этот метод позволяет DSL-подобные скорости передачи данных в мобильных сетях.
HSDPA доступен в Германии, среди прочего, сетевыми операторами Vodafone, E-Plus,
O2 и телекоммуникационными компаниями, а также в Швейцарии Swisscom, Sunrise и
Orange.

В Австрии работают сети A1, T-Mobile, Orange и Three HSDPA./ HSUPAHSUPA
означает «Высокоскоростной пакетный доступ по восходящей линии» и является методом,
используемым в системе мобильной связи UMTS, скоростью загрузки до 5,8 Мбит / с.
Высокоскоростной пакетный доступ по восходящей линии (HSUPA) — это способ передачи
стандарта мобильной радиосвязи UMTS, который обеспечивает более высокие скорости
передачи данных по восходящей линии связи и уменьшает время прохождения в оба
конца (часто называемое ping). HSUPA Category 6 составляла до 5,76 Мбит / с и
9-й категории (выпуск 9) до 23 Мбит / с. HSUPA является частью выпуска 9 UMTS.Control Menu

* # 7465625 # — Просмотр статуса блокировки телефона.

* 7465625 * 638 * Код # — Включает сетевой замок.

# 7465625 * 638 * Код # — Отключает блокировку сети.

* 7465625 * 782 * Код # — Включает блокировку подмножества.

# 7465625 * 782 * Код # — Отключает блокировку подмножества.

* 7465625 * 77 * Код # — Включает блокировку SP.

# 7465625 * 77 * Код # — Отключает блокировку SP.

* 7465625 * 27 * Код # — Включает блокировку CP.

# 7465625 * 27 * Код # — Отключает блокировку CP.

* 7465625 * 746 * Код # — Включает блокировку SIM-карты.

# 7465625 * 746 * Код # — Отключает блокировку SIM-карты.

* 7465625 * 228 # — Блокировка активации включена.

# 7465625 * 228 # — Блокировка активации выключена.

* 7465625 * 28638 # — Автоматическая сетевая блокировка ВКЛ.

# 7465625 * 28638 # — Автоматическая блокировка сети ВЫКЛ.

* 7465625 * 28782 # — Автоподстановка для включения ВКЛ.

# 7465625 * 28782 # — Автоподстановка блокировки ВЫКЛ.

* 7465625 * 2877 # — Автоматическая блокировка SP ВКЛ.

# 7465625 * 2877 # — Автоматическая блокировка SP ВЫКЛ.

* 7465625 * 2827 # — Автоматическая блокировка CP ВКЛ.

# 7465625 * 2827 # — Автоматическая блокировка CP ВЫКЛ.

* 7465625 * 28746 # = Автоматическая блокировка SIM ВКЛ.

# 7465625 * 28746 # = Автоматическая блокировка SIM-карты ВЫКЛ

* # * # 273283 * 255 * 663282 * # * # * — Этот код открывает экран копирования
файлов, где вы можете создавать резервные копии медиафайлов, например, изображения,
звук, видео и звуковые заметки.

* # * # 197328640 # * # * — Этот код можно использовать для входа в сервисный
режим. Вы можете запускать различные тесты и изменять настройки в сервисном режиме.

Введение

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

  • Снятие дампа памяти с мобильных устройств на Android
  • Получение данных с мобильных устройств с помощью интерфейса отладки JTAG
  • Метод Chip-off для получения информации с мобильных устройств

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

Заключается этот метод в следующем: мобильное устройство с которого непосредственно требуется извлечь данные, необходимо подключить, использовав стандартные разъемы, к карте памяти (например, MMC), поддерживающей стандарт eMMC. После этого карта подключается к картридеру, и специалист может просматривать информацию в исходном виде.

Плюсы метода:

  • Значительно меньшие затраты на дополнительные устройства и ПО, в сравнении с рассмотренными ранее методами;
  • доступность полученных данных;
  • простота реализации;
  • высокая скорость получения данных;
  • возможность получения данных с устройства, у которого поврежден контроллер, так как в данном методе управляющим является контроллер карты памяти, при помощи которой выполнено подключение.

Минусы:

  • Не все модули памяти мобильных устройств поддерживают стандарт eMMC;
  • в некоторых случаях требуется полная разборка мобильного устройства для получения доступа к его сервисным разъемам.

Зачем нужны автотесты?

Есть мнение, что UI-тесты не нужны, если у вас достаточное количество юнит- и интеграционных тестов. Но от следующей метафоры никуда не деться. Представьте, что вы собираете велосипед. У вас есть два хорошо протестированных колеса, протестированная рама вместе с седлом, протестированная система педалей с цепью и рулем. То есть мы с вами имеем хороший набор интеграционных и юнит-тестов. А велосипед-то в итоге поедет? Чтобы это проверить, вы нанимаете ручных тестировщиков, которые перед каждым релизом должны убедиться, что безупречные детали корректно взаимодействуют друг с другом, и велосипед будет ездить и доставлять пользователю удовольствие.

Так же и с любым программным обеспечением для мобилок. К сожалению, в мобильном мире мы не можем откатить неудачные изменения быстро, ведь все обновления идут через Google Play Store и App Store, что сразу накладывает ограничения в виде долгой раскатки в сравнении с веб- и backend-аналогами, обязательной совместимости версий и зависимости от решения пользователя обновляться или нет. Поэтому нам критически важно всегда убеждаться перед релизом, что основные пользовательские сценарии приложения работают именно так, как ожидается.

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

Все это естественным образом подводит к необходимости автоматизации проверки пользовательских сценариев, то есть написания end-to-end- или автотестов. У «Авито» есть рассказ о том, как автотесты помогают и сколько они стоят (2019 год). Однако большинство команд такой метод отпугивает своей сложностью и необходимостью вкладывать существенные ресурсы, чтобы выстроить процесс. Это возвращает нас к цели данной статьи и вообще к одной из целей Avokado Project — стандартизировать процесс автотестирования в Android и существенно уменьшить его стоимость.

Как отключить безопасный режим на Андроид?

Извлечение батареи

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

Первым делом отключаем устройство

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

С помощью кнопки «Домой»

Этот способ так же прост, как и предыдущий. Всё, что требуется сделать, это:

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

Нажатие на кнопку увеличения/уменьшения громкости

Внимание! Этот способ сбрасывает настройки устройства до заводских, все сохранённые данные будут потеряны.

  • Файлы можно скопировать на компьютер, подключив к нему устройство. Или поместить все необходимое в облачное хранилище. Например, Google Диск.
  • Все приложения можно будет потом повторно загрузить. Если они были вами куплены, то оплата будет сохранена, и тратить деньги второй раз не придётся.
  • Контакты не пострадают, но для большей уверенности можно экспортировать их в файл и сохранить на компьютере.

Что нужно сделать, чтобы сбросить настройки телефона:

Что такое Factory Mode?

Но не стоит торопиться — при наличии уровня знаний, чуть выше начального пользователя, каждый пользователь может протестировать смартфон, перезагрузить операционную систему или сбросить ее до первоначального уровня (заводских настроек). Для этого нужно активировать специальный режим — Factory Mode.

Factory Mode в буквальном переводе означает «заводской режим». Это режим, при котором есть возможность выполнить с устройством ряд операций, недоступных в обычном пользовательском режиме.

Factory Mode

Картина целиком

Итак, обещанная картина целиком.

Android Autotests Cheat Sheet

Если вы чего-то не понимаете, не переживайте. Мы сейчас пройдемся подробно по всем пунктам.

Патченный adbd

Т.к. мне надоело иметь доступ к урезанной консоли Android, а патчить бинарник adbd мне лень, то я решил собрать свой adbd с блэкджеком и шлюхами. Для этого пришлось скачать 70 Gb исходников Android, чтобы не возиться с каждой зависимостью по отдельности. Убрал проверку при которой происходит урезание capabilities, скомпилировал, подменил и получил полноценную root консоль. Теперь я могу монтировать файловые системы, смотреть dmesg без отключения dmesg_restrict, спокойно просматривать и редактировать файлы, которые не принадлежат root и многое другое. Но я пока не могу монтировать раздел и загружать модули в ядро.

Кстати, этой процедуры можно избежать, скомпилировав lsh и подставить его путь в . Желательно обернув запуск lsh в скрипт, который задаёт environment, иначе придется задавать полный путь к каждой команде.

Местоположение указателя.

Все ваши касания и жесты на дисплее будут показаны.

Как восстановить системный раздел?

Восстановить системный раздел на Андроид непросто. Перед тем, как приступить к реанимации аппарата, нужно заранее сделать резервную копию. Это можно осуществить при помощи соединения телефона к компьютеру через USB-кабель.

Если резервная копия имеется, то сделайте следующее:

  1. В заводском режиме выберите пункт «Clear eMMC/wipe data/factory reset».
  2. Будет представлен список точек восстановления. Укажите нужную. Рекомендуется выбирать предпоследнюю или последнюю. Нажмите кнопку «Power» для подтверждения.
  3. Подождите пару секунд. Смартфон восстановит работу системы и переведет вас в штатный режим.

В случае отсутствия точки восстановления следуйте ниже приведенной инструкции:

  1. При помощи файлового менеджера (например, Root Explorer) найдите папку системного раздела. Путь: efs/FactoryApp. Там находится файл «factorymode».
  2. Откройте этот документ при помощи файлового менеджера. Это можно сделать с компьютера через текстовый редактор.
  3. Найдите строчку с символом «ON». Это означает, что заводской режим включен.
  4. Поменяйте значение на «OFF». Обязательно сохраните изменения.
  5. Скопируйте файл на смартфон, если операция проводилась с ПК.
  6. Перезагрузите телефон.

После этого аппарат перейдет в штатный режим.

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

Видео

Ниже приводится видео «CWM Backup», где пошагово демонстрируется процесс создания резервной копии для устройства. Автор материала: блогер Александр Журавлев.

источник

Третий этап блокировок (может повлиять на функциональность, делать строго после создания бэкапа):

Плагин службы безопасности (SecurityAdd)

Companion Device Manager помогает находить потерянный телефон

MmsService

msa (MSA-Global) вставляет рекламу в стандартные приложения

Analytics (AnalyticsCore) бэкдор Xiaomi

Лента виджетов (PersonalAssistantGlobal) (можно удалить) взаимодействует с экраном слева от вашего домашнего экрана, там где Заметки, Мероприятия, Ярлыки… Если, заморозить, то экран никуда не девается, но что-то поменять там возможности уже не будет, например, если решите нажать на кнопку «Настройки», то ничего не откроется, кроме сообщения «Приложение не найдено»; Корректное отключение производится через меню Настройки-Рабочий стол и недавние-Лента виджетов

Autotest тесты смартфона

com.android.wallpaperbackup ненужный бэкап

Резервирование в Mi Cloud (CloudBackup)

CloudServiceSysbase(com.miui.cloudservice.sysbase) — сервис связанный с Mi Cloud, скорее всего с активацией и работой;

Mi Cloud (CloudService)

MiuiDaemon (com.miui.daemon) — спорный сервис, где-то пишут, что это сервис мониторинга и отправки данных (а-ля тотальный заговор против конфиденциальности человечества), а где-то пишут, что это сервис управления производительностью (ядром). При отключении данного сервиса мне не удалось обнаружить падений системы и сбоев в работе;

SecProtect (com.qapp.secprotect)

Обновление компонентов (com.xiaomi.discover)

Темы (ThemeManager, com.xiaomi.thememanager). После отключения пункт Темы в Настройках не исчезает, но работать перестает.

miui.external.Application (ThemeModule, com.android.thememanager.module)

Google (Velvet.apk, com.google.android.googlequicksearchbox) поиск от Google, включающий в себя строку поиска на рабочем столе и Google Now. Есть не в каждой прошивке MIUI.

GoogleOneTimeInit (GoogleOneTimeInitilalizer.apk,com.google.android.onetimeinitializer) — мастер установки дополнительных Google-приложений;

SysoptApplication (SYSOPT, com.miui.sysopt)

Отчет (BugReport, com.miui.bugreport)

Заметки (Notes, com.miui.notes) замораживаем, если используем другое приложение, например Заметки Google (Google Keeps)

com.miui.internal.app.SystemApplication (miuisystem, com.miui.system)

WMService (com.miui.wmsvc) – нигде нет информации по этому приолжению, значит надо отключить!

AntiSpam (com.miui.antispam) – отключаем, так как лично я использую Truecaller в качестве спам фильтра для звонков и смс.

Калибровка экрана

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

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

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

Выполните переход «Настройки»/«Экран»/«Калибровка экрана». Система отобразит кружки разного цвета и под разными номерами. Зависимо от порядкового номера, нажимайте на них. После окончания действия система проинформирует, что тест закончен. После перезагрузите гаджет.

Второй способ реализовывается специальным кодом — *#*#3646633#*#*.

После необходимо:

  • перейти в раздел «Hardware Testing»;
  • опустить отображенный список в самый низ и нажать «Sensor»/«Sensor Calibration»/«Clear Calibration».

После щелкните на «Do calibration 20%» для повышения чувственности экрана. Дополнительные действия для сохранения делать не нужно. Просто выйдите из меню и перезагрузите гаджет.

Как определить дату производства смартфона?

Чтобы определить дату производства, необходимо посмотреть на серийный номер устройства:

  • Отсчитайте последние пять цифр с конца — они ничего не значат, нам нужны следующие четыре значения;
  • Девятая цифра с конца — год производства;
  • Восьмая цифра или буква — месяц производства (A — октябрь, B — ноябрь, C — декабрь);
  • Седьмая и шестая — день производства.

Например: S/N:A5C1A01273100011. Где 2 — 2020, 7 — июль, 31 — 31.

Инструкция актуальна для всех устройств Huawei.

Остальное

Не забывайте про такие немаловажные моменты, как:

  • вывод отчета по прогону тестов (Allure);
  • внедрение/синхронизация с TMS;
  • интеграция в CI/CD;
  • обучение разработчиков и тестировщиков;
  • процессы — кто, когда, сколько и какие автотесты пишет.

Про все это мы еще обязательно поговорим.

Местоположение указателя.

Все ваши касания и жесты на дисплее будут показаны.

Копаем recovery

Проверяю разницу между boot и recovery разделами. Все идентично кроме initramfs. В initramfs раздела recovery изучаю init.rc, в котором описан лишь один сервис, который запускает . Изучаю , затем исходники оригинального recovery. Как видно, по умолчанию recovery просто отображает логотип Android. А если необходимо что-то сделать, то в штатном режиме в раздел записывается файл , который может содержать параметры запуска recovery. Если в этот файл записать то мы должны увидеть меню.

Запускаю dirtycow exploit, выставляю UID/GID, записываю файл и запускаю . Телефон перезагружается и я попадаю в меню стандартного recovery. Уже что-то. Пробую прошить ZIP файл с supersu через . Операция прерывается с ошибкой. Толком не смотрю на ошибку, а лезу в код recovery и ищу место, отвечающее за проверку цифровой подписи ZIP файла.

Выясняю, что initramfs содержит публичный ключ в формате minicrypt, которым проверяется цифровая подпись ZIP файла. Оказалось это стандартный тестовый ключ Android, и что я могу подписать этим ключём любой архив. Проверить это можно следующим образом:

Попробовал установить ZIP напрямую с sdcard, но в recovery при монтировании sdcard возникала ошибка. Изучил , оказалось что в режиме recovery sdcard монтируется как vfat:

Моя 64Gb флэшка была отформатирована в exfat. Нашел старую sdcard на 2Gb, отформатировал её как vfat, записал ZIP, вставил её в телефон. Recovery в этот раз смог примонтировать карточку и я мог просматривать её содержимое на телефоне. Однако при установке ZIP опять возникла ошибка: E:failed to set up expected mounts for install; aborting.

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

Т.е. перед тем как применить ZIP, recovery отмонтирует все разделы, но в моём случае что-то идёт не так.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: