Как распаковать сырый двоичный файл загрузочного сектора DOS/MBR

Вопрос или проблема

Как распаковать файл .bin, содержащий загрузочный сектор DOS/MBR. Я запустил binwalk и он показал мне (примерные) местоположения данных и их типы. Вывод команды file:

chromeos_15393.58.0_reven_recovery_stable-channel_mp-v2.bin: загрузочный сектор DOS/MBR; раздел 1: ID=0xc, активный, начальный-CHS (0x16,176,27), конечный-CHS (0x1e,216,58), начальный сектор 364544, 131072 секторов; раздел 2: ID=0xee, начальный-CHS (0x0,0,2), конечный-CHS (0x0,0,2), начальный сектор 1, 1 сектор

Исходя из этой информации, я понял, что это загрузочный сектор, но где файлы и как их получить. Для справки, это ChromeOS на основе Android (а Android основан на Linux), ZIP с .bin находится здесь.

Ответ или решение

Чтобы распаковать файл, содержащий загрузочный сектор DOS/MBR, вам потребуется несколько инструментов и шагов. В этом ответе я постараюсь объяснить процесс подробно.

Шаги для распаковки файла загрузочного сектора

  1. Используйте инструмент binwalk: Вы уже использовали binwalk, что является правильным первым шагом. Этот инструмент анализирует двоичные файлы и определяет возможные структуры файловых систем и встроенные файлы. Вы можете использовать следующую команду для дальнейшего анализа:

    binwalk -e chromeos_15393.58.0_reven_recovery_stable-channel_mp-v2.bin

    Опция -e (или --extract) попытается извлечь найденные файлы и сохранить их в специальную директорию.

  2. Проверьте результаты выполнения binwalk: После выполнения команды вы должны увидеть, что в текущей директории появится новая папка, например, chromeos_15393.58.0_reven_recovery_stable-channel_mp-v2.bin.extracted, в которой будут расположены извлеченные файлы и информация о них.

  3. Работа с разделами: Из вывода команды file видно, что в вашем .bin файле есть два раздела. Первый раздел (ID=0xc) является активным, а второй (ID=0xee) — это конечный раздел (обычно зарезервирован для информации о разделе):

    • Первый раздел (ID=0xc): содержит файловую систему. Необходимо извлечь его содержимое, чтобы получить доступ к файлам.
    • Второй раздел (ID=0xee): обычно содержит информацию о загрузке, и его извлечение не всегда необходимо.
  4. Использование dd для извлечения первого раздела: Вы можете использовать команду dd, чтобы извлечь данные из первого раздела. Для этого вам нужно будет указать смещение (startsector) и размер (количество секторов):

    dd if=chromeos_15393.58.0_reven_recovery_stable-channel_mp-v2.bin of=partition1.img bs=512 skip=364544 count=131072

    Здесь if — это входной файл, of — файл для выхода (в котором будет содержимое первого раздела), bs=512 — размер блока, skip=364544 — это смещение в секторах, а count=131072 — количество секторов для извлечения.

  5. Анализ извлеченного раздела: После того как вы создали файл partition1.img, можно использовать binwalk для анализа и извлечения его содержимого:

    binwalk -e partition1.img
  6. Извлечение файлов: После выполнения этой команды вы должны увидеть, что файлы в разделе были успешно извлечены в соответствующую директорию. Перейдите в созданную папку и проверьте доступные вам файлы.

Заключение

Теперь вы должны иметь возможность получить доступ ко всем файлам из исходного .bin файла, содержащего загрузочный сектор DOS/MBR. Если возникнут дополнительные вопросы по ходу работы, не стесняйтесь спрашивать. Успехов!

Оцените материал
Добавить комментарий

Капча загружается...