[binary] Инструменты, помогающие преобразовывать двоичные форматы файлов



Answers

Для Mac OS X есть новый отличный инструмент, который даже лучше, чем мой iBored: Synaliyze It! ( http://www.synalysis.net/ )

По сравнению с iBored , он лучше подходит для незаблокированных файлов, а также обеспечивает полный контроль над структурами, включая возможности сценариев (с Lua). И он также визуализирует структуры.

Question

Какие инструменты доступны для облегчения декодирования неизвестных форматов двоичных данных?

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

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

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




Отрицательная ответная реакция на подобный вопрос:

Одним из инструментов является WinOLS , который предназначен для интерпретации и редактирования двоичных изображений компьютера с управлением двигателем автомобиля (в основном числовые данные в их таблицах поиска). Он поддерживает различные форматы endian (хотя и не PDP, я думаю), и просмотр данных различной ширины и смещения, определение областей массива (карт) и визуализации их в 2D или 3D со всеми видами масштабирования и смещения. Он также имеет эвристический / статистический автоматический поиск карт, который может сработать для вас.

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




Существует Hachoir который является библиотекой Python для разбора любого двоичного формата в полях, а затем просматривает поля. В нем много парсеров для общих форматов, но вы также можете писать собственные парсеры для своих файлов (например, при работе с кодом, который читает или записывает двоичные файлы, я обычно пишу анализатор Hachoir сначала, чтобы получить отладочную помощь). Похоже, проект в настоящее время неактивен.




Мой собственный инструмент «iBored», который я выпустил совсем недавно, может сделать часть этого. Я написал инструмент для визуализации и отладки форматов файловой системы (UDF, HFS, ISO9660, FAT и т. Д.) И реализовал поиск, копирование, а затем даже поддержку структуры и шаблонов. Поддержка структуры довольно проста, а шаблоны - способ динамического определения структур.

Все это программируется на диалекте Visual BASIC, позволяя вам проверять значения, читать определенные блоки и все.

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

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

Я даже открыл исходный код, но, как написано в REALbasic , я сомневаюсь, что многие люди присоединятся к такому проекту.

Ссылка: iBored




Related