
Прошивка — инструмент анализа
Binwalk — это быстрый и простой в использовании инструмент для анализа, реверс-инжиниринга и извлечения образов прошивок.
Этот форк был создан для исправления некоторых нерешённых проблем binwalk v2 и в целом для поддержания его в хорошем состоянии. Он выполнил свою задачу, помогая как пользователям, так и сопровождающим дистрибутивов. Однако, учитывая, что оригинальный автор недавно переписал binwalk на Rust и снова активно развивает проект, необходимость поддерживать binwalk v2 отпала. Пользователям и контрибьюторам следует перейти на binwalk v3. Эта новая версия также предоставляет библиотеку на Rust, см. https://github.com/ReFirmLabs/binwalk/wiki/Using-the-Rust-Library.
В связи с этим срок поддержки этого репозитория фактически истекает 12.12.2025, после чего репозиторий может быть заархивирован или удалён.
Это форк оригинального кода от ReFirmLabs. Данный форк поддерживается сообществом, и между сопровождающими этого форка и оригинальными авторами или оригинальной компанией нет никакой связи (хотя мы очень ценим их работу).
Если вы хотите внести свой вклад, не стесняйтесь открывать issue, pull request или даже просить добавить вас в репозиторий для помощи с ревью и слиянием PR.
Существует хорошо поддерживаемая альтернатива под названием unblob. Согласно некоторым отчётам, у неё лучшие возможности извлечения (она способна извлекать больше данных и быстрее). Недостатком является то, что она определяет не так много типов файлов, как binwalk. Ещё одним важным отличием является количество зависимостей: в то время как binwalk не требует каких-либо зависимостей (они опциональны), unblob зависит почти от 20 пакетов.
До версии Binwalk v2.3.3 извлекаемые архивы могли создавать символические ссылки, указывающие в любую точку файловой системы, что потенциально могло привести к атаке с обходом каталогов, если последующие утилиты извлечения слепо следовали по этим символическим ссылкам. В более общем смысле, Binwalk использует множество сторонних утилит извлечения, которые могут иметь неисправленные проблемы безопасности; Binwalk v2.3.3 и более поздние версии позволяют запускать внешние инструменты извлечения от имени непривилегированного пользователя с помощью опции командной строки run-as (для этого требуется, чтобы сам Binwalk запускался с правами root). Кроме того, Binwalk v2.3.3 и более поздние версии откажутся выполнять извлечение от имени root, если не указано --run-as=root.
Больше информации на Wiki