Чем открыть preloader bin

Обновлено: 06.07.2024

Видим что прелоадер затёрт. Родного у нас нет или он не подходит.
нам интересна строка [eMMC] : FLASH_INF : [HYNIX] , d1G4.
Гуглим ёё. И получаем массу ссылок. модель телефона нам не важна, главное чтобы в нём стоял такой же тип eMMC.
Качаем прошивку и восстанавливаем из нее preloader при помощи Init Preloader во вкладке Extra.
если видим такое, то всё прошло успешно

SecCfg Passed , 1799
BL : BBID supported by BootLoader!
Supported HW by Preloader :
FlashID [0] CID : 1501004E355530304D , Name : N5U00M , Vendor : 15 , [SAMSUNG]
FlashID [1] CID : 90014A483447316404 , Name : H4G1d , Vendor : 90 , [HYNIX]
FlashID [2] CID : 90014A2058494E5948 , Name : XINYH , Vendor : 90 , [HYNIX]
FlashID [3] CID : 1501004E35585A4D42 , Name : N5XZMB , Vendor : 15 , [SAMSUNG]
BL : Storage supported by BootLoader!
Sending BootLoader .
Preloader Sent , Init passed
SecCfg Passed , 1799
PartTable Init Ok , Count : 14
All Done

Далее прошиваем обычным способом и восстанавливаем IMEI.
Способ проверен. Divozz (20.01.2017), F_e_r_z (15.07.2017), Gariyk (10.02.2017), idler_new (13.01.2017), metam (13.01.2017), motokmips (13.01.2017), nodir0077 (13.01.2017), renat_d (14.01.2017), selector (24.01.2019), sever20067 (18.01.2017), vovatlms (23.08.2017), дед Никифор (04.07.2017), ЕвгеВитальевич (21.08.2017)

А если вот такое у меня:

МТС SMART RACE 4G ударник, отреболил проц, память и кп.
Вот лог:
Operation : Check / Read Info [ v1.58 ]

1. Power Off Phone , Remove battery , Insert back
2. Insert USB cable. In some cases require hold BootKey

Wait for phone.
Phone found! [ 30 ]
Sync.
Inital Boot Ok!
BB_CPU_PID : 6737
BB_CPU_NME : [MediaTek] MT6737M|MT6737_S00
BB_CPU_EXT : 0xCB00 , 0x8A00 , 0x0000
Processing BROM stage
Settings for BROM configured!
SecCfgVal : 0x00000000
BromVer : 0x0005
BLVersion : 0x00FE
PreLoader : NOT Active [ Erased ]
BootLdrSS : NORMAL with PRELOADER
Processing DA stage
DA Select done, will use MTK_AllInOne_DA_v5.1624.16.07
Sending and initialize DA .
Running DA ver.4.2 on BBID : 0x93
NAND Flash : NOT INSTALLED
eMMC Flash : 460001154D3232375915004291830D96
Initialize Memory .

[DA_ERROR] : DRAM Configure failed!
ErroCode : 0xC40B0000
EMICFG_RET_FAILED
CodeDefine : DA_DEVICE_NOT_FOUND
Boot Error!

Подсовываю Preloader(preloader_x2605_fm_f45_russion_35m65u.bi n) из прошивки V009(X2605_FM_F45_RUSSIAN_V009_S160620):
User selected Preloader file : preloader_x2605_fm_f45_russion_35m65u.bin
Operation : Init Preloader [ v1.58 ]

Supported HW by Preloader :
FlashID [0] CID : 150100513732534D42 , Name : Q72SMB , Vendor : 15 , [SAMSUNG]
FlashID [1] CID : 150100463732324D42 , Name : F722MB , Vendor : 15 , [SAMSUNG]
FlashID [2] CID : 90014A483847316505 , Name : H8G1e , Vendor : 90 , [HYNIX]
FlashID [3] CID : 150100513832534D42 , Name : Q82SMB , Vendor : 15 , [SAMSUNG]
FlashID [4] CID : 150100463832324D42 , Name : F822MB , Vendor : 15 , [SAMSUNG]
FlashID [5] CID : 150100523832314D42 , Name : R821MB , Vendor : 15 , [SAMSUNG]
FlashID [6] CID : 150100513832334D42 , Name : Q823MB , Vendor : 15 , [SAMSUNG]
FlashID [7] CID : 90014A484147326505 , Name : HAG2e , Vendor : 90 , [HYNIX]

1. Power Off Phone , Remove battery , Insert back
2. Insert USB cable. In some cases require hold BootKey

Wait for phone.
Phone found! [ 30 ]
Sync.
Inital Boot Ok!
BB_CPU_PID : 6737
BB_CPU_NME : [MediaTek] MT6737M|MT6737_S00
BB_CPU_EXT : 0xCB00 , 0x8A00 , 0x0000
Processing BROM stage
Settings for BROM configured!
SecCfgVal : 0x00000000
BromVer : 0x0005
BLVersion : 0x00FE
PreLoader : NOT Active [ Erased ]
BootLdrSS : NORMAL with PRELOADER
Processing DA stage
DA Select done, will use MTK_AllInOne_DA_v5.1624.16.07
Sending and initialize DA .
Running DA ver.4.2 on BBID : 0x93
NAND Flash : NOT INSTALLED
eMMC Flash : 460001154D3232375915004291830D96
Initialize Memory .

[DA_ERROR] : DRAM Configure failed!
ErroCode : 0xC40B0000
EMICFG_RET_FAILED
CodeDefine : DA_DEVICE_NOT_FOUND
Boot Error!


Формат файлов BIN – особенный. В отличие от других, он способен содержать в себе самые разнообразные данные. Давайте разберемся, что может находиться в БИН-файлах, и рассмотрим способы их открытия.

Что представляет собой формат BIN

Расширение .bin — это сокращение от слова binary, что означает «двоичный» (код). Объект такого типа может представлять собой исполняемый системный файл, БИОС игровой приставки, прошивку роутера или телефона Андроид и даже обычное видео- или аудиозапись. Но чаще всего пользователи встречаются с файлами БИН в виде образов дисков, подобных образам ISO, IMG и т.д.

Программы для открытия BIN файлов

Предположить, что перед вами бинарный файл образа диска, можно по его размеру. Например, образы дистрибутивов операционных систем «весят» 1-2 Gb и больше, образы CD/DVD/Blu-ray дисков – от десятков Mb до нескольких Gb и т. д.

Образы дисков – это объекты, которые содержат в себе копию содержимого и структуры файловой системы носителя. По своей сути они являются архивами с разнообразными данными.

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

Открыть файл Bin с образом диска можно при помощи различных онлайн-сервисов и приложений. Первых не так уж и много, они далеко не всегда корректно считывают данные, да и загружать на веб-сайт файл большого размера неудобно. Поэтому остановимся на рассмотрении программ, которые умеют работать с объектами этого типа. Большинство таких приложений платные, но чаще всего имеют бесплатный пробный период с некоторыми ограничениями. Рассмотрим в подробностях несколько программ для Windows.

UltraISO

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

Программа UltraISO способна производить следующие действия с бинарными образами:

  • редактирование образа;
  • конвертирование в другой формат;
  • извлечение вложенных файлов;
  • создание БИН-а из файлов с жесткого диска;
  • монтирование в виртуальный привод.

Для установки UltraISO, как и остальных описанные ниже приложений, запустите скачанный с сайта разработчика инсталлятор с именем программы. В некоторых случаях установочный файл называется setup или install.

Чтобы открыть БИН при помощи UltraISO, сделайте следующее:

Программа UltraISO платная, в пробной версии имеется ограничение на открытие файлов размером более 300 Mb. Чтобы его убрать, придется приобрести полную версию за $29.95 долларов.

Daemon Tools Lite

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

Если хотите, чтобы Daemon Tools открывал образы BIN по умолчанию, при установке приложения отметьте этот формат, как на скриншоте ниже:

форматы поддерживаемые Daemon Tools

С помощью Daemon Tools вы сможете:

  • монтировать образы в виртуальный привод;
  • просматривать и извлекать из них файлы;
  • редактировать содержимое бинарного архива (в платных версиях).
  • конвертировать в другой формат (в платных версиях).

Чтобы открыть БИН при помощи Daemon Tools, запустите программу и сделайте следующее:

В отличие от UltraISO, программа Daemon Tools Lite не загружает образ в себя, а монтирует его в виртуальный привод. Содержимое последнего открывается в проводнике Windows 7 или Windows 10 как обычная папка или диск.

Daemon Tools имеет одну бесплатную (Lite) и несколько платных версий с дополнительным функционалом – Lite Personal, Ultra и Pro. Помимо перечисленного выше, они добавляют к базовому функционалу возможность записывать диски с данными и музыкой, создавать виртуальные жесткие диски, эмулировать IDE-приводы и многое другое. Цены на платные версии варьируются от $19 до $40.

Power ISO

Приложение PowerISO также умеет работать с различными типами образов дисков, в том числе распаковать архивы BIN. По интерфейсу и функционалу оно похоже на UltraISO, но, как и Daemon Tools, имеет бесплатную и платные версии.

Power ISO позволяет производить с БИН файлами следующие действия:

  • редактирование и извлечение содержимого;
  • создание образов из файлов с жесткого диска;
  • монтирование в виртуальный привод;
  • конвертирование в другой формат.

Чтобы открыть БИН с помощью Power ISO, сделайте следующее:

Бесплатная версия Power ISO имеет ограничение на размер открываемого файла в 300 Mb. Цена платной версии составляет $29.95 долларов.

Открыть BIN на компьютере также можно и при помощи других приложений для работы с образами дисков, таких, как Alcohol 120%, MagicISO, Hex to Bin Utility, Roxio Creator, Nero Burning ROM и т. д.

Другие виды бинарных файлов

Помимо образов дисков, файлы бинарного формата могут быть прошивками устройств, данными игр, видео- или аудиозаписями и многим другим. Рассмотрим несколько самых распространенных после образов типов БИН-файлов в подробностях.

Исполняемый двоичный файл

Исполняемый файл — это часть какого-либо приложения в двоичном виде. Он может содержать в себе данные для запуска программы или её настройки.

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

Некоторые из файлов этого типа можно открыть при помощи приложения Apache OpenOffice, которое работает на компьютерах с операционной системой Windows, Mac OS и Linux.

Исполняемый файл Unix

Файлы двоичного формата в операционных системах Unix – это обычные приложения. Они предназначены для использования в дистрибутивах Linux, FreeBSD и т. д.

Файл прошивки маршрутизатора

Фирмы Linksys, D-Link, ZyXEL, TP-Link, Huawei используют в своих роутерах прошивки в формате БИН. Прошивка – это программа, которая управляет работой устройства.

Для работы с файлами прошивок используются собственные приложения производителей роутеров для различных платформ (Windows, Mac, Android и т. д.), а также веб-сервисы.

Архив Macbinary II

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

Файл обновления конфигураций устройств BlackBerry

Программный пакет BlackBerry Enterprise Server содержит в себе приложение IT Policy Manager, одним из компонентов которого является файл policy.bin. Он содержит в себе данные настроек и используется системными администраторами для обновления программного обеспечения BlackBerry.

Policy.bin можно открыть при помощи программы Research In Motion BlackBerry Desktop Manager.

Файл игр приставки Nintendo DS

Nintendo DS — это карманная игровая консоль. Эмуляторы такой приставки на компьютере используют БИН-файлы для модификации игр. Обычно они находятся в составе образов игр, имеющих формат .NDS.

Открыть файл БИН этого типа можно при помощи следующих программ:

Файл игры Atari

БИН-файл игры Atari содержит в себе образ картриджа для одноименных консолей, которые были популярны в 80-ых годах. Файл используется для загрузки игр в эмулятор приставки, открыть его можно при помощи следующих приложений:

Файл данных Nintendo Wii

Файл данных Nintendo Wii может содержать в себе зашифрованные или обычные текстовые сведения об игре для одноименной игровой консоли. Обычно он хранится на SD-карте устройства и имеет название content.bin. Увидеть, что находится в этом файле, можно при помощи программных инструментов самой приставки.

Образ игры Sega Genesis

Бинарник Sega Genesis – это образ картриджа с игрой для консоли Sega Genesis. На компьютере он открывается при помощи эмуляторов.

BIOSPlayStation

БИН файлы BIOS PlayStation также могут открываться в эмуляторах одноименной консоли на компьютере. Они предназначены для обеспечения работы устройства.

Программы для открытия файлов BIOS PlayStation в Windows, Mac OS и Linux:

Бинарный видео- или аудиофайл

В BINе может находиться и обычная видео- или аудиозапись. Проиграть её смогут такие медиаплееры, как:

Если вы не знаете, чем именно может быть интересующий вас файл BIN, предположить его примерное назначение поможет размер. Объект размером от десятков Mb до нескольких Gb, скорее всего, окажется образом диска, видеозаписью или приложением. Файл небольшого объема, вероятно, будет содержать прошивку устройства или данные для эмуляторов игровых приставок.

Существует несколько способов того, чем открыть bin файл, и в данном материале эти программы представлены в формате ТОП 5.

Бывают самые разнообразные типы таких файлов, имеющие в себе разное содержимое.

Например, в системных папках компьютера могут найтись десятки документов с таким разрешением.

Чем открыть файл bin

Особенности

Что же это за формат. Говоря коротко, такое сочетание букв – это начало слова «binary». Это говорит о том, что все данные в таком файле сохранены в двоичном формате. И это все, то есть такой тип документа совершенно ничего не говорит о его содержимом, ведь оно может быть самым разным.

Такие документы не несут никакого самостоятельного значения. В общем случае – это дополнительный программный инструмент, необходимый для выполнения той или иной команды на устройстве. Эти материалы не рассчитаны на какие-либо изменения и даже просмотр (по крайней мере, рядовым пользователем, а не разработчиком программы).

На современных компьютерах, чаще всего, файлы такого формата относятся к одному из следующих типов:

  • Образ DVD-диска или CD-диска. В этом случае он хранится в директории рядом с документом формата cue. В комплексе они представляют собой образ диска, напоминающий iso;
  • Документ, содержащий данные об архиве игры. Такой находится в корневой директории диска с игрой и отвечает за порядок воспроизведения последовательностей;
  • Ресурсные данные от компьютера в сжатом виде. Это наиболее значимый тип документа, находящийся в одной из корневых директорий жестокого диска. Его удаление или изменение может привести к сбоям в работе системы;
  • Исполняемые файлы систем типа Юникс;
  • Данные прошивки роутера;
  • Игровые данные для приставок Сега, Нинтендо и других.

Так как типы данных с этим расширением очень разнообразны, то и открывать их нужно различными методами.

Чем открыть файл bin

Стоит ли открывать?

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

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

Как открыть файл?

Как было сказано выше, это зависит от того, о каком типе файлов идет речь. Онлайн-ресурсов для этого в настоящее время не разработано. Кроме того, в Windows нет базовых утилит для открытия таких документов, а значит, для открытия их придется скачивать и устанавливать дополнительный софт.

5 место. Блокнот

Как не странно, но открыть такой документ иногда помогает простой Блокнот. Он является, по сути, универсальным способом открыть практически любые данные в текстовом формате. Для того чтобы проделать это, следуйте алгоритму:

  • Кликните по файлу правой кнопкой мыши;
  • В выпавшем меню нажмите на строчку «Открыть с помощью»;
  • В появившемся списке программ для открытия файла укажите Блокнот;
  • После этого файл откроется, представляя систему кодов, ключей и последовательностей в текстовом формате;
  • Часто результат выглядит как кодировка – множество иероглифов и непонятных символов, но нередко в этой информации можно найти и нужную, представленную цифрами и латинскими буквами;
  • Если вы знаете, какие изменения нужно внести, то внесите их и закройте Блокнот с сохранением файла (однако, перед внесением изменений сохранить изначальную копию);
  • Если вы не уверены в том, что нужно менять, лучше ничего не трогать.

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

Недостаток же способа в том, что он работает далеко не всегда и не со всеми типами bin. Он бывает эффективен лишь примерно в 20% случаев.

Чем открыть файл bin

4 место. Nero

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

Как же определить, что bin – это образ DVD-диска? Руководствоваться здесь нужно его размером. Большие и очень большие по объему файлы, чаще всего, являются файлами образов.

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

Чтобы открыть файл, проделайте следующее:

  • Запустите программу;
  • В верхнем левом углу в шапке меню найдите кнопку «Запись данных»;
  • Укажите файл, который хотите открыть;
  • Или просто перетяните его мышью в рабочее пространство программы;
  • После этого информация, имеющаяся в файле, отобразится автоматически;
  • Далее можно делать то, что необходимо, например, записать образ на диск.

Тем не менее, данный способ все равно не является универсальным. Программа иногда дает сбои и не может открывать некоторые типы bin.

Чем открыть файл bin

3 место. Daemon Tools

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

Для того чтобы открыть bin, проделайте следующий алгоритм действий:

  • Скачайте программу Daemon Tools версии, подходящей для вашего компьютера;
  • Установите программу, следуя указаниям мастера установки;
  • Запустите программу;
  • В левом верхнем углу главного окна программы, в шапке меню, найдите кнопку Файл;
  • Нажмите на нее и выбирайте Открыть в развернувшемся меню;
  • После нажатия кнопки Открыть, запустится стандартный Проводник Windows;
  • Через него укажите путь к файлу, который вы хотите открыть;
  • После этого в главном окне программы отобразится содержимое файла.

При необходимости, вы можете не только ознакомиться с ним, но и внести изменения.

Программа работает гораздо стабильнее всех, перечисленных выше. Она поддерживает bin многих типов и позволяет корректно отображать их содержимое.

Чем открыть bin файл

<Рис. 4 Daemon Tools>

2 место.Ultra ISO

Отличается от предыдущих программ топа наиболее стабильной работой. Кроме того, способна отображать содержимое большего числа типов bin. Благодаря постоянным обновлениям, работает стабильно и не дает сбоев почти никогда.

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

Принцип работы в этой программе похож на все остальные:

  • Скачайте и установите данный софт, следуя указаниям Мастера установки;
  • Запустите программу и в левом верхнем углу главного окна найдите кнопку Файл;
  • Нажмите на нее и в выпавшем меню укажите Открыть;
  • В открывшемся Проводнике Виндовс укажите путь до файла, который вы хотите открыть;
  • Как и в программах, описанных выше, на экране отобразится содержимое рассматриваемого bin.

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

Чем открыть файл bin

1 место. Оригинальный софт

Под оригинальным софтом в данном случае понимается та программа, для которой был разработан файл. Если речь идет о небольшом bin, появившемся после подключения к ПК телефона или фотоаппарата, то речь идет о файле драйвера.

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

Чем открыть файл bin

<Рис. 6 Оригинальный софт>

Чем открыть bin файл?

Если вы не знаете, чем открыть bin файл, то шансов узнать это не так уж и много. Если в файле bin при просмотре текстовым редактором не удалось прочитать название программы, для которой он предназначен, то придется перепробовать их все. Корректно открыть bin файл может только программа, для которой он предназначен. Файл bin формата может быть просто файлом с любыми данными, прошивкой BIOS, архивом игры или даже образом диска.

Видим что прелоадер затёрт. Родного у нас нет или он не подходит.
нам интересна строка [eMMC] : FLASH_INF : [HYNIX] , d1G4.
Гуглим ёё. И получаем массу ссылок. модель телефона нам не важна, главное чтобы в нём стоял такой же тип eMMC.
Качаем прошивку и восстанавливаем из нее preloader при помощи Init Preloader во вкладке Extra.
если видим такое, то всё прошло успешно

SecCfg Passed , 1799
BL : BBID supported by BootLoader!
Supported HW by Preloader :
FlashID [0] CID : 1501004E355530304D , Name : N5U00M , Vendor : 15 , [SAMSUNG]
FlashID [1] CID : 90014A483447316404 , Name : H4G1d , Vendor : 90 , [HYNIX]
FlashID [2] CID : 90014A2058494E5948 , Name : XINYH , Vendor : 90 , [HYNIX]
FlashID [3] CID : 1501004E35585A4D42 , Name : N5XZMB , Vendor : 15 , [SAMSUNG]
BL : Storage supported by BootLoader!
Sending BootLoader .
Preloader Sent , Init passed
SecCfg Passed , 1799
PartTable Init Ok , Count : 14
All Done

Далее прошиваем обычным способом и восстанавливаем IMEI.
Способ проверен. Divozz (20.01.2017), F_e_r_z (15.07.2017), Gariyk (10.02.2017), idler_new (13.01.2017), metam (13.01.2017), motokmips (13.01.2017), nodir0077 (13.01.2017), renat_d (14.01.2017), selector (24.01.2019), sever20067 (18.01.2017), vovatlms (23.08.2017), дед Никифор (04.07.2017), ЕвгеВитальевич (21.08.2017)

А если вот такое у меня:

МТС SMART RACE 4G ударник, отреболил проц, память и кп.
Вот лог:
Operation : Check / Read Info [ v1.58 ]

1. Power Off Phone , Remove battery , Insert back
2. Insert USB cable. In some cases require hold BootKey

Wait for phone.
Phone found! [ 30 ]
Sync.
Inital Boot Ok!
BB_CPU_PID : 6737
BB_CPU_NME : [MediaTek] MT6737M|MT6737_S00
BB_CPU_EXT : 0xCB00 , 0x8A00 , 0x0000
Processing BROM stage
Settings for BROM configured!
SecCfgVal : 0x00000000
BromVer : 0x0005
BLVersion : 0x00FE
PreLoader : NOT Active [ Erased ]
BootLdrSS : NORMAL with PRELOADER
Processing DA stage
DA Select done, will use MTK_AllInOne_DA_v5.1624.16.07
Sending and initialize DA .
Running DA ver.4.2 on BBID : 0x93
NAND Flash : NOT INSTALLED
eMMC Flash : 460001154D3232375915004291830D96
Initialize Memory .

[DA_ERROR] : DRAM Configure failed!
ErroCode : 0xC40B0000
EMICFG_RET_FAILED
CodeDefine : DA_DEVICE_NOT_FOUND
Boot Error!

Подсовываю Preloader(preloader_x2605_fm_f45_russion_35m65u.bi n) из прошивки V009(X2605_FM_F45_RUSSIAN_V009_S160620):
User selected Preloader file : preloader_x2605_fm_f45_russion_35m65u.bin
Operation : Init Preloader [ v1.58 ]

Supported HW by Preloader :
FlashID [0] CID : 150100513732534D42 , Name : Q72SMB , Vendor : 15 , [SAMSUNG]
FlashID [1] CID : 150100463732324D42 , Name : F722MB , Vendor : 15 , [SAMSUNG]
FlashID [2] CID : 90014A483847316505 , Name : H8G1e , Vendor : 90 , [HYNIX]
FlashID [3] CID : 150100513832534D42 , Name : Q82SMB , Vendor : 15 , [SAMSUNG]
FlashID [4] CID : 150100463832324D42 , Name : F822MB , Vendor : 15 , [SAMSUNG]
FlashID [5] CID : 150100523832314D42 , Name : R821MB , Vendor : 15 , [SAMSUNG]
FlashID [6] CID : 150100513832334D42 , Name : Q823MB , Vendor : 15 , [SAMSUNG]
FlashID [7] CID : 90014A484147326505 , Name : HAG2e , Vendor : 90 , [HYNIX]

1. Power Off Phone , Remove battery , Insert back
2. Insert USB cable. In some cases require hold BootKey

Wait for phone.
Phone found! [ 30 ]
Sync.
Inital Boot Ok!
BB_CPU_PID : 6737
BB_CPU_NME : [MediaTek] MT6737M|MT6737_S00
BB_CPU_EXT : 0xCB00 , 0x8A00 , 0x0000
Processing BROM stage
Settings for BROM configured!
SecCfgVal : 0x00000000
BromVer : 0x0005
BLVersion : 0x00FE
PreLoader : NOT Active [ Erased ]
BootLdrSS : NORMAL with PRELOADER
Processing DA stage
DA Select done, will use MTK_AllInOne_DA_v5.1624.16.07
Sending and initialize DA .
Running DA ver.4.2 on BBID : 0x93
NAND Flash : NOT INSTALLED
eMMC Flash : 460001154D3232375915004291830D96
Initialize Memory .

[DA_ERROR] : DRAM Configure failed!
ErroCode : 0xC40B0000
EMICFG_RET_FAILED
CodeDefine : DA_DEVICE_NOT_FOUND
Boot Error!


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

Я расскажу, как это все работает изнутри, и поясню происходящее на примерах. Для простоты и лучшего понимания все повествование будет вестись в том же порядке, в котором компоненты получают управление на реальном устройстве: ROM -> загрузчик aboot -> ядро -> система Android . Плюс, конечно же, recovery, который может быть запущен загрузчиком вместо Android.

Aboot, fastboot и tamper-бит

Если не брать в расчет небольшой код инициализации, располагающийся в ROM-памяти устройства и специфичный для каждого чипа, то загрузка Android начинается с aboot. Это стандартный загрузчик устройств на базе Android, разработкой которого занимается сама Google. Задача aboot — выполнить первичную инициализацию железа и передать управление либо коду, расположенному в разделе boot (это ядро Linux), либо, если юзер включил смартфон с зажатой клавишей увеличения (или уменьшения, где как) громкости, в recovery.

Ключевая особенность aboot в том, что это модульный загрузчик и к нему при сборке можно подключать разные сопрограммы, каждая из которых будет исполняться в отдельном потоке (что делает aboot миниатюрной ОС). Одна из таких сопрограмм — fastboot, реализация протокола и механизмов для записи разделов внутренней NAND-памяти. В среде энтузиастов fastboot обычно используется для установки кастомного recovery. Для этого достаточно включить смартфон с зажатыми клавишами управления громкостью (на большинстве смартфонов), затем с их же помощью выбрать в меню пункт Fastboot, подключить смартфон с помощью USB-кабеля к компу и выполнить такую команду (она входит в комплект Android SDK):

Причем recovery можно даже не прошивать, а запустить прямо с компа (эту функцию, кстати, использует инструмент CF-Auto-Root, но о нем позже):

Справка по командам fastboot

Справка по командам fastboot

Однако эти команды не сработают, если загрузчик залочен. Чтобы его разблокировать, на смартфонах линейки Nexus и OnePlus достаточно выполнить такую команду (все, что начинается с oem, — это команды, встроенные производителем смартфона):

Что делает эта команда? В нексусах она выполняет сброс до заводских настроек и записывает один бит в специальный раздел в памяти устройства, служащий индикатором разлочки для самого загрузчика. В Nexus 4 и 5 это раздел misc и адрес 16400, в других нексусах это может быть раздел param (Nexus 10) или даже aboot (Nexus 7/2013 и OnePlus One). Начиная с Nexus 6 и 9, Google навела в этом бардаке порядок и ввела понятие Persistent-раздела для хранения не зависящих от Android настроек. Имя этого раздела хранится в системной переменной ro.frp.pst, и его в любой момент можно получить с помощью такой команды (запускать на самом устройстве):

Как видно, все довольно просто, и, если говорить о нексусах, здесь «залоченный загрузчик» — это просто защита от дурака (собственно, как и должно быть в референсных смартфонах). Загрузчики в обычных смартфонах разработки Samsung, HTC, LG, Motorola и других серьезных контор защищены гораздо лучше, и с помощью команды oem unlock или записи бита по определенному адресу их не вскроешь. Сам бит записывается в недоступную пользователю память, а разблокировка возможна только с помощью цифрового ключа, полученного на сайте производителя (ну или взлома загрузчика, если это возможно).

И в нексусах, и в смартфонах других компаний при разблокировке загрузчика всегда устанавливается так называемый tamper-бит. Сервисные центры смотрят именно на него, решая, признать ли случай гарантийным: даже если впоследствии загрузчик был заблокирован, tamper-бит однозначно свидетельствует о факте разблокировки. Однако иногда этот бит можно сбросить. В нексусах все решается опять же простой записью бита по нужному адресу в нужный раздел, в других смартфонах это либо вообще невозможно сделать, либо приходится использовать специальные инструменты типа приложения Triangle Away (для Samsung’ов без KNOX).

Выясняем, установлен ли загрузчиком tamper-бит

Выясняем, установлен ли загрузчиком tamper-бит

Чтобы окончательно тебя запутать, скажу, что производители часто используют модульную архитектуру aboot для встраивания в него собственных средств прошивки и управления, работающих совместно с fastboot или даже вместо него. Наиболее яркий пример — это Odin в смартфонах Samsung. А некоторые производители идут еще дальше и вообще отказываются от aboot, заменяя его собственным или сторонним загрузчиком.

Например, в чипах Allwinner опенсорсный загрузчик uboot, который принято использовать в разного рода встраиваемых системах, например для роутеров. У MTK загрузчик собственного изготовления, разделенный на два компонента: preloader.bin , с которым работают фирменные утилиты прошивки SP Tools, и lk.bin , отвечающий за инициализацию оборудования. HTC использует загрузчик hboot, не так уж и сильно отличающийся от aboot. У Rockchip также свой собственный загрузчик, интересная особенность которого в том, что инфа о разметке NAND-памяти не вшита в него намертво, а находится в начале самой памяти. Благодаря этому изменить размеры разделов в устройствах на базе Rockchip проще простого.

Исследуем таблицу разделов планшета на базе Rockchip 3066

Исследуем таблицу разделов планшета на базе Rockchip 3066

С загрузчиками закончим и перейдем к следующему компоненту загрузки.

Раздел boot и ядро

Если во время включения устройства ты не зажимал клавишу увеличения громкости либо не перезагружал смартфон в режим recovery намеренно (например, с помощью расширенного меню перезагрузки в кастомных прошивках), на последнем этапе своей работы aboot загружает в память устройства ядро Linux и RAM-диск из раздела boot, а после этого передает управление ядру.

Сам раздел boot не содержит никакой файловой системы, а представляет собой сжатые с помощью gzip и записанные друг за другом ядро и RAM-диск, предваренные небольшим заголовком размером в два килобайта (он содержит опции загрузки ядра, а также адреса расположения образов и другую информацию). RAM-диск, в свою очередь, представляет собой небольшую виртуальную файловую систему, содержащую набор каталогов, к которым Android подключит файловые системы других разделов (system, data, sdcard), а также систему и скрипт инициализации и init.rc . RAM-диск загружается прямо в оперативку и продолжает существовать все время, пока смартфон включен.

Благодаря простой структуре образ раздела boot (boot.img) довольно легко распаковать. Это можно сделать даже с помощью HEX-редактора, но проще воспользоваться инструментом imgtool. Пример для Linux (x86_64):

Запакованные ядро и RAM-диск окажутся в каталоге extracted, а содержимое RAM-диска — в подкаталоге ramdisk_ext. Это в идеале. На самом деле, как и в случае с загрузчиком, никакого стандарта для формата раздела boot нет, и производитель может проявить фантазию. Нередко ядро и RAM-диск располагаются на разных разделах. Такую конфигурацию можно найти в старых моделях Samsung и устройствах на базе Rockchip.

Тем не менее в 95% формат раздела boot стандартный, и если ты когда-либо прошивал на свой аппарат кастомное ядро, то наверняка внутри ZIP-архива с ядром был именно образ boot.img, так что вместе с ядром ты прошивал также и RAM-диск. Когда ты это делал, тебе приходилось быть осторожным, ведь RAM-диск стоковой прошивки отличается от RAM-диска того же CyanogenMod. Прошив ядро для AOSP в CyanogenMod, ты мог получить bootloop и много других неприятностей.

Чтобы обойти эту проблему, разработчик CyanogenMod и автор ClockworkMod Recovery Кушик Дутта (Koushik Dutta, или Koush) создал систему AnyKernel, которая позволяет устанавливать ядра отдельно от RAM-диска (путем пересборки раздела boot на лету). Сегодня ее используют многие разработчики кастомных ядер, но далеко не все. Так что перед прошивкой ядра рекомендую либо найти его версию для того кастома, который установлен у тебя, либо убедиться, что оно использует механизм AnyKernel.

Какое бы ядро ты ни выбрал, тебе в любом случае понадобится кастомный recovery для его установки.

Recovery, Edify и Aroma Installer

Обнаружив зажатую клавишу увеличения громкости, aboot делает почти то же самое, что и при обычной загрузке, но использует вместо boot раздел recovery. Разделы идентичны по своему формату и зачастую включают в себя одно и то же ядро, однако содержимое RAM-диска существенно отличается. Если в случае с разделом boot назначение RAM-диска — создать начальные условия для дальнейшей загрузки системы, то recovery — это мини-ОС, способная работать обособленно.

Стоковый recovery очень прост. Все, что содержит его RAM-диск, — это исполняемый файл /sbin/recovery и (не всегда) набор фоновых изображений в каталоге /res или любом другом. При загрузке ядро Linux запускает /sbin/recovery , а тот выводит на экран простенькое меню, с помощью которого можно установить прошивку, подписанную цифровым ключом производителя, или произвести сброс до заводских настроек.

Кастомные recovery намного сложнее. Это уже не просто меню с фоновым рисунком, но целая операционная система, способная устанавливать какие угодно прошивки, делать бэкап, форматировать разделы и многое другое. Современные версии TWRP так и вообще поддерживают управление с помощью тач-интерфейса, сменные шкурки, полностью изменяющие внешний вид recovery, пароль для входа и эмулятор терминала вместе с экранной клавиатурой. Плюс ко всему кастомные recovery включают в себя BusyBox (набор утилит командной строки Linux) и сервер ADB, работающий с правами root. Так что режим recovery очень удобно использовать для отладки и таких операций, как, скажем, дамп разделов. Например, раздела boot (пример для чипов Qualcomm):

Но главная задача recovery — это, конечно же, установка прошивок. Точнее, она была бы главной задачей, если бы в recovery была такая функция. На самом деле все, что делает recovery, когда ты нажимаешь «Install ZIP. » и выбираешь прошивку, — распаковывает ZIP-файл (обычно в раздел cache) и запускает файл /META-INF/com/google/android/update-binary внутри него. Именно update-binary выполняет установку прошивки, руководствуясь инструкциями из файла updater-script (он лежит рядом).

Сами инструкции написаны на языке Edify, включающем в себя набор команд, которые могут понадобиться при установке: mount, unmount, package_extract_file, symlink, run_program и другие. Мы не будем обсуждать здесь все эти команды, они достаточно просты, и, чтобы ознакомиться с ними, достаточно распаковать любую прошивку и открыть updater-script в текстовом редакторе. Скажу лишь, что обычно такие файлы генерируются автоматически при сборке системы из исходников и только авторы узкоспециализированных прошивок (содержащих только ядро, например) пишут их самостоятельно.

Фрагмент updater-script из CyanogenMod 12.1

Фрагмент updater-script из CyanogenMod 12.1

Recovery не накладывает никаких ограничений на файл update-binary — главное, чтобы его можно было запустить. Это дает производителям возможность использовать вместо него любое приложение, способное запуститься поверх ядра Linux. Совсем не обязательно, чтобы оно вообще выполняло установку прошивки. В рамках проекта Aroma Installer развивается вариант update-binary, который позволяет создателям кастомных прошивок реализовать графический инсталлятор с выбором тех или иных вариантов и опций установки.

Автор Aroma Installer также создал Aroma Filemanager — полноценный менеджер файлов со встроенным эмулятором терминала. Чтобы его запустить, необходимо перезагрузиться в recovery и «прошить» ZIP-файл. Естественно, никакая прошивка выполнена не будет, ведь update-binary внутри ZIP-файла — это только файловый менеджер, он не выполняет никаких операций установки.

Эмулятор терминала, встроенный в Aroma Filemanager

Эмулятор терминала, встроенный в Aroma Filemanager

«Фиктивный» update-binary часто используется для распространения разного рода скриптов. Гораздо проще переименовать скрипт в update-binary, запаковать в ZIP-файл и попросить человека «прошить» его, чем объяснять, как запускать скрипты с помощью ADB. Именно так поступил osm0sis со своим скриптом разблокировки загрузчика аппаратов линейки Nexus. Если ты скачаешь его ZIP-файл и взглянешь внутрь, то найдешь updater-binary, внутри которого обычный sh-скрипт.

Root insecure adb

Ну и в конце пара слов о том, что такое root. Начнем со всем известных азов: в Linux root — это имя пользователя с безграничными правами в системе (типа администратора в Windows). Root может вообще все, вплоть до удаления всей системы с диска (именно это делает знаменитая команда "rm -rf /*), поэтому обычно никто не сидит, так сказать, под рутом, а использует непривилегированный аккаунт.

Чтобы иметь возможность выполнять операции с правами root (например, устанавливать софт или управлять сервисами), можно использовать разные приложения (команды), одна из которых носит имя su. Она позволяет получить права root или любого другого пользователя в системе, пароль которого тебе известен. И все благодаря специальному SUID-биту, который позволяет su работать с правами root, даже если оно было запущено обычным пользователем.

В Android с правами root работает исключительно сама система (и то далеко не вся), тогда как сервер ADB и приложения исполняются с правами непривилегированных пользователей (по одному пользователю Linux на каждое приложение, серьезно), а команды su нет вообще. Поэтому единственный способ получить права root в такой ситуации — воспользоваться уязвимостью в одном из системных компонентов, работающих с правами root. Таким образом можно не просто временно заполучить права root, но и использовать их, чтобы разместить в системе бинарник su (скопировать в /system/xbin, например) и поставить на него SETUID-бит. Именно так работают все наиболее популярные инструменты рутинга, от Super One Click до framaroot.

Второй вариант — прошить бинарник su с помощью кастомной консоли восстановления. Известный Android-разработчик Chainfire уже много лет занимается разработкой и поддержкой инструмента для управления root-доступом SuperSU, а также ZIP-архива, прошив который, ты получишь рутованный смартфон (при установке он копирует в систему su и приложение SuperSU.apk ). Кстати, инструменты типа Framaroot вместе с бинарником su также устанавливают SuperSU или его аналог SuperUser, чтобы пользователь мог управлять тем, каким приложениям следует давать права root, а каким нет.

SuperSU собственной персоной

SuperSU собственной персоной

Есть у Chainfire и другой интересный проект — CF-Auto-Root. Он тоже устанавливает в систему su и SuperSU, но делает это весьма оригинальным способом: без задействования recovery. Инструмент CF-Auto-Root существует в двух вариантах, для Odin и для fastboot, причем в последнем случае он представляет собой модифицированную версию recovery, которую не надо прошивать. Ее следует запускать с помощью описанной в начале статьи команды fastboot boot. Пример для Nexus 4:

При загрузке «поддельный recovery» запускает не /sbin/recovery , а бинарник /sbin/cfautoroot , который просто копирует в систему su и SuperSU и затем перезагружает устройство. Зачем использовать такой извращенный способ, когда можно установить кастомный recovery и прошить стандартный SuperSU.zip? Ну например, это пригодится тем, кто не хочет по каким-то причинам устанавливать кастомный recovery.

Подавляющему большинству пользователей root уровня ядра никогда не понадобится. Однако его могут использовать некоторые скрипты и графические инструменты, работающие со смартфоном по ADB (яркий пример: PatchROM от MIUI). В CyanogenMod и многих других кастомных прошивках по умолчанию доступны все виды root (их можно выбрать в «Настройках для разработчиков»). Для получения root уровня ядра в других прошивках можно использовать приложение adbd Insecure за авторством все того же Chainfire.

Adbd Insecure и стоковая прошивка HTC

Adbd Insecure и стоковая прошивка HTC

Выводы

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

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Читайте также: