среда, 29 июня 2016 г.

forum.ru-board.com. Что случилось с популярным форумом?

Сегодня многие обнаружили что популярный компьютерный портал, а заодно и форум - forum.ru-board.com перестали работать. Причем у некоторых форум открывался как ни в чем не бывало, а вот другие вместо форума видели заглушку Directnic.com:

В которой говорилось о том что домен expired. Судя по Whois'у - так оно и есть, домен был оплачен до 26-jun-2016 и сегодня, на момент 29.06.2016 его просто забыли / не успели оплатить. При этом хостинг на котором находится ресурс тем неменее работает исправно.

Для получения доступа к ресурсу в качестве временного решения рекомендуется прописать в hosts или в конфиги вашего внутреннего DNS-сервера (если такой имеется конечно) следующие записи:

  • 72.233.112.78 forum.ru-board.com 
  • 72.233.112.78 i.ru-board.com 
  • 72.233.112.78 i2.ru-board.com   
  • 72.233.112.78 rss.ru-board.com

После чего сделать ipconfig /flushdns в консоли и форум снова будет доступен. Тема обсуждения ситуации на форуме - ФОРУМ НЕ ОТКРЫВАЕТСЯ, ЧТО ДЕЛАТЬ?

вторник, 28 июня 2016 г.

ICQ 10.0. Новая аська "со вкусом Telegram".

Всем привет ... буквально вчера ночью я безуспешно серфил в интернете на тему поиска Scale Interface плагина к Miranda IM (NG) или QIP для увеличения UI мессенджера до 125%. Для чего это нужно? Все дело в том что на мониторе с разрешением 1920x1080 окно Miranda'ы и QIP'а смотрится слишком уж мелковато, не говоря уже о размере шрифтов в окне сообщений и т.п. И здесь как раз мне нравится подход, который был применен в другом мессенджере - Telegram, там как раз в настройках есть опция Interface Scale, которая полностью увеличивает элементы интерфейса приложения (включая шрифты и вообще весь интерфейс) ... В принципе того же самого эффекта можно достичь и при изменении DPI в свойствах дисплея в системе, но как раз системный DPI мне менять не хотелось.

Ну так вот ... поиски похожего плагина для Miranda и QIP не дал ничего интересного, но буквально сегодня благодаря одному из пользователей сообщества я узнал что штатный ICQ клиент от Mail.Ru как раз имеет такой же интерфейс как в Telegram ;) Честно говоря я удивился, потому что в моем представлении официальный ICQ клиент представлял собой нагромождение всего чего угодно (мессенджер, почта, социальные сети, игры, баннерная реклама и т.п.) и никак не напоминал Telegram. Ради интереса я зашел на официальный сайт ICQ, скачал последнюю версию клиента (по-умолчанию у меня скачалась версия 8.3) и, к сожалению, никакого даже отдаленно похожего на Telegram интерфейса в ней я не обнаружил:


А увидел того самого "ICQ-монстра", которого и ожидал ;) Секрет, как оказалось, крылся в версии моей ОС. На моем ноутбуке установлена Windows 8.1 x64, так вот, если открыть сайт ICQ из под Windows 10, то по ссылке "Скачать ICQ" будет отдаваться уже ICQ Build 10.0 ;) , которая выглядит вот так:


Согласитесь, выглядит гораздо приятнее и ничего лишнего. И что самое главное для меня, тот же самый Qt интерфейс, который используется в Telegram с возможностью Interface Scale.

Кстати, исходный код клиента доступен на GitHub'е - https://github.com/mailru/icqdesktop и отлично собирается MSVC 2012 без каких-либо дополнительных зависимостей. Правда для того чтобы правильно клонировать репу надо установить Git LFS (почитать о том что такое LFS для Git можно здесь). MSVC обязательно брать 2012-ый, в 2013-ом и выше не соберется, во-первых из-за зависимостей Qt, которым обязательно нужен Platform Toolset = Visual Studio 2012 (v110) build tools (а он ставится по-умолчанию только если установить MSVC 2012), во-вторых из-за некоторых других ошибок. По-крайней мере мои попытки собрать проект в 2013-й VC Studio оказались безуспешны, а вот в 2012-ой все "взлетело" с первого раза:


Ну и конечно же прямые ссылки:

  • Скачать "десятку" по прямой ссылке можно здесь - ICQ 10.0.12094 или здесь ICQ 10.0.12013.
  • К слову, оригинальные клиенты не позволяют запускать несколько клиентов для разных UIN сразу, а настройки профиля хранят в %APPDATA%\ICQ. Я решил немного исправить этот момент и пересобрал клиент из Git'а внеся всего две косметические правки: разрешение на запуск нескольких копий клиента (из разных папок естественно), а также хранение профиля в папке profile, в папке запуска. Таким образом можно создать две папки, назвав их icq_uin1 и icq_uin2, и профиль каждого UIN'а будет храниться в соответствующей папке клиента. Скачать мою сборку можно здесь - icq_decker_10.0.1999_280620162.7z
p.s. Ну и естественно огромное спасибо ICQ LLC и Mail.Ru за новую версию клиента и Open Source исходники. Будем надеяться что нововведения положительно скажутся на сервисе в целом, даже несмотря на то что большинство уже успели "забросить" его и отказаться от использования ICQ в повседневной жизни и очень немногие еще помнят времена Miranda'ы, QIP'а и Jimm'а в качестве Java Midlet'ов ;)

Обновлено 28.09.2016 16:09 (MSK)

Пересобрал клиент на основе последних исходников https://github.com/mailru/icqdesktop (на момент сборки это был release 10.0.12116), при сборке использовался Platform Tools для XP:


Пришлось правда решить несколько проблем, относящихся к VS2012 и atlmfc ... но это уже скорее "проблемы" VS. Внесены те же изменения, т.е. профиль пользователя сохраняется в папке с клиентом ICQ в подкаталоге profile. Например, если у вас два ICQ UIN, то вы просто делаете два различных каталога, например icq_uin1 и icq_uin2 и копируете туда файлы клиента. В дальнейшем можно запустить два разных клиента из разных папок и у них будут разные профили.

Скачать сборку можно здесь: icq_decker_10.0.1999_280920161.7z

Также собрал отдельную версию с включенным STRIP_VOIP, т.е. "вырезанными" звонками и видео-звонками. Я, например, этим функционалом не пользуюсь в принципе и чтобы не было возможности случайно нажать "Позвонить" или "Видеозвонок" и нужна эта сборка. Возможно кому-то пригодится, забирать тут: icq_decker_10.0.1999_280920162.7z .

SQLite3. Как собрать бинарник под Android?

В этой небольшой заметке я расскажу вам как собрать бинарник консольной утилиты SQLite3 под Android из исходников на ПК с Windows. Зачем это вообще может понадобиться обычному человеку? Ну например ... как вы знаете приложения под Android используют в своей работе SQLite базы данных, так, например, настройки каждого приложения хранятся в папке приложения в разделе /data в соответствующем .db файле и иногда хочется иметь консольное средство для редактирования подобных баз данных. Например, для случая когда нам нужно изменить что-то в БД, а под рукой только сам телефон с Android и т.п., или же, например, для автоматизации выполнения каких-то действий (например, ну первый условный пример, который мне только что пришел в голову, для переключения режимов 2G/3G из консоли или любой другой подобной задачи, в которой требуется непосредственное изменение данных в таблицах SQLite базы данных ... ) Более простой пример, например, изменение настроек графического ключа (его отключение), непосредственно из кастомного recovery.

Если вы периодически читали мой блог, то наверняка видели статью, в которой мы собирали Hello World в виде бинарника под Anroid используя только Android NDK. Т.е. это было простое приложение в формате исполняемого ELF-файла, которое выводило на экран строку Hello, World! Если вы не читали этот пост, то ознакомиться с ним можно здесь - ANDROID HELLO WORLD. Так вот, сборка SQLite практически ничем не отличается от того что там описано, единственное, вам придется сделать свой Android.mk для сборки, ну или взять его здесь.

Итак, по шагам ... что мы делаем. Проекты для NDK у меня лежат в папке D:\ARM. Создаем еще одну папку sqlite в папке ARM. В ней создаем папку build, куда качаем исходники SQLite - sqlite-snapshot-201606031859.tar.gz c официального сайта. Т.е. в папке Build у нас получается примерно следующее:

Затем в папке Sqlite создаем папку Jni и в ней два файла, Application.mk с содержимым:

APP_ABI := armeabi

И Android.mk с содержимым:

LOCAL_PATH := $(call my-dir)

#
# Statically Linked
#

include $(CLEAR_VARS)
LOCAL_MODULE            := sqlite3-a
LOCAL_MODULE_FILENAME   := libsqlite3
LOCAL_SRC_FILES         := ../build/sqlite3.c
LOCAL_C_INCLUDES        := ../build
LOCAL_EXPORT_C_INCLUDES := ../build
LOCAL_CFLAGS            := -DSQLITE_THREADSAFE=1
include $(BUILD_STATIC_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE            := sqlite3-static-cli
LOCAL_MODULE_FILENAME   := sqlite3-static
LOCAL_STATIC_LIBRARIES  := libsqlite3-a
LOCAL_SRC_FILES         := ../build/shell.c ../build/sqlite3.c
LOCAL_C_INCLUDES        := ../build
LOCAL_EXPORT_C_INCLUDES := ../build
LOCAL_CFLAGS            := -DSQLITE_THREADSAFE=1 -fPIE
LOCAL_LDFLAGS           := -fPIE -pie
include $(BUILD_EXECUTABLE)

#
# Dynamically Linked
#

include $(CLEAR_VARS)
LOCAL_MODULE            := sqlite3-so
LOCAL_MODULE_FILENAME   := libsqlite3
LOCAL_SRC_FILES         := ../build/sqlite3.c
LOCAL_C_INCLUDES        := ../build
LOCAL_EXPORT_C_INCLUDES := ../build
LOCAL_CFLAGS            := -DSQLITE_THREADSAFE=1
include $(BUILD_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE            := sqlite3-dynamic-cli
LOCAL_MODULE_FILENAME   := sqlite3-dynamic
LOCAL_SHARED_LIBRARIES  := libsqlite3-so
LOCAL_SRC_FILES         := ../build/shell.c ../build/sqlite3.c
LOCAL_C_INCLUDES        := ../build
LOCAL_EXPORT_C_INCLUDES := ../build
LOCAL_CFLAGS            := -DSQLITE_THREADSAFE=1 -fPIE
LOCAL_LDFLAGS           := -fPIE -pie
include $(BUILD_EXECUTABLE)

Далее в папке Sqlite создаем сценарий для сборки compile.cmd :

set NDK_PROJECT_PATH=%~dp0 
cd D:\ARM\android-ndk-r10d\
call ndk-build.cmd 
cd "%NDK_PROJECT_PATH%"

Где android-ndk-r10d - это папка с установленным NDK. После чего запускаем его. Если вы все сделали верно, то в папке D:\ARM\sqlite\libs\armeabi\ у вас появятся три собранные файла:

  • libsqlite3.so
  • sqlite3-dynamic
  • sqlite3-static
Далее берем sqlite3-static и копируем его через ADB на телефон. Я проводил опыты со своим Alcatel Idol 3 с Android 6.0.1 с установленным root:

adb push sqlite3-static /data/local/tmp - копируем файл в /data/local/tmp
adb shell chmod 777 /data/local/tmp/sqlite3-static - присваиваем ему необходимые права

Далее набираем adb shell и уже там в консоли:

su
/data/local/tmp/sqlite3-static
.open /data/data/com.tct.launcher/databases/launcher.db (здесь данный файл взят просто ради примера, вы же можете открыть любой существующий db файл в вашем аппарате)
.tables (для просмотра таблиц этой БД)
select * from sqlite_master where type = 'table'; (ну или например так, для просмотра списка таблиц через SQL запрос)

Таким образом мы рассмотрели как собрать SQLite из исходников и простейший пример как работать с ним. Более подробную информацию о командах SQLite вы можете найти здесь - Command Line Shell For SQLite.

Ниже вы можете найти как статически, так и динамически собранные бинарники для следующих архитектур (все бинарники собраны с поддержкой PIE):
  • armeabi
  • armeabi-v7a
  • arm64-v8a
  • mips
  • mips64
  • x86
  • x86_64

Полезные ссылки (больше в качестве заметок для себя же)

суббота, 25 июня 2016 г.

Alcatel Idol 4 6055K. Интерактивные фото Fyuse.

Сегодня мы с вами продолжим наш цикл статей про Alcatel Idol 4 6055K. Если вы уже читали начало обзора этого аппарата в моем блоге и с нетерпением ждете продолжения, могу сказать что оно будет буквально со дня на день, пока не успеваю. Во второй части обзора мы рассмотрим такие важные моменты как производительность, время автономной работы от батареи, снимки с камеры и т.п. Естественно что для подготовки всего этого материала необходим определенный опыт использования аппарата, порядка несколько недель, без этого просто не понять сколько, например, держит батарея в различных режимах, как работает энергосбережение и насколько качественно фотографирует камера в Idol 4 6055K. Все это мы рассмотрим чуть позже, в отдельном посте ... благо небольшая статистика уже успела собраться. А в этом - мы поговорим о такой возможности Idol 4, как интерактивные фото (Fyuse), вернее об отсутствии такой возможности в 6055K. Но обо всем по-порядку.

Началось все с того что я посмотрел обзор Эльдара Муртазина про старшую модель флагманского аппарата Alcatel - Idol 4S 6070K. Его продажи уже стартовали в России, ну а с самим видеjобзором вы можете познакомиться по ссылке выше. Так вот, если смотреть внимательно, начиная с 22:12, где Эльдар начинает рассказывать про режимы съемки камеры, можно заметить что в Idol 4S поддерживаются следующие режимы:

  • Ручной
  • Панорама
  • Авто
  • Замедление
  • Микрофильм
  • Fyuse
Где последний пункт, как раз это Fyuse параллакс, т.е. режим интерактивного фото. Вот, этот момент из видео отчетливо виден на следующем снимке из видео:


Интересно подумал я и тут же взялся за свой Idol 4 6055K в надежде опробовать этот режим и составить для себя представление, что же такое параллакс или интерактивное фото. Однако каково же было мое разочарование, когда в младшей модели такой функции просто не оказалось:


Как вы видите в режимах съемки камеры последний пункт - это "Микрофильм", ни о каком Fyuse речь не идет. Хм ... ну ладно, если гора не идет к Decker'у, тогда Decker пойдет к горе. Как вы уже поняли, интерактивные фото в Idol 4S - это не что иное, как снимки, которые можно делать в приложении Fyuse, доступном в Google Play. Однако попытка установить его на мой Idol 4 6055K завершилась с ошибкой -505 (скриншот попытки установки вы можете видеть выше). После этого я уже 100%-но решил заняться этой проблемой ... и выяснить все причины.

Первое что я решил протестировать - это проверить работоспособность самого приложения Fyuse на Android 6.0.1 Marshmallow. Для этого я взял мой старенький Idol 3 с русифицированным Marshmallow и попробовал установить на него Fyuse. Приложение успешно установилось. Значит проблема была не в Marshmallow как таковом и не в приложении, а (по всей видимости) в прошивке от Idol 4 6055K. Тогда я потратил немного времени на ее анализ и выяснил следующее. На самом деле Fyuse SDK уже частично был интегрирован Alcatel'ем в прошивку от 6055K, скорее всего поэтому и не хотело устанавливаться официальное приложение (зачем ему устанавливаться если оно уже частично интегрировано в саму ОС?). Однако почему же на Idol 4S режим Fyuse в камере был, а на младшей версии Idol 4 - отсутствовал? Этот вопрос в философском смысле наверное лучше задать разработчикам ПО из Alcatel, ну а меня больше интересовали естественно технические аспекты и способы активировать эту возможность ;) Заранее могу сказать что у меня получилось.

После непродолжительного анализа стоковой камеры (приложение tct.com.camera) на Idol 4 6055K я увидел следующую картинку:


Здесь def_camera_support_%module_name%_module - это флаги отвечающие за активность тех или иных модулей в камере. Как нетрудно догадаться, def_camera_support_manual_module - это режим ручной съемки, def_camera_support_micro_video_module - режим микрофильма и т.п. Как видите флаги этих модулей установлены по-умолчанию в значение true, а вот флаг def_camera_support_parallax_module по-умолчанию false. Т.е. модуль Fyuse (параллакс) просто оказался выключенным по-умолчанию. Ок, с этим разобрались, но как же нам включить его? "Пересобрать" системное приложение камеры не представляется возможным, вернее пересобрать-то его можно, но установить его именно как системное приложение не получится, т.к. у нас нет ключа цифровой подписи, с которым собиралась прошивка, а есть он только у производителя. Плохо, но не безнадежно ... именно для камеры небезнадежно. А что если попытаться изменить флаг и собрать то же самое приложение камеры, но уже не как системное, а как пользовательское? Ведь это может сработать, подумал я и через 5 минут уже устанавливал в аппарат модифицированное приложение камеры:



На скриншотах вы можете видеть - оригинальное приложение камера (с "салатовой" иконкой), модифицированную камеру и ее свойства, ну и конечно же заветную опцию Fyuse в режимах съемки. Долго-ли коротко-ли, но вот таким хитрым образом я дорвался до режима Fyuse на своем Idol 4 6055K. 

Пример получившегося фьюза (fyuse) или интерактивного фото можно посмотреть здесь:


Инструкция по активации Fyuse на Idol 4 6055K

  1. Скачиваем архив !fyuse_alcatel_idol4_6055k.7z, распаковываем его и копируем на телефон два файла - cameramod_app.apk и fyuse_app.apk из него.
  2. Заходим в меню Настройки -> Безопасность и включаем Неизвестные источники для установки приложений. Без этого вы просто не установите данные APK.
  3. Устанавливаем сначала fyuse_app.apk, открываем его и регистрируемся во Fyuse. На самом деле это приложение было предустановлено на Idol 4S, а apk'щкой от него со мной любезно поделились знакомые. Так вот, регистрируемся на сервисе и теперь мы можем просматривать чужие Fyuse'ы, опубликованные другими пользователями из приложения. Однако свои мы снимать в нем не можем, т.к. эта функция здесь уже "зашита" в стоковую камеру аппарата.
  4. Устанавливаем приложение cameramod_app.apk, в результате чего у вас должен появиться второй ярлык "Камера" в приложениях, но с другой иконкой (см. скриншот выше).
  5. Всё, теперь вы можете снимать свои интерактивные фото на Idol 4 6055K и делиться ими вот Fyuse ;)
Жду ваших отзывов и комментариев, ну и конечно же интересных фьюзов ;)

среда, 22 июня 2016 г.

Alcatel Pixi 4 (5") 5045D. Сброс к заводским настройкам и обход FRP (запроса аккаунта Google).

Всем привет. В этом небольшом посте я расскажу вам об одном уникальном способе обхода FRP (Factory Reset Protection) на Alcatel Pixi 4 (5") 5045D, а также, возможно, на любых других устройствах Alcatel с Android 6.0.1 и более ранними версиями. Но сначала небольшой "экскурс в историю" и попытка объяснить суть проблемы. Итак, предположим что вы установили графический ключ / защитный PIN-код и т.п. на вашем Android устройстве. Или что бывает гораздо чаще - его установил ребенок, который естественно может не вспомнить что он там вводил. Вплоть до Android 5.x Lollipop это не представляло особенной проблемы, т.к. общий сброс настроек можно было сделать из штатного меню Recovery. Т.е. схема была следующей: при включении устройства необходимо было удерживать кнопку Громкость+ (Громкость вверх) вплоть до появления меню Recovery (его вы кстати можете увидеть на фото в заголовке статьи). Далее в этом меню необходимо было выбрать Wipe data/factory reset, после чего телефон возвращался к заводским настройкам. Т.е. все данные и аккаунты на нем удалялись, а при включении он снова был "как из магазина".

Однако с выходом Android 5.1 Lollipop Google решил повысить безопасность своих устройств и ввел дополнительный уровень зашиты - Factory Reset Protection (FRP). Теперь при выполнении сброса настроек (Hard Reset / Factory Reset) из меню Recovery телефон неизбежно запрашивал данные предыдущего аккаунта Google связанного с ним. На ранних версиях Android эта "защита" также достаточно легко обходилась, например так, как описано в следующей цитате:

"Делаем так в поле, где нужно ввести аккаунт вызови клавиатуру, нажми и подержи собаку, - всплывет шестеренка, тапни на нее, далее нажми Клавиатура Android, затем нажми назад, потом кнопку диспетчер задач (крайнюю левую). Вверху экрана появится окно гуглопоиска. Набери в нем настройки, - попадешь в меню настроек, из которых сделай сброс до заводских. И вуаля))"

Однако, в Pixi 4 (5") 5045D этот метод не работает, т.к. голосовой поиск Google или просто поиск Google по-умолчанию просто не ищет введенный вами текст или фразу в названиях приложений телефона. Таким образом если написать в поиске "Настройки" или "Открыть настройки", то на 5045D ничего не произойдет.

Ниже я расскажу вам про другой метод, который скорее всего окажется работоспособным и на других моделях аппаратов от Alcatel.

Пошаговая инструкция по обходу FRP (Alcatel)

Выключаем телефон, затем зажимаем кнопку Громкость Вверх и нажимаем кнопку включения питания, кнопку Громкость Вверх держим и не отпускаем до тех пор пока на экране телефона не появится меню Recovery:


Перемещение по меню осуществляется при помощи кнопок Громкость Вверх / Громкость Вниз, выбор пункта меню с помощью кнопки включения питания. Выбираем пункт меню Wipe Data / Factory Reset, и на следующем экране выбираем - Yes -- delete all user data. После чего все настройки вашего телефона будут автоматически сброшены на заводские. Выбираем в меню Recovery - Reboot system now и дожидаемся пока телефон включится.

После включения телефона и прохождения вами нескольких экранов мастера настройки, а именно после подключения к интернет через WiFi или 3G/4G телефон запросит у вас предыдущий аккаунт Google, который был с ним связан (это и есть FRP в действии):


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

Держим на телефоне кнопку "Круг" до появления окна Google Now, в нем на запрос о включении подсказок Google Now нажимаем "Нет". После чего у вас появляется окно поиска Google:


Набираем там, например, "Настройки" и убеждаемся в том что телефон поиск по приложениям внутри телефона не выполняет (см. скриншот справа). Делаем долгий тап (т.е. удерживаем палец) на надписи настройки в окне поиска до появления меню "Вырезать", "Копировать":


Затем тапаем по трем точкам и выбираем в меню "Отправить", на следующем экране выбираем приложение SMS/MMS. Здесь в поле "Введите имя или номер" указываем что угодно, важно чтобы это было имя не из записной книжки, я написал "Decker" и нажимаем кнопку "Отправить". Сообщение естественно не отправится, т.к. получателя с таким именем нет в вашем списке контактов. Нажимаем на стрелку "назад" в левом верхнем углу и попадаем в главное меню приложения SMS/MMS:


А вот здесь мы уже нажимаем на "три точки" и попадаем в меню приложения SMS/MMS:


Здесь тапаем по самому первому пункту для выбора приложения SMS/MMS по-умолчанию и выбираем из списка Smart Suite (да, да, Smart Suite любезно был предустановлен Alcatel на наш телефон). После чего нажимаем аппаратную кнопку назад и попадаем опять же на экран SMS/MMS (см. скриншот справа), вот только тут уже у нас указано, что приложением для отправки SMS/MMS у нас назначен Smart Suite. Кликаем по этой надписи для запуска Smart Suite'а ;) Он конечно же запускается:


Еще не догадываетесь что произойдет дальше? ;) Всему свое время. скоро вы все поймете. Скачиваете приложение Smart Suite на ПК отсюда - smartsuite-guser-3-4-9-setup.exe или с официального сайта Alcatel и устанавливаем на ПК.

Далее самое интересное, подключаем телефон к ПК и запускаем приложение Smart Suite на ПК:


Сразу после этого на телефоне появляется запрос RSA авторизации:


Принимаем его и устанавливаем галочку, в результате у нас включается отладка по USB (!) ... Всё! Бинго. После этого, я думаю, самые продвинутые читатели уже поняли что к чему, т.к. отладка по USB позволяет нам сделать с телефоном практически все что угодно. Но все же поясню дальнейшие действия ;)

Скачиваем архив с platform-tools (adb 1.0.35) отсюда - platform-tools-24.7z , распаковываем в отдельную папку и запускаем файл settings.cmd из архива. На самом деле в нем находится всего несколько команд для ADB:

adb shell content insert --uri content://settings/secure --bind name:s:user_setup_complete --bind value:s:1
adb shell am start -S com.android.settings/.Settings

Итак, запускаем settings.cmd на ПК и на телефоне открываются Настройки:


Заходим в меню Аккаунты, нажимаем Добавить аккаунт и добавляем ваш новый аккаунт Google (или тот, к которому вы помните пароль). При этом старый аккаунт, благодаря нашему "волшебному" settings.cmd запрашиваться не будет (к слову, многие наверное спросят - почему на этапе когда мы зашли в меню Настройки нельзя было зайти в меню Восстановление и сброс и сбросить все настройки телефона на настройки по-умолчанию - заранее скажу, что нельзя, т.к. с установленным обновлением безопасности для Android 6.0 от 1 марта 2016 года при таком сбросе данные о том что телефон когда-то был связан с предыдущим аккаунтом сохранятся).

Таким образом мы получили аппарат с добавленным к нему аккаунтом Google ;) Перезагружаем его и вуаля ... 


Вот и всё. Well done! 

Ниже несколько полезных ссылок для самостоятельного ознакомления. Они, естественно, не являются готовыми решениями для 5045D - но позволяют понять общие принципы, хаки UI и т.п. используемые при обходе FRP. Возможно совмещением нескольких из приведенных методов у вас получится обойти FRP и на другом вашем устройстве.

Полезные ссылки 


Резюме

На самом деле способов обхода FRP гораздо больше, некоторые из них сводятся к тому или иному способу активации отладки по USB и последующему сбросу настроен через меню "Восстановление и сброс" или добавлению нового аккаунта, как в показанном примере, некоторые к использованию сервисных утилит от производителя или специализированных программаторов. Некоторые - требуют работы с платформой (Qualcomm или Mediatek) на более низком уровне и использование модифицированных загрузчиков или затирания / прошивки отдельных разделов. Если задаться целью и включить безграничную фантазию - то задача становится вполне решаемой. Проблема в том, что как раз ни необходимых знаний, ни инструментария, ни тем более безграничной фантазии у обычных пользователей попросту нет. Поэтому иногда для сброса телефона к заводским настройкам и обхода запроса предыдущего аккаунта Google связанного с телефоном проще всего обратиться в сервисный центр по ремонту мобильных телефонов и лучше если это будет АСЦ производителя вашего аппарата. Потому что иногда в некоторых неавторизованных СЦ уровень технической грамотности персонала оставляет желать лучшего, и люди сталкиваются с ситуацией когда простой вопрос, решение которого у специалиста займет максимум 10 минут, там не могут решить месяцами.

Ну и напоследок хотелось бы всем пожелать - не забывайте пароль от аккаунта Google связанного с телефоном! ;) Ну и конечно не допускайте первоначальную настройку аппарата детьми, "знакомыми", консультантами в магазинах и т.п., потому что в случае если вы забудете логин или пароль, а то и вовсе не будете знать их - есть риск столкнуться с дополнительными проблемами при сбросе настроек телефона к заводским. На этом пока всё ... Stay tuned ;)

Обновлено 23.06.2016 13:18 (MSK)

Одну и ту же задачу всегда интересно решать разными способами. В приведенном выше примере мы активировали доступ к отладке по USB, используя Smart Suite. Но что делать если на нашем телефоне не установлен Smart Suite, например, в случае когда мы имеем дело с не Alcatel'евским аппаратом. Здесь можно попробовать следующее:

  1. Выполняем сброс настроек (Wipe data / factory reset) через меню Recovery, так, как и описано выше. Либо же, если у нас активен режим fastboot - с помощью команды fastboot -w.
  2. После загрузки, во время первоначальной инициализации, т.е. после запуски мастера настроек телефон запросит у нас предыдущий аккаунт Google.
  3. Делаем все как и раньше, т.е. держим "Круг" и выходим на строку голосового поиска Google. Пишем в ней любое слово, например, те же "Настройки" и выделяем его с помощью тапа по нему, чтобы появилось контекстное меню.
  4. В меню выбираем "три точки" и Отправить. Появляется выбора приложений для отправки.
  5. Далее долгий тап по GMail. Появится меню "Информация о приложении". В нем нажимаем на "Уведомления", а затем выбираем "Настройки приложений".
  6. У вас появляется меню Настройки, содержащее два пункта "Общие настройки" и "Добавить аккаунт".
  7. Нажимаем по трем точкам и выбираем "Управление аккаунтами". ОС задаст вопрос, "Будет открыто приложение 'Настройки', в котором можно добавлять и удалять аккаунты" и два варианта "Отмена" и "Продолжить". Конечно "Продолжить" )) И мы попадаем в приложение "Настройки".
  8. Далее если ваш телефон с древними Security патчами можно сразу оттуда попробовать выполнить Восстановление и сброс. Либо же покликать по "Номер сборки" и оттуда попытаться активировать Настройки разработчика и включить отладку по USB. Ну а далее по описанному выше сценарию. Однако учтите, что если у вас, например, 6.0 и security патчи от марта 2016, то настройки разработчика таким способом, если в телефоне еще нет аккаунта Google, активировать нельзя и придется искать "обходные варианты".
  9. Ну например ... что можно придумать ... описанным выше способом запускаем приложение SMS, далее вбиваем несуществующего получателя и пытаемся отправить SMS. Затем возвращаемся на главный экран приложения SMS, где мы видим наше сообщение. Рядом с именем получателя будет доступна кнопка звонка. Нажимаем на нее и попадаем в Dialer ) Далее набираем secret code для запуска инженерного меню MTK. В 5045D - это *#*#825364#*#*. В нем заходим в Connectivity -> CDS Information -> Network Utility. То что вы видите перед собой - это консоль shell с правами system.

    Там можно набрать:

    content insert --uri content://settings/secure --bind name:s:user_setup_complete --bind value:s:1

    После чего уже можно запускать меню Настройки -> Аккаунты и добавлять новый аккаунт. Как видите, в этом случае нам даже не потребуется ПК. Вариантов применения подобного shell можно найти не один ;)

    Но это уже в качестве "задания на дом". Найдете интересные варианты - пишите в комментариях.

суббота, 18 июня 2016 г.

МТС Smart Race 4G. Очередной бюджетник от МТС.

Сегодня я расскажу вам об очередной новинке от МТС - МТС Smart Race 4G или МТС Smart Race LTE, как он обозначен на самом сайте МТС'а. Смартфон доступен в черном и белом вариантах по цене в 3990 руб. и представляет собой неплохой бюджетный двухсимочник с LTE, построенный на базе уже хорошо знакомого нам чипа от Mediatek - MT6735M. "На борту" Smart Race 4G также можно обнаружить 1 Gb оперативной памяти (RAM), 8 Gb встроенной памяти, из которых пользователю доступны по-умолчанию около ~2.8 Gb, две камеры с разрешением 5 Mpix (основная) и 2 Mpix (фронтальная), а также Android 5.1 Lollipop. Вообщем-то все стандартно для смартфонов подобного класса. Также в аппарате предусмотрено 2 слота для SIM-карт, один miniSIM, т.е. симкарта стандартного форм-фактора, другой - microSIM. Оба слота - simlock, т.е. по-умолчанию их использование возможно только с SIM-картами этого оператора.

Почему же аппарат неплохой? Во-первых из-за его стоимости. Получить за 3990 руб. двухсимочник с поддержкой LTE, с достаточно неплохим по производительности для бюджетного сегмента процессором и IPS (!) экраном 4.5" (480x854 точек) уже само по себе неплохо. Т.е. за эти деньги смартфон обладает неплохой производительностью не только для работы во всех современных приложениях, но также и для запуска ресурсоемких 3D игр. Конечно, в плане производительности MT6735M в Smart Race LTE не стоит сравнивать с "числогрызами", устанавливаемыми во флагманские устройства, но и позиционируется он как аппарат бюджетного уровня, а не мобильная игровая консоль. Поэтому запустить те же World of Tanks, HearthStone, Asphalt, GTA, Dead Trigger и многие другие полюбившиеся вам хиты на нем вы безусловно сможете, но сравнивать аппарат с флагманами, естественно не стоит.

Во-вторых, МТС Smart Race 4G это две SIM-карты и поддержка LTE, в-третьих - неброский внешний вид (т.е. аппарат вполне можно взять собой на дачу, в электричку, в школу и т.п. и вы не привлечете к себе "излишнего" внимания) и в то же время достаточно удобная эргономика, т.е. удобное расположение управляющих элементов, комфортное расположение в ладони, благодаря небольшому размеру (130.6 x 66.4 x 9.4 мм) и возможность легкого управления одной рукой.


Еще несколько фото:



Как видно, здесь Ginzzu Technology Limited (Гинзу Технолоджи Лимитед), а именно эта компания значится производителем аппарата на коробке, не стала отходить от традиционных концепций дизайна для Android смартфонов, поэтому все достаточно привычно. Единственный нетрадиционный элемент, который вы можете увидеть на первом фото - это светодиодный индикатор событий на передней панели в правом верхнем углу, который мигает сине-голубым цветом, если у вас имеются пропущенные уведомления, звонки и т.п. В остальном - все традиционно.

Кстати, пока я пишу эти строки zzzepr уже монтирует видеообзор аппарата, который в скором времени также появится в этой статье:


Ну а мы пока кратко пробежимся по интерфейсу аппарата, посмотрим предустановленные приложения, объем свободной внутренней памяти сразу же после первого включения МТС Smart Race 4G и результаты тестирования в популярных benchmark'ах:




Здесь мы видим уже знакомый нам по другим брендированным МТСовским аппаратам LockScreen (com.celltick.lockscreen), а также практически "стоковый" лаунчер Android 5.1 Lollipop. Как вы видите, никаких, даже внешних косметических изменений производителем внесено не было - та же полоска Google Search, то же расположение рабочих столов и экранов приложений, с горизонтальной прокруткой, вообщем все то к чему мы уже успели привыкнуть на других аппаратах. Как и говорилось в начале обзора - в аппарате 8 Gb'тная eMMC Flash, однако под раздел с пользовательскими данными (userdata) выделено всего 4.26 Gb (4571267072 байт), из которых пользователю по-умолчанию доступны ~2.84 Gb свободного места. При установке в телефон microSD карты  она автоматически становится устройством хранения данных по-умолчанию и, например, при установке игр и приложений из Google Play весь OBB-кэш автоматически скачивается на нее, что не может не радовать, т.к. согласитесь, с 2.84 Gb внутренней памяти - врядли можно будет установить несколько тяжеловесных игр. Однако, с использованием microSD такой проблемы в МТС Smart Race 4G нет. Также доступна функция переноса приложений на карту памяти (здесь правда следует обратить внимание, что приложение все-таки переносится не целиком, а только те данные, которые можно перенести на SD, т.е. часть приложения, даже после переноса, все равно будет находиться во внутренней памяти смартфона).

К слову о приложениях, как вы успели заметить в телефоне значительное количество операторских приложений - 2-я память, Где дети, Легкий платеж, Мой МТС, МТС Книги, МТС Локатор, МТС Пресса, МТС Сервис, МТС Connect, МТС TV и т.п. При желании некоторые из них можно удалить штатными средствами, если вы ими не пользуетесь и они вам не нужны.

В последнем Antutu BenchMark МТС Smart Race LTE набирает законные 23830 очков, что является вполне предсказуемым результатом для MT6735M, при этом распределяются поинты следующим образом:

  • 3D - 1536 очков.
  • UX - 9857 очков.
  • CPU - 8688 очков.
  • RAM - 3739 очков.
Как видно результаты тестирования вполне сопоставимы с более дорогой моделью от МТС - МТС Smart Surf 4G, обзор которой был написан мной в феврале. Разница в цене почти в 2000 руб. в данном случае объяснима большей диагональю экрана у Surf'а (5", против 4.5" у Race), а также элементами дизайна. Это еще один фактор, который позволяет рассматривать новинку, как выгодную покупку, ведь для многих смартфон за ~4000 руб. и за ~6000 руб. - это как иногда говорят "две большие разницы".

Результаты других тестов (Epic Citadel и Geekbench 3):


Несколько фото в оригинальном разрешении с основной камеры смартфона - https://yadi.sk/d/YigwACEnsbpS2 :



Пример съемки текста (работа автофокуса):


Слева вы видите фото листа текста формата A4 сделанное на МТС Smart Race 4G (основная камера - 5 MPix), справа - тот же самый фрагмент, только снятый уже на Alcatel Idol 4 6055K (основная камера 13 MPix). Разница в передаче цвета, уровней освещенности, четкости и т.п. - на лицо, однако, надо отдать должное - автофокус в МТС Smart Race LTE есть и он вполне рабочий. Получившийся текст вполне читаем, а при желании даже, наверное, и распознаваем с помощью OCR программ, таких как FineReader и т.п.

Работа GPS приемника:


Спутники в данном тесте нашлись достаточно быстро, как видно, аппарат показал In View: 12 и In Use: 8-9 спутников, с достаточным для быстрого геопозиционирования уровнем сигнала (тест проводился в грозу, во время сильнейшего ливня и повышенной облачности), однако, если рассматривать МТС Smart Race 4G как навигатор, то, естественно, что MTK (Mediatek) по качеству навигации немного проигрывает устройствам на чипах от Qualcomm.

Ну и напоследок небольшой тест скорости WiFi, который в MT6735M всегда был на высоте:


71 Mbps на прием и 60 Mbps на отдачу при проведении теста с 2.4 GHz точкой доступа - это очень и очень хороший результат. При том что например далеко не бюджетный, по сравнению с МТС Smart Race 4G, Idol 4 в тех же самых условиях показывает результат - 16.16 Mbps (download) и 18.42 Mbps (upload). Все дело в том что реализация WiFi в аппаратах также разная и в данном случае у бюджетки на MT6735M - она лучше.

Видео-обзор МТС Smart Race 4G 

Очень подробный и интересный видео-обзор аппарата от zzzepr, для тех кто всерьез задумался о покупке Smart Race LTE рекомендуется к обязательному просмотру:



Краткий FAQ по МТС Smart Race 4G

  • Q. А как зайти в инженерное меню MTK на данном аппарате?
    A. Существует несколько способов, первый - установить приложение Debug Menu Access из Play Market, второй - набрать в звонилке комбинацию *#*#3646633#*#*. Первый способ удобнее, т.к. не требует запоминания комбинации кода Dialer'а.
  • Q. А есть ли какие-то другие секретные коды? Например меню тестов или еще что-нибудь?
    A. Да, конечно, например следующий:

    *#*#7#*#* - Factory Mode.


  • Q. А планируется ли сборка TWRP и описание способов получения root для МТС Smart Race 4G?
    A. В ближайшее время точно - нет, причина банальна - нехватка времени. Т.е. мне самому это в данный момент малоинтересно, а учитывая еще отсутствие поддержки проекта пользователями, и подавно. Тем неменее методика портирования (или даже сборки из исходников) кастомного recovery для аппаратов на чипе MT6735M уже достаточно хорошо отработана, поэтому в ближайшее время я думаю стоит ожидать и TWRP, и методов получения root и т.п. на множестве "околомобильных" ресурсов.
  • Q. А действительно ли основная камера в аппарате с автофокусом и есть ли OTG?
    A. Да, у основной камеры есть автофокус. Поддержки OTG в МТС Smart Race 4G нет.

Продолжение следует ...