Данная заметка рассматривает способы сброса графического ключа (или пароля) на системах Android (планшеты и смартфоны). В т.ч. без пароля от аккаунта Google. И даже изначально root прав на устройстве и режима отладки USB, на примере планшета на чипе Allwinner A10.
Вчера на работе принесли мне коллеги планшет с просьбой помочь. Это был некий TeXeT (модель не важна) на чипе Allwinner A10. Структура прошивок A10 и его возможности уже хорошо известны (мне в том числе), поэтому возможностей к решению различных проблем много.
В данном случае проблема была в том, что на планшет поставили графический ключ, который успешно забыли. Что в этом случае в первую очередь советует поиск? К сожалению в начале попадаются только банальные решения - ввести неправильно пароль 5 раз, и после этого вам предложат ввести данные от аккаунта Google. Которые к сожалению тоже забыли.
Конечно не все такие беспечные. И если ключ забывается часто, то пароль от Google аккаунта даже если и не сразу вспомнить, то обычно можно восстановить на сайте Google (конечно если были введены корректные данные). Но что делать, если его нет и восстановить не удается?
Первым делом надо попробовать подключить устройство к компьютеру по USB. Если у вас ранее был включен режим отладки по USB (который нужен при любой "махинации" с устройством - получение root прав, скрипты, установка кастомных прошивок и т.д.), то устройство должно будет "увидеться" в режиме ADB. Далее, если у вас еще не было root прав, то нужно их получить. Как это делается я тут рассказывать не буду, зависит это от конкретного устройства. Но нужен способ, работающий с компьютера (т.к. самим устройством пользоваться мы не можем). Несмотря на блокировку, действия через скрипты будут обрабатываться и доступ через ADB к планшету имеется. Смысл в том, что при наличии root доступа к консоле устройства через ADB, можно будет снять блокировку и исправить многие другие проблемы.
Но на моем планшете к сожалению отладка по USB была отключена полностью. Что делать? Можно конечно просто перепрошить или сделать wipe/сброс. Но тогда потеряются все данные. Я ищу более "гуманные" способы. И для устройства на A10 я нашел следующее решение. Получить доступ с root правами из консоли можно через кастомный recovery! Т.е. например CWM. Если он уже стоит - замечательно. Загружаемся в него и правим.
Но у меня его не было. Как поставить рекавери без доступа к планшету и его настройкам? У Allwinner A10 есть замечательная возможность загрузиться со своим образом с microSD карты. Для моего варианта подошла эта инструкция. Подготовив флэшку и загрузившись с неё, я попал в меню CWM Recovery. Отлично! Запускаем ADB и видим доступ в консоль с правами рута. Из меню (или из консоли с помощью команды 'mount /dev/nandd /data') CWM монтируем раздел /data.
Далее из ADB нужно сделать определенные действия. Я нашел такую инструкцию на форуме 4pda. Сразу попробовал способ 2, т.е. удалил файл gesture.key:
adb shell rm /data/system/gesture.key
Мне к сожалению не помогло. Дальше пошел по 1му способу и сделал:
adb shell
cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
update system set value=0 where name='lock_pattern_autolock';
update system set value=0 where name='lockscreen.lockedoutpermanently';
.quit
Точнее у меня в рекавери не было sqlite3, поэтому я забрал файл settings.db через 'adb pull /data/data/com.android.providers.settings/databases/settings.db' к себе на компьютер и уже там его редактировал через SQLite3. К сожалению именно эта рекомендация не помогла. Стал разбираться.
В файле /data/data/com.android.providers.settings/databases/settings.db хранятся настройки системы, в т.ч. блокировки. По сути это база данных формата sqlite3, которую через него и можно редактировать. Я смог посмотреть все настройки которые там были и по ним нашел то, что данные параметры у меня были не в таблице system, а в таблице secure. Видимо место хранения и значения разнятся от версии Android'а. Далее нашел еще некоторые настройки, которые надо исправить. Посему полный список команд после sqlite3 settings.db будет выглядеть так:
update secure set value=0 where name='lockscreen.password_salt';
update secure set value=0 where name='lockscreen.password_type';
update secure set value=0 where name='lockscreen.lockoutattemptdeadline';
update secure set value=0 where name='lock_pattern_visible_pattern';
update system set value=0 where name='lockscreen.lockexchange.enable';
После этого измененный файл settings.db я "залил" назад на планшет, вместо старого. Извлекаем флэшку с рекавери и перезагружаемся. И планшет замечательно загружается без блокировки и со всеми пользовательскими данными.
Надеюсь и вам помогут эти рекомендации, если вы окажетесь в подобной ситуации. А вообще не забывайте свой пароль на аккаунт Google.
Комментарии (2)
Циклический ребут!
После этого у меня вечная анимация включения!!
К автору притензий нет, так как собирался, ещё до прочтения этой статьи сделать так.
Но теперь даже после возврата старого не редактированного сетинг.дб
с выставкой нужных разрешений, вечний ребут :(
Re: Циклический ребут!
Может что-то еще делалось параллельно? Потому что если файл был корректно вернут назад и разрешения выставлены те же, то от этого не может быть ребута.
А что за модель устройства?
Добавить комментарий