Как редактировать bin файлы прошивки

Обновлено: 07.07.2024

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

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

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

В данной серии статей пойдет речь о том, как делать reverse программирование для Android, реализовывать патчи, твики и моды.

Преамбула

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

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

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

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

Подготовка среды

Обойдусь без подробных инструкций как пользоваться тем или иным программным обеспечением. Если вам интересна данная статья и вы дочитали до этих строк, то я надеюсь, что вы уже опытный пользователь и имеете опыт использования, ну или хотя бы экспериментирования в данной области. Инструкций, статей и результатов тестирования полно в открытом доступе, впрочем, как и на Хабре. Также обойдусь без описания некоторых терминов, иначе статья получится очень большой и нудной. Будем писать только по делу. Уверен, что среда у вас уже давно стоит. Если нет, то предлагаю скачать и установить.

1. Android SDK. Это среда разработки приложений для Андроид. Для того чтобы делать модификации, нам обязательно придется проверять наш программный код. Среда разработки самое лучшее, что мы можем использовать.
2. Android Kitchen. Данная утилита позволит вам работать с образами системных партиций официальной ну или неофициальной прошивки.
3. JD-GUI. Декомпилятор программного кода языка Java. Сразу отмечу, что это самый лучший декомпилятор в плане удобства использования.
4. DJ Java Decompiler. Еще один декомпилятор, или дизассемблер, как некоторые любят называть, программного кода языка Java. Не удобен в плане использования, но разбирает код, который иногда не понимает JD-GUI.
5. smali. Еще один дизассемблер, но уже dalvik кода. smali нужен для дизассемблирования, а backsmali ассемблирования кода.
6. dex2jar. Утилита для конвертации исполняемых файлов Dalvik кода.

Преобразование прошивки

Разумеется, прошивка, которая стоит у вас на телефон от производителя оптимизирована с целью сокращения энергопотребления. Для того чтобы прошивку можно было изменять, ее необходимо преобразовать в формат, позволяющий изменять код. Для этого используется Android Kitchen. Можно конечно и руками, как я и делал раньше, пока не нашел эту самую «кухню». Как вытаскивать системную область из телефона, устанавливать среду, делать DEODEX прошивки, вы можете прочитать в интернете. Если вам уже ничего не понятно, я думаю стоит повременить со статьей, пока вы не наберете достаточно опыта.

После того, как прошивка из оптимизированного вида (ODEX — оптимизированный dalvik исполняемый код, если мне не изменяет память) стала DEODEX (то бишь НЕ оптимизированной), все исполняемые файлы готовы к модификации.

Непосредственно модификации

Создание патчей

Как я уже и рассказывал, мой телефон изначально имел запрет на использование Google. Ну хоть ты тресни, на Playstore не зайти, учетную запись не настроить, телефонная книга толком не синхронизируется. Зачем нужен такой Android? Долго копаясь в логах (logcat) самого устройства, я нашел записи, которые говорили о том, что использование Google запрещено. Самое не удобное в Android, вы видите лог, но не знаете какое системное приложение его производит. Чтобы отыскать от куда ноги растут, мне пришлось распотрошить все системные приложения до дизассемблированного Java кода. Это заняло достаточно времени, но я до сих пор пользуюсь проделанной работой при анализе и поиске нужного кода. Этапы получения подобного инструментария следующие:
1. Сделать DEODEX всей прошивки
2. Вашу новую DEODEX прошивку надо будет собрать и прошить на телефон. Как это делается — тема другой статьи.
3. Из каждого файла, находящегося в /system/framework вытащить файл classes.dex и переконвертировать в JAR посредством dex2jar.
4. Каждый полученный JAR открыть в JD-GUI и пере-сохранить в исходный код
5. Распаковать исходный код из архива.

В итоге у меня получилось столько папок, сколько было JAR файлов в /system/framework, и каждая папка имела структуру исходных кодов Java.
Путем несложных манипуляций, я быстро отыскал то место, которое генерировало записи в logcat.

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

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

Код находился в файле HTCExtension.jar, а класс, который содержал данную подпрограмму находился в \com\htc\util\contacts\BuildUtils$Customization.java

Распаковка и анализ оригинального файла

1. Сперва нам надо взять оригинальный DEODEX JAR файл, который отвечает за нужную нам часть кода. В нашем случае HTCExtension.jar.
2. Открыть любым архиватором и вытащить от туда classes.dex
3. С помощью конвертера dex2jar преобразовать его в JAR файл. Команда: dex2jar.bat classes.dex
4. Открыть полученный classes_dex2jar.jar файл в JD-GUI.
5. Да, чаще всего JD-GUI декомпилирует код не так как он выглядит в оригинале, оно и понятно, но читать вполне можно. В исходнике мы видим, что подпрограмма проверяет параметры проекта и языковой флаг прошивки. В нашем прискорбном случае возвращается значение TRUE.

6. Чтобы сделать патч, нам надо дизассемблировать сам Dalvik код. Для этого используем baksmali. Удобнее всего создать отдельную папку и положить туда три файла вместе: HTCExtension.jar, smali.jar и baksmali.jar. Даем команду java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar

- это API вашей версии Android. Для JB - это 16
- папка, где находятся все фреймворки прошивки.

В моем случае это была команда
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7. В нашей вновь созданной папке появилась папка HTCExtension, а в ней наши файлы с Dalvik кодом.
8. Отыскиваем файл по пути \com\htc\util\contacts\BuildUtils$Customization.java и смотрим код:

9. Страшно, не правда ли? Ничего же не понятно. Но, это дело поправимое. Создав несколько своих патчей и набив тем самым руку, вы легко сможете модифицировать код без сторонних средств. В нашем случае, в этом коде
происходит присваивание переменной v0 значение 1, то есть TRUE. Далее идут всякие проверки, и если телефон не китайский, то значение переменной изменяется:

10. Самый простой способ спасти отца русской демократии, это изменить код на следующий:
, то есть поменять значение переменной с 1 на 0. То есть что бы ни было, всегда бы возвращалось значение FALSE и в JD-GUI код выглядел бы как
11. Да, метод ,будет работать. Но мы же не ищем легких путей - это раз. Во-вторых не совсем красиво. Хочется кода что-то вроде

12. А как нам получить Dalvik код данного исходного кода? Для новичков мы сделаем небольшой трюк.

Создание Dalvik кода

1. Открываем Android SDK.
2. Создаем новый проект, и в наш единственный тестовый класс пишем следующий код

3. Компилируем наш проект и затем берем собранное приложение из рабочей области.
4. Кладем собранное приложение в папку, где мы с вами потрошили JAR файл.
5. Даем команду
8. Все, код для патчинга готов.

Накатывание патча

1. Dalvik код замусорен маркерами, указывающими строку кода в оригинальном исходном файле. Это нужно при выводе ошибок, если таковые имеются в вашей программе. Без указаний строк код также прекрасно работает.
2. Удаляем строки с нумерацией строк, копируем и заменяем метод (подпрограмму) в нашем \com\htc\util\contacts\BuildUtils$Customization.java файле.

3. Сохраняем файл. Да, забыл сказать, редактор нужен нормальный, например Notepad++ или EditPlus. Кому какой нравится.

Компиляция и сборка патченного JAR файла

1. С помощью backsmali мы распотрошили наш JAR файл, а теперь его надо собрать обратно.
2. Даем команду java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3. В нашей папочке появляется файлик classes.dex
4. Снова открываем HTCExtension.jar файл архиватором и заменяем в нем существующий classes.dex на наш только что созданный.
5. Все, наш HTCExtension.jar содержит модифицированный программный код.

Замена оригинального файла на патченный

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

1. Заменить текущий рабочий файл можно следующими командами, если у вас уже стоит DEODEX прошивка и имеется root доступ:

2. Спасибо что дочитали до этого пункта, осталось немного.
3. После перезагрузки ваш новый патченный код вступит в силу.
4. Если код не работает или выскакивает ошибка, то путем не хитрых комбинаций можно вернуть назад резервную копию.

Эпилог

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

К следующей статье я расскажу как делать Твики. Будет пример использования автоматической записи телефонных звонков родными средствами телефона. Спасибо за ваше внимание.

Внимание: разделы данного FAQ взамосвязаны, для понимания всего процесса, рекомендуется прочтение всего материала.

Часть первая: разбор прошивки

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

Рассматриваемые утилиты: OSNbTool, NBwork.
Чаще всего одного OSNbtool хватает, чтобы разобрать прошивку до imgfs и xip.
Переименовываем прошивку в flash.bin, кладем в папку с OSnbtool и выполняем серию команд (записываются в bat-файл) :

osnbtool -sp flash.bin
osnbtool -sp flash.bin.BIN.NB0
osnbtool -d flash.bin.BIN.NB0.OS.NB 1 xip.bin
osnbtool -d flash.bin.BIN.NB0.OS.NB 2 imgfs.bin
Первыми двумя командами мы получим Nb0 и заголовок, здесь важно запомнить адрес заголовка. Вторыми двумя командами получим Imgfs.bin (билд) и xip.bin (ядро).
Если xip вышел более 4 МБ (или очень маленький imgfs), значит нужно разбирать программой nbwork.
Код для разбора (опять же используем в бат-файле)

выполнение этой команды гарантированно разобьет OS на компоненты.

Рассматриваемые утилиты HTC ROM image editor (далее RIE), OSNbTool, NBwork.
File-open-открываем прошивку (обычно RUU_signed.nbh), RIE сам должен определить ваше устройство (список поддерживаемых устройств в теме по ссылке выше). В программе заходим в корневой раздел с пиктограмкой кпк (например, для HTC Herald это будет HERA 10000), должен открыться список разделов с форматом .nb, нас будет интересовать OS.nb.
Чаще всего одного OSNbtool хватает, чтобы разобрать ОС до imgfs и xip.
Кладем OS.nb в папку с OSnbtool и выполняем серию команд (записываются в bat-файл):

osnbtool -d OS.NB 1 xip.bin
osnbtool -d OS.NB 2 imgfs.bin
Этими командами получим Imgfs.bin (билд) и xip.bin (ядро).
Если xip вышел более 4 мб(или очень маленький imgfs), значит нужно разбирать программой nbwork.
Код для разбора (опять же, используем в бат-файле)

Выполнение этой команды гарантированно разобьет OS на компоненты.

Рассматриваемые утилиты:
OSNbTool, NBwork
Чаще всего одного OSNbtool хватает, чтобы разобрать прошивку до imgfs и xip.
Переименовываем прошивку в удобное короткое имя, кладем в папку с OSnbtool и выполняем серию команд (записываются в bat-файл) :

Выполнение этой команды гарантированно разобьет OS на компоненты.

Формат .bin (.dat) - аппараты ETEN/Acer

Нестандартные форматы (DIP, KDZ, TMP и другие)

Рассматриваемые утилиты: OSNbTool, NBwork, специальные утилиты
Переименовываем прошивку в flash.bin, кладем в папку с OSnbtool и выполняем серию команд (записываются в bat-файл) :

osnbtool -sp flash.bin
osnbtool -sp flash.bin.BIN.NB0
osnbtool -d flash.bin.BIN.NB0.OS.NB 1 xip.bin
osnbtool -d flash.bin.BIN.NB0.OS.NB 2 imgfs.bin
Первыми двумя командами мы получим Nb0 и заголовок, здесь важно запомнить адрес заголовка. Вторыми двумя командами получим Imgfs.bin (билд) и xip.bin (ядро).
Если xip вышел более 4 мб (или очень маленький imgfs), значит нужно разбирать программой nbwork.
Код для разбора (опять же, используем в бат-файле)

Выполнение этой команды гарантированно разобьет OS на компоненты.
Если же подобный метод не помогает, наверняка в теме по перепрошивке девайса найдется необходимая утилита.

Разборка билда

Часть вторая: редактирование OS

Список пакетов SYS с описанием (поможет при очистке прошивки от лишнего)

Важные ОЕМ-пакеты (которые нельзя удалять)

OEM_lang -содержит часть языковых файлов устройства, среди которых важнейший initflashfiles.dat(о нем ниже)
OEM_dpi - служебная информация по экрану
OEMMisc (есть не везде)-служебная информация
OEMapps (есть не везде)- ОЕМ-приложения и некоторые драйверы
OEMdrivers - основные системные драйверы и некоторые приложения (если нет OEMapps, все ОЕМ-приложения располагаются здесь)
Примечание: из пакетов можно удалять лишние файлы и модули, некоторые можно установить экспериментально, некоторые уже известны.

Создание собственного ОЕМ-пакета

  • интерпретируется код
  • проверяется возможность копирования файла (создания директории)
  • если возникла ошибка (неправильное имя файла, не существующий путь и т.п.), строчка игнорируется.
  • из папки Windows (где в итоге оказывается все содержимое ОЕМ и SYS) файл копируется в указанное в коде место в файловой системе.

Если есть Cab-файл с программой:
Рассматриваемая утилита: package creator by ervius и ей подобные
Здесь все просто: открываем утилиту, указываем ей Cab-Файл(open cab) и рядом с ним получаем пакет, при этом галочку про remodule лучше убрать.
Конечно не без нюансов:
-initflashfiles создается в любом случае с тегом end package(даже если указаний на правку файловой системы не заложено)
-нужно проверить пакет на наличие всех необходимых файлов, бывало и такое, что файлы при преобразовании терялись
-нужно переписать дсм, потому что программы сборки посчитают его несоответсвующим
-поскольку cab часто при установке записывает программу в какую-то папку, отличную от windows, при встраивании программы вы получите дубликат в папке windows(В связи с вышеописанными особенностями алгоритма initflashfiles), поэтому протестируйте программу на корректный запуск из папки windows, если запуск происходит некорректно или программа не запускается, подумайте, "а действительно ли вам настолько нужна данная программа, что вы готовы выделить для нее удвоенное количество внутренней памяти?".

Если есть готовый пакет, просто перенесите его в ОЕМ или EXT кухни.

Практическое применение пакетов

Вшивание твиков реестра/редактирование реестра:
Мы знаем, что файл ргу в пакете отвечает за реестр. Чтобы внести реестровую правку, просто добавьте в ргу необходимые твики и задайте файлу соответствующее порядку сборки имя. Список твиков реестра можно найти в соответствующей теме из шапки.

Обычно системные ресурсы представлены в виде модулей; это файлы .mui(языковые ресурсы) , .dll(графика) и .dll.mui(специфическая для данного языка графика) , переведенные в модульный вид.
Чтобы получить файл, произведем reversemod модуля.
Теперь с помощью UnSigner.exe снимем сертификат соответствия, на всякий случай.
Можно открывать файл ресторатором. File->open. в окне увидим структуру ресурсов, которые можно редактировать.
Чтобы заменить какой-либо графический объект , необходимо сделать следующее:
-найти необходимую иконку в файле(как упоминалось выше, это могут быть dll и dll.mui файлы)
-извлечь объект, если необходимо снятие размеров, показателей и прочего(ресторатор-пр.кн.мыши по объекту-извлечь как)
-после редактирования искомого/нахождения готового модифицированного объекта в рестораторе надо всего лишь назначить новый графический объект вместо предыдущего(ресторатор-пр.кн.мыши по объекту-назначить).
Чтобы заменить какой-либо текст в системе , необходимо сделать следующее:
-открыть нужный файл ресторатором(обычно .mui)
-находим нужную строку и редактируем по своему усмотрению

Теперь отредактированный файл необходимо привести к исходному виду(т.е. превратить в модуль), для этого проведем его RecMod.

Примеры редактирования модулей:
Хотите, чтобы в сведениях о системе гордо красовался ваш ник?
открывайте shellres.dll.0419.mui и редактируйте диалог 14368 в файле, подобным образом:

XIP и способы работы с ним

разборка XIP
Рассматриваемая утилита: XIPPort
В предыдущих разделах мы уже извлекли xip.bin из прошивки.
Чтобы его отредактировать, сделаем дамп с помощью XipPort:
-Запускаем утилиту
-кнопка dump xip.bin
-кнопка make pkgs(возможно возникнет ошибка, в таком случае убедитесь, что версия pkgcommon.dll корректна: если была 5.2, замените на 5.1, если 5.1, замените на 5.2)
Мы получили пакетный dump ядра, рассмотрим его структуру:
- OEMXIPKernel - так называемая девайсозависимая часть, где хранятся основные файлы и модули, необходимые для первичной загрузки устройства
- MSXipKernel - часть от microsoft, содержит различные фильтры для поддержания работы системы
- MSXipKernelLTK - наличие этой части означает возможность апгрейда системы
- LangDB - языковая основа
- wincenls_wwe - редкий пакет но все же встречается - кодовая страница русского и английского; при сборке лучше его перенести в SYS.
Основные файлы и модули, которые нам понадобятся:
- nk.exe - так называемый модуль нативного ядра
- boot.rgu - файл, который пригодится нам при портировании xip/сборке прошивки

Некоторые специфические(работающие не на всех устройствах) усовершенствования XIP
Изменение MainMemoryEndAddress в nk.exe
Как утверждается, RAM увеличивается на 16 мб .
Обязательно наличие официальной прошивки WM6.0 для устройства. Из прошивки необходимо будет взять 2 файла из OEM drivers:
-ddi.dll
-wce_pmem.dll
и заменить ими файлы в текущей прошивке.
в модуле nk.exe находим файл S000, открываем его HEX-редактором, ищем сигнатуру
38459FE530559FE5A13EA0E38224A0E3
и заменяем 82 на 83. Должно получиться нечто вроде этого:
38459FE530559FE5A13EA0E38324A0E3.


не забудьте скомпилировать boot.hv(хотя некоторые кухни делают это автоматически)
- изменение PagePOol(коротко PP или ПП)
PagePool-участок оперативной памяти, в который первоначально подгружаются данные из ROM.
Соответственно он эту память занимает. Чтобы ограничить его или убрать вовсе есть несколько методов:
Ограничение/отключение вручную
подойдет любой HEX-редактор, нужно лишь знать сигнатуру(участок HEX-кода, указывающий на положение PP), после ее нахождения(обычно нужно повторить поиск),
слева должен быть участок кода, подобный этому

распространенные размеры ПП: 20-2мб 40-4мб 80-8мб FF-15 мб
Чтобы отключить PP нужно все байты заполнить F:


ей открываем бинарный файл прошивки (Open-> и в зависимости от версии чипа выбираем нужный пункт).

далее Partitions->Extract all

и у вас в той же директории что и прошивка появится папка "partitions", самый важный для нас файл PRI.a7s

в нем таблица битрейтов и значения контраста, насыщенности цветов, резкости и т.д.

Также важен файл RFS.a7s, в нем графические ресурсы, звуки и strings.bin в котором можно менять перевод устройства

4. Как отредактировать битрейт?

Для редактирования битрейта


Editors->Bitrate editor и им открываем файл RFS.a7s в папке partitions


редактируем максимальные значения битрейта для разных режимов

После всех изменений жмем apply, закрываем окно редактора, и потом build->Firmware update

5. Как отредактировать ресурсы

Что бы добраться до ресурсов, сначала распаковываем прошивку, затем ROM/RFS->Extract ROM to disk

Появится папка rtosfs, в ней лого, strings.bin с переводами и пр.

В интернете много гайдов по редактированию, необходимо знать HEX редакторы

После завершения изменений ROM/RFS->Build ROM from disk
и затем Build->Firmware update

6. Как изменить контраст и резкость?

По умолчанию значения контрастности в регистраторе 58 — максимальный, 40- средний и 20 минимальный

с резкостью так 5 -максимум, 3 среднее значение и 1 минимум

Открываем файл PRI.a7s любым HEX редактором в режиме 8 столбцов, и ищем такой паттерн 58 00 00 00 (мы ищем максимальный контраст), когда в таблице мы увидим что то похоже на скриншоте снизу, значит нашли нужный блок значений, если заметили сначала идет среднее значение 40 потом 58 через 2 строки и еще через 2 — 20 (минимальное значение). В моем регистраторе нельзя выбрать уровень контрастности так что редактируем значение 40, и присваиваем ему 60.

С резкостью все тоже самое, значение отвечающие за нее находятся чуть ниже.


это в регистраторах по дефолту максимальная контрастность

Для контрастности максимальное значение 80, для резкости 5

Если у Вас в регистраторе нельзя выбрать эти значения, редактируем среднее значение (именно адрес в котором прописано значение), я поставил резкость 5 и контраст 60


Формат файлов 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, скорее всего, окажется образом диска, видеозаписью или приложением. Файл небольшого объема, вероятно, будет содержать прошивку устройства или данные для эмуляторов игровых приставок.

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