# Synalyze it! ### Hex-редактор Для начала необходимо разобраться, что это такое hex-редакторы и зачем они нужны. Вся информация на ПК и других носителях хранится в бинарном виде. HEX редакторы позволяют просматривать любой файл (даже логический диск или часть логического диска (например загрузочный сектор, или таблицу файлов)) машинном уровне. Но для удобства, вместо полотна единиц и нулей, hex-редакторы отображают информацию в шестнадцатеричном виде. Synalyze it - это один из hex-редакторов. Он поддерживает множество текстовых кодовых страниц, позволяет находить не только текст, но и числа, маски или все строки в файле. Но что действительно отличает его от всех других шестнадцатеричных редакторов - это поддержка грамматик. У каждого бинарного файла есть макет(layout), который позволяет определенным приложениям читать и интерпретировать их. Эти макеты называются грамматиками в Synalyze It! из-за сходства со строением человеческих языков. Файлы грамматики хранятся в виде простых XML-файлов и описывают все структуры и поля данных, содержащие определенные форматы Гораздо проще проводить проводить анализ бинарных файлов. Многие грамматики уже существуют на http://www.synalysis.net/formats.xml. #### Synalyze It! позволяет: • Отображать и редактировать файлы неограниченного размера • Анализировать неизвестные двоичные форматы файлов • Применять созданную вами грамматику к любому похожему файлу • Сравнивать последовательности байтов в различных текстовых кодировках • Просматривать на гистограмме, как часто разные байты встречаются в файле • Получить список всех строк в файле • Pro версия позволяет писать собственные процедуры Python, которые обрабатывают результаты cинтаксического анализа, импортируют, экспортируют или заполняют пробелы общего синтаксического анализатора. ### Установка: 1. Через AppStore 2. https://www.synalysis.net/ 3. ~/Library/Containers/com.synalyze-it.SynalyzeItPro/Data/Library /Application Support/Synalyze It! Pro/Grammars ### Работа приложения: При открытии файла, открывается шестнадцатеричный дамп и текстовое представление байтов. Функции редактирования работают как и в текстовом редакторе - можно перезаписывать, вставлять и удалять байты, выделять и копировать байты или текст в буфер обмена и т.д.. Большая часть внешнего вида может быть настроена, например, цвета, положение и форматы выбранных номеров. Существует множество текстовых кодировок, которые можно выбрать для декодирования текста в кодировке ASCII, Unicode или EBCDIC, которые до сих пор используются в системах IBM, таких как z/OS, или в таких форматах, как IJPDS. Существует первичный и вторичный выбор для шестнадцатеричных байтов и текста. По умолчанию первичный выбор отображается более темным синим цветом, чем вторичный выбор. Содержимое основного выделения отображается в таблице под шестнадцатеричным редактором и копируется в буфер обмена при нажатии Cmd+C (копировать) или Cmd+X (вырезать). Переключайтесь между выделениями с помощью клавиши Tab и переключайте режим вставки/перезаписи с помощью Cmd+K. Контекстное меню шестнадцатеричного представления позволяет искать в файле, сравнивать текст в разных кодировках или сохранять выбранные байты на диск. Версия Pro дополнительно позволяет заполнять выделение текстом или байтами. После того, как вы выбрали грамматику для файла на панели инструментов, окно разделится, и в правой части вы увидите результаты синтаксического анализа. Контекстное окно шестнадцатеричного представления теперь предлагает несколько дополнительных опций: вы можете добавить новый элемент или структуру в грамматику и связать шестнадцатеричное представление с представлением результатов. Это означает, что где бы вы ни щелкнули в шестнадцатеричном представлении, соответствующий результат будет быть выбран с правой стороны. Результаты синтаксического анализа не только отображаются, вы можете редактировать значения, и они будут переведены обратно в файл. Для всех правок в файле доступно неограниченное количество отмен и повторов. Версия Pro предоставляет больше возможностей для работы с результатами парсинга. Вы можете сохранить их в виде XML или текстового файла и даже обработать их с помощью специального скрипта. Доступны некоторые образцы скриптов на http://synalysis.net/scripts.html. ### Ссылка на гайд https://truepolyglot.hackade.org/samples/pdfzip/poc6/hexinator.pdf