# 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