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

Поскольку Grails v2.1.2 не поддерживает java8. Поддержка Java8 доступна с 2.4.x и далее.

Ссылка # GRAILS-11063

77
задан Mat 29 January 2009 в 18:13
поделиться

4 ответа

Вот некоторые подсказки, которые приходят на ум:

На основе моего опыта, интерактивные языки сценариев (я использую Python) могут быть большой справкой. Можно записать простую платформу для контакта с двоичными потоками и некоторыми простыми алгоритмами. Затем можно записать сценарии, которые возьмут двоичный файл и проверят различные вещи. Например:

Делают некоторый статистический анализ различных частей. Случайные данные, например, скажут Вам, что эта часть, вероятно, сжимается/шифруется. Нули могут означать дополнять между частями. Рассеянные нули могут означать целочисленные значения или строки Unicode и так далее. Попытайтесь определить различные смещения. Попытайтесь преобразовать части двоичного файла в 2-или 4-байтовые целые числа или в плавания, распечатать их и видеть, делают ли они с тех пор. Запишите некоторые функции, которые будут искать повторение или очень похожие части в данных, этот способ, которым можно легко определить заголовки.

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

Удачи!

22
ответ дан Untrots 6 November 2019 в 03:46
поделиться

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

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

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

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

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

Ссылка: iBored домашняя страница

7
ответ дан Thomas Tempelmann 6 November 2019 в 03:46
поделиться

Я все еще иногда использую старый Hex-редактор по имени A.X.E., Усовершенствованный Hex-редактор. Это, кажется, в основном исчезло из Интернета теперь, хотя Google должен все еще быть в состоянии найти его для Вас. Последняя версия, о которой я знаю, была версией 3.4, но я действительно только использовал free-for-personal-use версию 2.1.

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

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

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

6
ответ дан mercator 6 November 2019 в 03:46
поделиться

Тупни ; насколько мне известно, не доступен напрямую из Microsoft Research, но есть статья об этом инструменте, которая может быть интересна тем, кто хочет написать аналогичную программу (возможно, с открытым исходным кодом):

Tupni: Автоматический обратный инжиниринг входных форматов ( @ цифровая библиотека ACM )

Аннотация

Недавняя работа установила важность автоматического реверса разработка спецификаций протокола или формата файла. Тем не менее форматы, реконструированные предыдущими инструментами, пропустили важные информация, которая важна для приложений безопасности. В этом документ, мы представляем Tupni, инструмент, который может реконструировать ввод формат с богатым набором информации, включая последовательности записей, типы записей и ограничения ввода. Тупни может обобщить формат спецификация для нескольких входов. Мы реализовали прототип Tupni и оценил его в 10 различных форматах: пять форматы файлов (WMF, BMP, JPG, PNG и TIF) и пять сетевых протоколы (DNS, RPC, TFTP, HTTP и FTP). Тупни опознал все записывать последовательности в тестовые входы. Мы также показываем, что путем агрегирования над несколькими файлами WMF Tupni может получить более полную спецификация формата для WMF. Кроме того, мы демонстрируем полезность Tupni за счет использования обширной информации, которую он предоставляет для нулевого дня создание сигнатуры уязвимости, что было невозможно с предыдущие инструменты обратного проектирования.

10
ответ дан 24 November 2019 в 11:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: