Так тебе уже всё нужное (для окирпичивания роутера, гы-гы) дали. Вспоминаешь про binwalk, смотришь им на полученный файл, видишь, где начинается блок lzma. Делишь файл на 2 части, первые 10144 байт в одну сторону, остаток — в другую. Первая часть — распаковщик, вторая — данные. Соответственно, её можно
xz -d --single-stream -c < US_N4v1Ra_V9.2.4.16_CN.bin_kernel.part2 > unpacked.image
Внутри уже видны html странички вебморды.
В более доступный для редактирования вид это, боюсь, распаковать уже не получится. А после редактирования, пожатия, склеивания с распаковщиком и навешивания uImage заголовка, скорее всего, получится образ-убийца роутеров.
NightSpamer ★
()
Последнее исправление: NightSpamer
(всего
исправлений: 1)
- Ссылка
Роутеры — это важная часть любой сети. Они обеспечивают соединение между вашим устройством и интернетом. Однако, иногда может возникнуть необходимость изменить прошивку роутера, чтобы получить больше функциональности или исправить ошибки. Тем не менее, многие люди сталкиваются с проблемой, когда не знают, как открыть bin файл прошивки роутера. В этой статье мы расскажем вам подробную инструкцию, которая поможет вам справиться с этой задачей.
Прежде чем открыть bin файл прошивки роутера, вам понадобятся несколько инструментов. Во-первых, вам потребуется компьютер с доступом в интернет, чтобы скачать нужную программу. Во-вторых, вам понадобится сам bin файл прошивки, который вы можете скачать с официального сайта производителя роутера или других надежных источников. Также стоит отметить, что не все роутеры позволяют открывать bin файлы прошивки. Проверьте совместимость вашего роутера с этой функцией, прежде чем приступать к процессу.
Важно помнить, что изменение прошивки роутера может привести к непредсказуемым последствиям, таким как потеря данных или поломка устройства. Перед выполнением этой операции рекомендуется создать резервную копию ваших текущих настроек роутера и ознакомиться с инструкциями от производителя.
Когда у вас есть все необходимые инструменты и информация, вы можете приступить к открытию bin файла прошивки роутера. Существует несколько программ, которые позволяют открывать этот тип файлов, например, WinRAR, 7-Zip или Total Commander. Выберите программу, которая наиболее удобна для вас, и установите ее на свой компьютер.
После установки программы откройте ее и найдите бинарный файл прошивки роутера на вашем компьютере. Нажмите правой кнопкой мыши на файл и выберите опцию «Открыть с помощью». В появившемся списке выберите установленную программу для открытия bin файлов, и она автоматически распакует содержимое прошивки.
Содержание
- Как открыть bin файл прошивки роутера
- Шаг 1: Скачайте необходимое программное обеспечение
- Шаг 2: Подготовка к открытию файла
- Шаг 3: Откройте bin файл в программе
- Шаг 4: Изучите содержимое файла
- Шаг 5: Внесите необходимые изменения
Как открыть bin файл прошивки роутера
Bin файл прошивки роутера используется для обновления программного обеспечения роутера. Открыть этот файл можно с помощью специальных программ. В данной инструкции рассмотрим основные шаги по открытию bin файла прошивки роутера.
Шаг 1:
Установите на компьютер программу для работы с bin файлами. Некоторые популярные программы: 7-Zip, WinRAR, UltraISO. Скачайте и установите одну из этих программ с официальных сайтов.
Шаг 2:
Запустите программу и откройте папку с bin файлом прошивки роутера. Выберите файл и нажмите кнопку «Открыть» или «Извлечь».
Шаг 3:
После открытия bin файла прошивки роутера, вы сможете просмотреть его содержимое. Обычно bin файл содержит несколько файлов, таких как образ операционной системы и другие компоненты программного обеспечения роутера.
Шаг 4:
Если вы хотите изменить содержимое bin файла прошивки роутера, вы можете извлечь нужные файлы, внести изменения и затем сохранить их обратно в bin формате. Для этого выполните соответствующие действия в программе для работы с bin файлами.
Теперь вы знаете основные шаги по открытию bin файла прошивки роутера. Обратите внимание, что изменение прошивки роутера может привести к неправильной работе устройства или даже его поломке. Поэтому перед внесением изменений в прошивку рекомендуется проконсультироваться с производителем или специалистами в данной области.
Шаг 1: Скачайте необходимое программное обеспечение
Binwalk — это мощный инструмент командной строки, который позволяет исследовать и извлекать данные из различных бинарных файлов, включая файлы прошивок роутеров.
Вы можете скачать Binwalk с его официального репозитория на GitHub. Для этого откройте терминал на вашем компьютере и выполните следующую команду:
git clone https://github.com/ReFirmLabs/binwalk.git
После завершения загрузки вы сможете найти папку Binwalk в текущем рабочем каталоге.
Шаг 2: Подготовка к открытию файла
Прежде чем открыть bin файл прошивки роутера, вам понадобятся несколько инструментов:
-
Компьютер с доступом в интернет для загрузки необходимых программ;
-
ARIA2 – программа для загрузки файлов, которая позволит вам получить все необходимые компоненты для открытия bin файла;
-
Утилита для извлечения архивов, например, 7-Zip или WinRAR;
-
Hex-редактор, такой как HxD или Hex Fiend, для просмотра и редактирования содержимого bin файла.
Дополнительно, вы можете создать резервную копию роутера перед открытием bin файла, чтобы избежать случайной потери данных.
Шаг 3: Откройте bin файл в программе
После того, как вы установили программу для открытия bin файлов, вы можете приступить к открытию самого файла. Для этого следуйте указаниям ниже:
Шаг 1. Откройте установленную программу для открытия bin файлов. В большинстве случаев вы можете найти ее в списке установленных программ на вашем компьютере или в папке «Программы».
Шаг 2. Нажмите на кнопку «Открыть» или выберите соответствующий пункт в меню программы. Обычно эта кнопка находится в верхней части экрана либо в левом верхнем углу окна программы.
Шаг 3. В открывшемся диалоговом окне найдите и выберите bin файл прошивки роутера. Обычно файлы прошивки имеют расширение .bin. Если вы не видите файл прошивки, убедитесь, что вы ищете файлы с правильным расширением и выберите опцию «Все файлы» для отображения всех типов файлов.
Шаг 4. Щелкните по файлу прошивки роутера, чтобы выделить его, а затем нажмите кнопку «Открыть». Это запустит процесс открытия файла в программе.
Шаг 5. После того, как файл прошивки роутера откроется в программе, вы сможете видеть его содержимое и выполнить необходимые операции, такие как редактирование или сохранение изменений. Обратите внимание, что работа с bin файлами может быть сложной и требовать определенных знаний, поэтому будьте внимательны и осторожны.
Теперь вы знаете, как открыть bin файл прошивки роутера в программе. Следуйте указанным выше шагам и вы сможете начать работать с содержимым файла.
Шаг 4: Изучите содержимое файла
Чтобы разобраться в содержимом файла, вам понадобится специализированное программное обеспечение. Существуют различные инструменты, которые могут помочь вам выполнить эту задачу, такие как Hex-редакторы.
Hex-редакторы позволяют просматривать содержимое двоичных файлов и искать информацию, изменять данные, а также выполнять другие операции. Они показывают содержимое файла в шестнадцатеричном виде, что позволяет вам анализировать байты данных.
Изучение содержимого файла может помочь вам понять, как прошивка роутера работает, распознать конкретные функции и параметры, а также найти возможности для изменений и модификаций прошивки.
Важно помнить, что работа с бинарными файлами требует определенных знаний и навыков. Если вы не уверены в своих способностях или опыте, рекомендуется обратиться к опытным специалистам, чтобы избежать возможных проблем со стабильностью и работоспособностью роутера.
Шаг 5: Внесите необходимые изменения
На этом шаге вы можете внести необходимые изменения в файл прошивки роутера. Для этого используйте специальные программы для работы с файлами в формате .bin, например, Notepad++ или Hex editor.
Ниже приведены основные изменения, которые вы можете внести в файл прошивки роутера:
| Изменение | Описание |
|---|---|
| Изменение настроек | Вы можете изменить различные настройки роутера, такие как пароль для доступа к административной панели, IP-адрес роутера и другие параметры. |
| Добавление дополнительных функций | Вы можете добавить дополнительные функции в прошивку роутера, например, поддержку новых протоколов или возможность работы с сетевыми устройствами. |
| Исправление ошибок | Если вы обнаружите ошибки в оригинальной прошивке роутера, вы можете исправить их, чтобы улучшить работу устройства. |
После внесения необходимых изменений в файл прошивки сохраните его.
Примечание: При внесении изменений в файл прошивки роутера будьте внимательны и следите за структурой файла. Неправильные или некорректные изменения могут привести к неработоспособности роутера или повреждению его программного обеспечения.
Всем привет! А у нас очередная рубрика – а что за ахинею пишут в этих ваших интернетах. Огромное количество чуши написано в статьях, которые высвечиваются в поисковике при запросе – как открыть файл BIN-формата. Так как нормального ответа я так и не нашел, а копирайтерские статьи уже порядком надоели, я решил написать свое мнение по этому поводу и поделиться своим опытом. Неважно какая именно у вас операционная система – Windows 7, 8, 10 или даже XP, BIN-файлы используются везде.
Содержание
- Что такое BIN-файл и для чего он нужен?
- Образ диска
- Видео и аудио файлы
- Обычный исполняемый файл (редактирование с помощью HEX-редактора)
- BIN в Unix
- Прошивка роутера
- Macbinary II
- Другие варианты использования
- Задать вопрос автору статьи
Прежде чем ответить на вопрос, чем открыть BIN-file, нужно понять, что же это за зверь такой. Я вам не рекомендую пропускать данную главу, чтобы у вас в будущем не возникало огромного количества вопросов. Да и просто нужно уже раз и навсегда закрыть этот пробел.
BIN-файл – от сокращенного названия «Binary», который переводится с английского, как «Двоичный». Как мы все знаем из школьного курса информатики, компьютер понимает только информацию, состоящую из нулей (0) и единиц (1). То есть данные файлы в своей простоте состоят только из этих двух знаков. В некоторых программах их можно увидеть в 16-теричной системе исчисления для простоты редактирования.
И вот тут-то встречается первая трудность – BIN-файлы встречаются почти везде и используются всеми программами. Как правило, BIN-файл содержит в себе вспомогательные данные, которые уже использует конкретная программа. В очень редких случаях он выступает как полноценный исполняемый файл. Если говорить грубо, то BIN – это некое хранилище данных, которые в будущем уже использует конкретная программа.
А для чего эти данные держать в двоичном коде? – да потому что эти данные используют только программы, и для компьютера будет проще, если вся информация в этом файле будет состоять только из нулей и единиц. Операционной системе не нужно переводить данные в 0 и 1, и это ускоряет работу с данным файлом. Одно дело, когда BIN весит пару килобайт, а что, если хранилище содержит в себе сотни гигабайт?
Давайте покажу на примере. Представим себе, что мы скачали игру (не образ) или открыли записанный компакт-диск. В нем вы можете заметить несколько BIN-файлов. Как же нам их открыть и для чего они тут вообще нужны?
Те, кто уже устанавливал хоть раз игры, знают, что основной программой запуска является «Setup.exe». После запуска этого приложения начнет устанавливаться игра, используя все BIN-хранилища, которые есть в папке.
Уточню, что в данном случае мы никаким образом не открывали BIN-файл, а просто его использовали. Для наглядности, давайте попробуем открыть его через стандартный текстовый редактор. Очень во многих статьях написано про «Блокнот», что якобы им можно открыть этот файл. Да открыть то можно, но смысла в этом не будет, и сейчас вы поймете почему.
Нажимаем правой кнопкой по файлу и выбираем «Открыть с помощью».
Теперь выбираем «Блокнот».
Да файл мы открыли, только видим при этом непонятные кракозябры. Почему так происходит? На самом деле блокнот — это текстовый редактор, который пытается прочесть данные, записанные в BIN как текст.
В 99% процентов случаев BIN – это всего лишь вспомогательный файл основного приложения, и выступает он как обычное хранилище. То есть обычно BIN открывается сторонней программой. Но есть возможность его и отредактировать, и открыть. Но для простого пользователя это не нужно.
Итак, мы поняли, что же из себя представляет BIN-файл. Теперь нам нужно понять, в какие моменты, и как его можно и нужно использовать? Давайте разберемся. Во-первых, вам нужно понять – для чего вам нужно открывать этот файл, где он располагается, где вы его нашли и скачали, а также, что еще есть в этой папке. Далее я опишу все возможные варианты, с которыми вы можете столкнуться
Образ диска
Если вы скачали какую-то игру или программу, а рядом с BIN есть еще один файлик формата CUE, то это скорее всего просто образ. Еще в более редких случаях есть только один BIN-файл, который тоже может выступать в качестве образа. Для использования подобного файла, вам подойдет любая программа, работающая с образами: Power ISO, Ulta ISO, Daemon Tools Lite и т.д.
Работают они все одинаково, поэтому покажу на примере UltraISO.
- Запускаем программу.
- Смотрите, вы можете просто перетащить BIN-файл в рабочую область. Или перейти в раздел «Инструменты» и нажать «Монтировать в виртуальный привод» (клавиша F6).
- Если вы выбрали второй вариант, то жмем по трем точкам, находим наш файл, выбираем и кликаем по кнопке «Монтировать».
Более подробно про использование образов можно почитать тут.
Видео и аудио файлы
В очень редких случаях BIN-файлы могут содержать в себе музыкальные композиции или видео. С подобными файлами легко работают продвинутые проигрыватели: VLC Media Player, GOM Player, KMPlayer. Из всех представленных проигрывателей, мне больше всего нравится VLC, так как он дополнительно позволяет работать с конфигурационными файлами IP-TV.
Обычный исполняемый файл (редактирование с помощью HEX-редактора)
В некоторых приложениях BIN может выступать в качестве определенной библиотеки, исполняемого файла. Если вам нужно отредактировать это хранилище, то обычно используют HEX-редакторы. Вот в таком случае можно его открыть и даже отредактировать. Но будет ли после этого он работать с основным приложением? – вот тут все и зависит от вас.
Давайте я покажу, как работать с HEX-редактором. На самом деле они все примерно одинаковые, и почти все бесплатные, поэтому можете использовать любой. Я лично скачал первую попавшуюся программу для открытия BIN-файлов – «Hex Editor Neo».
- Запускаем программу.
- Жмем «File» – «Open» -«Open File» или используем горячие клавиши Ctrl + O.
- Выбираем наш BIN-файл.
- Теперь вы видите, как по-настоящему выглядит BIN-файл, и, по сути, мы сейчас его открыли, а не использовали, как это обычно бывает.
BIN в Unix
Если вы используете операционную систему UNIX в дистрибутивах Linux или FreeBSD, то BIN может выступать как обычное запускаемое приложение. Да, вот тут-то его и можно просто запустить. И кто-то может сказать, но ведь ты только что сказал, что BIN не может использоваться как самостоятельная программа и является просто хранилищем.
Да, и до сих пор так считаю. Просто в Windows для BIN нужна конкретная программа или Setup.exe, а в Linux она запускается встроенным приложением, которое работает с BIN. Но опять же, не со всеми BIN-файлами это прокатит. То есть в теории даже в этой ОС БИН – это всего лишь набор данных.
Прошивка роутера
Во всех роутерах при обновлении прошивки используется как раз файл с расширением BIN. Процедура очень простая:
- Вы заходите на официальную страницу роутера и скачиваете последнюю прошивку.
- Далее заходим в настройки роутера.
- Переходим в раздел «Администрирование» – «Обновление». Нажимаем «Выбрать файл», выбираем файл BIN.
- Жмем по кнопке «Обновить».
Встроенная операционная система маршрутизатора, используя скаченное хранилище, загружает и обновляет внутреннюю ОС.
Macbinary II
Macbinary II – это еще один формат закодированного бинарного кода, который в системе может отображаться как BIN. Встречается очень редко, и обычно используется в сетях. Для работы с этими подобными файлами в Windows используют программу – Smith Micro StuffIt Deluxe.
Другие варианты использования
Как вы уже могли понять, BIN может использоваться абсолютно любой программой, утилитой, в любой операционной системе. Например, в современных автомобилях, во встроенных компьютерах, также используют BIN-прошивки, которые позволяют обновить ОС.
Если вы сомневаетесь, как именно нужно использовать ваш BIN-файл, то можете обратиться ко мне в комментариях. Самое главное, как можно подробнее напишите:
- Где вы нашли этот файл?
- Что еще присутствует рядом с ним.
- Напишите точное название, а также вес.
- Где вы его скачали?
Я постараюсь вам помочь. На этом все. Надеюсь статья вам хоть как-то помогла.
Несколько дней назад, я решил провести реверс-инжиниринг прошивки своего роутера используя binwalk.
Я купил себе TP-Link Archer C7 home router. Не самый лучший роутер, но для моих нужд вполне хватает.
Каждый раз когда я покупаю новый роутер, я устанавливаю OpenWRT. Зачем? Как правило производители не сильно заботятся о поддержке своих роутеров и со временем софт устаревает, появляются уязвимости и так далее, в общем вы поняли. Поэтому я предпочитаю хорошо поддерживаемую сообществом open-source прошивку OpenWRT.
Скачав себе OpenWRT, я так же скачал последний образ прошивки под мой новый Archer C7 с официального сайта и решил проанализировать его. Чисто ради фана и рассказать о binwalk.
Что такое binwalk?
Binwalk — это инструмент с открытым исходным кодом для анализа, реверс-инжиниринга и извлечения образов прошивок.
Созданный в 2010 году Крейгом Хеффнером, binwalk может сканировать образы прошивок и находить файлы, идентифицировать и извлекать образы файловой системы, исполняемый код, сжатые архивы, загрузчики и ядра, форматы файлов, такие как JPEG и PDF, и многое другое.
Вы можете использовать binwalk для реверс-инжиниринга прошивки для того, что бы понять как она устроена. Искать в бинарных файлах уязвимости, извлекать файлы и искать бекдоры или цифровые сертификаты. Можно так же найти opcodes для кучи разных CPU.
Вы можете распаковать образы файловой системы для поиска определенных файлов паролей (passwd, shadow и т.д.) И попытаться сломать хэши паролей. Вы можете выполнить двоичный анализ между двумя или более файлами. Вы можете выполнить анализ энтропии данных для поиска сжатых данных или закодированных ключей шифрования. Все это без необходимости доступа к исходному коду.
В общем все, что необходимо, есть 
Как работает binwalk?
Основной особенностью binwalk является его сигнатурное сканирование. Binwalk может сканировать образ прошивки для поиска различных встроенных типов файлов и файловых систем.
Вы знаете утилиту командной строки file?
file /bin/bash
/bin/bash: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 3.2.0, BuildID[sha1]=12f73d7a8e226c663034529c8dd20efec22dde54, stripped
Команда fileсмотрит на заголовок файла и ищет подпись (магическое число), чтобы определить тип файла. Например, если файл начинается с последовательности байтов 0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A, она знает, что это файл PNG. На Википедии есть список распространенных подписей файлов.
Binwalk работает так же. Но вместо того, чтобы искать подписи только в начале файла, binwalk будет сканировать весь файл. Кроме того, binwalk может извлечь файлы, найденные в образе.
Инструменты file и binwalk используют библиотеку libmagic для идентификации подписей файлов. Но binwalk дополнительно поддерживает список пользовательских магических сигнатур для поиска сжатых / заархивированных файлов, заголовков прошивок, ядер Linux, загрузчиков, файловых систем и так далее.
Давайте повеселимся?
Установка binwalk
Binwalk поддерживается на нескольких платформах, включая Linux, OSX, FreeBSD и Windows.
Чтобы установить последнюю версию binwalk, вы можете загрузить исходный код и следовать инструкции установки или краткому руководству, доступному на веб-сайте проекта.
У Binwalk много разных параметров:
$ binwalk
Binwalk v2.2.0
Craig Heffner, ReFirmLabs
https://github.com/ReFirmLabs/binwalk
Usage: binwalk [OPTIONS] [FILE1] [FILE2] [FILE3] ...
Signature Scan Options:
-B, --signature Scan target file(s) for common file signatures
-R, --raw=<str> Scan target file(s) for the specified sequence of bytes
-A, --opcodes Scan target file(s) for common executable opcode signatures
-m, --magic=<file> Specify a custom magic file to use
-b, --dumb Disable smart signature keywords
-I, --invalid Show results marked as invalid
-x, --exclude=<str> Exclude results that match <str>
-y, --include=<str> Only show results that match <str>
Extraction Options:
-e, --extract Automatically extract known file types
-D, --dd=<type:ext:cmd> Extract <type> signatures, give the files an extension of <ext>, and execute <cmd>
-M, --matryoshka Recursively scan extracted files
-d, --depth=<int> Limit matryoshka recursion depth (default: 8 levels deep)
-C, --directory=<str> Extract files/folders to a custom directory (default: current working directory)
-j, --size=<int> Limit the size of each extracted file
-n, --count=<int> Limit the number of extracted files
-r, --rm Delete carved files after extraction
-z, --carve Carve data from files, but don't execute extraction utilities
-V, --subdirs Extract into sub-directories named by the offset
Entropy Options:
-E, --entropy Calculate file entropy
-F, --fast Use faster, but less detailed, entropy analysis
-J, --save Save plot as a PNG
-Q, --nlegend Omit the legend from the entropy plot graph
-N, --nplot Do not generate an entropy plot graph
-H, --high=<float> Set the rising edge entropy trigger threshold (default: 0.95)
-L, --low=<float> Set the falling edge entropy trigger threshold (default: 0.85)
Binary Diffing Options:
-W, --hexdump Perform a hexdump / diff of a file or files
-G, --green Only show lines containing bytes that are the same among all files
-i, --red Only show lines containing bytes that are different among all files
-U, --blue Only show lines containing bytes that are different among some files
-u, --similar Only display lines that are the same between all files
-w, --terse Diff all files, but only display a hex dump of the first file
Raw Compression Options:
-X, --deflate Scan for raw deflate compression streams
-Z, --lzma Scan for raw LZMA compression streams
-P, --partial Perform a superficial, but faster, scan
-S, --stop Stop after the first result
General Options:
-l, --length=<int> Number of bytes to scan
-o, --offset=<int> Start scan at this file offset
-O, --base=<int> Add a base address to all printed offsets
-K, --block=<int> Set file block size
-g, --swap=<int> Reverse every n bytes before scanning
-f, --log=<file> Log results to file
-c, --csv Log results to file in CSV format
-t, --term Format output to fit the terminal window
-q, --quiet Suppress output to stdout
-v, --verbose Enable verbose output
-h, --help Show help output
-a, --finclude=<str> Only scan files whose names match this regex
-p, --fexclude=<str> Do not scan files whose names match this regex
-s, --status=<int> Enable the status server on the specified port
Сканирования образов
Начнем с поиска сигнатур файлов внутри образа (образ с сайта TP-Link).
Запуск binwalk с параметром —signature:
$ binwalk --signature --term archer-c7.bin
DECIMAL HEXADECIMAL DESCRIPTION
------------------------------------------------------------------------------------------
21876 0x5574 U-Boot version string, "U-Boot 1.1.4-g4480d5f9-dirty (May
20 2019 - 18:45:16)"
21940 0x55B4 CRC32 polynomial table, big endian
23232 0x5AC0 uImage header, header size: 64 bytes, header CRC:
0x386C2BD5, created: 2019-05-20 10:45:17, image size:
41162 bytes, Data Address: 0x80010000, Entry Point:
0x80010000, data CRC: 0xC9CD1E38, OS: Linux, CPU: MIPS,
image type: Firmware Image, compression type: lzma, image
name: "u-boot image"
23296 0x5B00 LZMA compressed data, properties: 0x5D, dictionary size:
8388608 bytes, uncompressed size: 97476 bytes
64968 0xFDC8 XML document, version: "1.0"
78448 0x13270 uImage header, header size: 64 bytes, header CRC:
0x78A267FF, created: 2019-07-26 07:46:14, image size:
1088500 bytes, Data Address: 0x80060000, Entry Point:
0x80060000, data CRC: 0xBB9D4F94, OS: Linux, CPU: MIPS,
image type: Multi-File Image, compression type: lzma,
image name: "MIPS OpenWrt Linux-3.3.8"
78520 0x132B8 LZMA compressed data, properties: 0x6D, dictionary size:
8388608 bytes, uncompressed size: 3164228 bytes
1167013 0x11CEA5 Squashfs filesystem, little endian, version 4.0,
compression:xz, size: 14388306 bytes, 2541 inodes,
blocksize: 65536 bytes, created: 2019-07-26 07:51:38
15555328 0xED5B00 gzip compressed data, from Unix, last modified: 2019-07-26
07:51:41
Теперь у нас много информации об этом образе.
Образ использует U-Boot в качестве загрузчика (заголовок образа по адресу 0x5AC0 и сжатый образ загрузчика по адресу 0x5B00). Основываясь на заголовке uImage по адресу 0x13270, мы знаем, что архитектура процессора — MIPS, а ядро Linux — версия 3.3.8. И на основании образа, найденного по адресу 0x11CEA5, мы можем видеть, что rootfs является файловой системой squashfs.
Давайте теперь распакуем загрузчик (U-Boot) с помощью команды dd:
$ dd if=archer-c7.bin of=u-boot.bin.lzma bs=1 skip=23296 count=41162
41162+0 records in
41162+0 records out
41162 bytes (41 kB, 40 KiB) copied, 0,0939608 s, 438 kB/s
Поскольку образ сжат с помощью LZMA, нам нужно распаковать его:
$ unlzma u-boot.bin.lzma
Теперь у нас есть образ U-Boot:
$ ls -l u-boot.bin
-rw-rw-r-- 1 sprado sprado 97476 Fev 5 08:48 u-boot.bin
Как насчет поиска дефолтного значения для bootargs?
$ strings u-boot.bin | grep bootargs
bootargs
bootargs=console=ttyS0,115200 board=AP152 rootfstype=squashfs init=/etc/preinit mtdparts=spi0.0:128k(factory-uboot),192k(u-boot),64k(ART),1536k(uImage),14464k@0x1e0000(rootfs) mem=128M
Переменная окружения U-Boot bootargs используется для передачи параметров ядру Linux. И из вышеприведенного мы лучше понимаем флэш-память устройства.
Как насчет извлечения образа ядра Linux?
$ dd if=archer-c7.bin of=uImage bs=1 skip=78448 count=1088572
1088572+0 records in
1088572+0 records out
1088572 bytes (1,1 MB, 1,0 MiB) copied, 1,68628 s, 646 kB/s
Мы можем проверить, что образ был успешно извлечен с помощью команды file:
$ file uImage
uImage: u-boot legacy uImage, MIPS OpenWrt Linux-3.3.8, Linux/MIPS, Multi-File Image (lzma), 1088500 bytes, Fri Jul 26 07:46:14 2019, Load Address: 0x80060000, Entry Point: 0x80060000, Header CRC: 0x78A267FF, Data CRC: 0xBB9D4F94
Формат файла uImage — это в основном образ ядра Linux с дополнительным заголовком. Давайте удалим этот заголовок, чтобы получить окончательный образ ядра Linux:
$ dd if=uImage of=Image.lzma bs=1 skip=72
1088500+0 records in
1088500+0 records out
1088500 bytes (1,1 MB, 1,0 MiB) copied, 1,65603 s, 657 kB/s
Образ сжат, поэтому давайте распакуем его:
$ unlzma Image.lzma
Теперь у нас есть образ ядра Linux:
$ ls -la Image
-rw-rw-r-- 1 sprado sprado 3164228 Fev 5 10:51 Image
Что мы можем сделать с образом ядра? Мы могли бы, например, сделать поиск по строкам в образе и найти версию ядра Linux и узнать об окружающей среде, используемой для сборки ядра:
$ strings Image | grep "Linux version"
Linux version 3.3.8 (leo@leo-MS-7529) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #1 Mon May 20 18:53:02 CST 2019
Несмотря на то, что прошивка была выпущена в прошлом году (2019 г.), когда я пишу эту статью, она использует старую версию ядра Linux (3.3.8), выпущенную в 2012 г., скомпилированную с очень старой версией GCC (4.6) также с 2012 г.!
(прим. перев. еще доверяете своим роутерам в офисе и дома?)
С опцией --opcodes мы также можем использовать binwalk для поиска машинных инструкций и определения архитектуры процессора образа:
$ binwalk --opcodes Image
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
2400 0x960 MIPS instructions, function epilogue
2572 0xA0C MIPS instructions, function epilogue
2828 0xB0C MIPS instructions, function epilogue
Как насчет корневой файловой системы? Вместо того, чтобы извлекать образ вручную, давайте воспользуемся опцией binwalk --extract:
$ binwalk --extract --quiet archer-c7.bin
Полная корневая файловая система будет извлечена в подкаталог:
$ cd _archer-c7.bin.extracted/squashfs-root/
$ ls
bin dev etc lib mnt overlay proc rom root sbin sys tmp usr var www
$ cat etc/banner
MM NM MMMMMMM M M
$MMMMM MMMMM MMMMMMMMMMM MMM MMM
MMMMMMMM MM MMMMM. MMMMM:MMMMMM: MMMM MMMMM
MMMM= MMMMMM MMM MMMM MMMMM MMMM MMMMMM MMMM MMMMM'
MMMM= MMMMM MMMM MM MMMMM MMMM MMMM MMMMNMMMMM
MMMM= MMMM MMMMM MMMMM MMMM MMMM MMMMMMMM
MMMM= MMMM MMMMMM MMMMM MMMM MMMM MMMMMMMMM
MMMM= MMMM MMMMM, NMMMMMMMM MMMM MMMM MMMMMMMMMMM
MMMM= MMMM MMMMMM MMMMMMMM MMMM MMMM MMMM MMMMMM
MMMM= MMMM MM MMMM MMMM MMMM MMMM MMMM MMMM
MMMM$ ,MMMMM MMMMM MMMM MMM MMMM MMMMM MMMM MMMM
MMMMMMM: MMMMMMM M MMMMMMMMMMMM MMMMMMM MMMMMMM
MMMMMM MMMMN M MMMMMMMMM MMMM MMMM
MMMM M MMMMMMM M M
M
---------------------------------------------------------------
For those about to rock... (%C, %R)
---------------------------------------------------------------
Теперь мы можем сделать много разного.
Мы можем искать файлы конфигурации, хэши паролей, криптографические ключи и цифровые сертификаты. Мы можем проанализировать бинарные файлы для поиска ошибок и уязвимостей.
С помощью qemu и chroot мы можем даже запустить (эмулировать) исполняемый файл из образа:
$ ls
bin dev etc lib mnt overlay proc rom root sbin sys tmp usr var www
$ cp /usr/bin/qemu-mips-static .
$ sudo chroot . ./qemu-mips-static bin/busybox
BusyBox v1.19.4 (2019-05-20 18:13:49 CST) multi-call binary.
Copyright (C) 1998-2011 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.
Usage: busybox [function] [arguments]...
or: busybox --list[-full]
or: function [arguments]...
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as.
Currently defined functions:
[, [[, addgroup, adduser, arping, ash, awk, basename, cat, chgrp, chmod, chown, chroot, clear, cmp, cp, crond, crontab, cut, date, dd, delgroup, deluser, dirname, dmesg, echo, egrep, env, expr, false,
fgrep, find, free, fsync, grep, gunzip, gzip, halt, head, hexdump, hostid, id, ifconfig, init, insmod, kill, killall, klogd, ln, lock, logger, ls, lsmod, mac_addr, md5sum, mkdir, mkfifo, mknod, mktemp,
mount, mv, nice, passwd, pgrep, pidof, ping, ping6, pivot_root, poweroff, printf, ps, pwd, readlink, reboot, reset, rm, rmdir, rmmod, route, sed, seq, sh, sleep, sort, start-stop-daemon, strings,
switch_root, sync, sysctl, tail, tar, tee, telnet, test, tftp, time, top, touch, tr, traceroute, true, udhcpc, umount, uname, uniq, uptime, vconfig, vi, watchdog, wc, wget, which, xargs, yes, zcat
Здорово! Но обратите внимание, что версия BusyBox — 1.19.4. Это очень старая версия BusyBox, выпущенная в апреле 2012 года.
Таким образом, TP-Link выпускает образ прошивки в 2019 году с использованием программного обеспечения (GCC toolchain, kernel, BusyBox и т. Д.) 2012 года!
Теперь вы понимаете, почему я всегда устанавливаю OpenWRT на свои роутеры?
Это еще не все
Binwalk также может выполнять энтропийный анализ, печатать необработанные энтропийные данные и генерировать энтропийные графики. Обычно большая энтропия наблюдается, когда байты в образе случайны. Это может означать, что образ содержит зашифрованный, сжатый или обфусцированный файл. Хардкорно прописанный ключ шифрования? Почему бы и нет.
Мы также можем использовать параметр --raw для поиска пользовательской последовательности необработанных байтов в образе или параметр --hexdump для выполнения шестнадцатеричного дампа, сравнивающего два или более входных файла.
Пользовательские сигнатуры могут быть добавлены в binwalk либо через файл пользовательских сигнатур, указанный в командной строке с помощью параметра --magic, либо путем добавления их в каталог $ HOME / .config / binwalk / magic.
Вы можете найти больше информации о binwalk в официальной документации.
Расширение binwalk
Существует API-интерфейс binwalk, реализованный в виде модуля Python, который может использоваться любым скриптом Python для программного выполнения сканирования binwalk, а утилита командной строки binwalk может быть почти полностью продублирована всего двумя строками кода Python!
import binwalk
binwalk.scan()
С помощью Python API вы также можете создавать плагины под Python для настройки и расширения binwalk.
Также существует плагин IDA и облачная версия Binwalk Pro.
Так почему бы вам не скачать образ прошивки из Интернета и не попробовать binwalk? Обещаю, вам будет очень весело 
Содержание
- Открываем файлы формата BIN
- Вариант 1: Программы для работы с виртуальными образами дисков
- Вариант 2: Видеоплееры
- Вариант 3: Эмуляторы Atari
- Вариант 4: Текстовые редакторы
- Вопросы и ответы
Периодически пользователи, работающие с разными программами и файлами, могут столкнуться с форматом BIN. Здесь достаточно трудно сказать, как именно открыть данный объект, поскольку этот тип достаточно распространен и используется в разных отраслях. Однако существует ряд самых популярных направлений применения файлов с таким форматом. Об этом мы и хотим поговорить в нашей сегодняшней статье.
Из-за того, что объект типа BIN может хранить в себе разную информацию, так просто не получится подобрать программу, которая откроет его и корректно прочитает содержимое. Здесь требуется отталкиваться от того, какое название носит файл, сколько занимает места, где хранится на компьютере и как был получен. Давайте рассмотрим несколько доступных способов проверки этих элементов, начиная с самых часто встречающихся ситуаций.
Вариант 1: Программы для работы с виртуальными образами дисков
Сейчас физические диски постепенно перестают использоваться, а во многих компьютерах и ноутбуках даже нет привода, куда можно было бы вставить DVD или CD. Однако это не отменяет того факта, что определенная информация все еще хранится в образах, предназначенных для дисков, но читается она с помощью эмуляторов приводов и других специальных программ. Обычно виртуальный образ имеет формат ISO, но в некоторых случаях встречаются и BIN. Воспользуйтесь указанной ниже ссылкой, чтобы перейти к статье по теме открытия и установки BIN на компьютер, чтобы детально изучить эту тему и справиться с поставленной задачей.
Подробнее: Установка файла формата BIN
Вариант 2: Видеоплееры
Просмотр видеоконтента в операционной системе осуществляется при помощи видеоплеера. В Windows присутствует стандартный проигрыватель, но у него нет специальных кодеков и вовсе не предназначен для того, чтобы открыть фильм, сохраненный в формате BIN. Вы можете распознать, что внутри такого файла хранится именно видео только по его размеру, он будет достаточно большим даже при короткой длительности самого встроенного ролика. Разберем процесс открытия такого типа данных при помощи известного плеера под названием VLC:
Скачать VLC Media Player
- Запустите программу и сразу разверните всплывающее меню «Медиа».
- Выберите пункт «Открыть файл».
- Ожидайте появление нового окна Проводника, где выберите сам BIN-файл.
- Если воспроизведение началось, значит софт был выбран правильно. В случае появления на экране ошибки потребуется искать другой способ чтения объекта.
Если VLC Player по каким-либо причинам вам не подходит, вы можете выбрать практически любой подобный проигрыватель, например, KMPlayer. С полным списком такого ПО советуем ознакомиться в отдельном нашем материале далее.
Читайте также: Программы для просмотра видео на компьютере
Вариант 3: Эмуляторы Atari
Компания Atari занималась производством фирменных приставок и игр для них еще в далеких 80-х годах прошлого века. До нашего времени дошли практически все их игровые проекты, что позволяет запускать их на компьютерах. Все игры, разработанные специально для Atari-800 и последующих версий, как раз и имеют формат BIN. Определить их можно по соответствующему названию и небольшому объему. Для корректного запуска потребуется скачать подходящий эмулятор, что осуществляется следующим образом:
Скачать эмулятор Atari с официального сайта
- Перейдите по ссылке выше на англоязычный сайт, занимающийся выпуском различных эмуляторов. Там перейдите в раздел «Emulators».
- В списке отыщите Atari и скачайте одну из версий либо же их все сразу, чтобы проверить работоспособность имеющегося файла везде.
- Выберите подходящую версию, начните загрузку, а по завершении откройте архив.
- Устанавливать эмулятор не требуется, просто запустите имеющийся в архиве исполняемый файл.
- Там перейдите к запуску образа игры, щелкнув по кнопке «Boot Image».
- В обозревателе выберите соответствующий файл.
- Игра сразу начнется, если в качестве объекта BIN все же выступает образ игры от Atari.

Вариант 4: Текстовые редакторы
Если файл типа BIN был расположен в папке с какой-либо программой либо носит название, относящееся к известному вам софту, скорее всего, он содержит в себе формат двоичного кода, исполняемого в определенный момент. Доступен к просмотру он через любой текстовый редактор. Для открытия вам следует:
- Нажать правой кнопкой мышки по элементу и выбрать пункт «Открыть с помощью».
- Выбрать в списке любой удобный текстовый редактор, например стандартный Блокнот, и нажать на «ОК».
- После этого просмотрите содержимое. Некоторые программы могут не поддерживать используемую кодировку, поэтому вместо нормальных символов отобразятся иероглифы.

Читайте также: Текстовые редакторы для Windows
Дополнительно следует отметить, что файлы прошивок для различных роутеров или другого оборудования тоже имеют формат BIN. Они не предназначены для открытия на компьютере и загружаются непосредственно в программное обеспечение устройства. С примером прошивки маршрутизатора через BIN мы предлагаем ознакомиться, перейдя по следующей ссылке.
Читайте также: Прошиваем роутер D-Link DIR-620
В статье мы не упомянули еще множество отраслей использование файлов рассмотренного формата, однако большинство из них не открывается программно или же вообще предназначено для других операционных систем. В рамках сегодняшнего материала были рассмотрены только самые популярные применения BIN.
























