Перейти к содержимому
Zone of Games Forum
LinXP

Kaitai Struct

Рекомендованные сообщения

e9ad65a2173d.png


Проект Kaitai представил первый публичный релиз спецификации парсинга произвольных бинарных файлов и инструментария к нему: Kaitai Struct 0.2. Kaitai Struct предлагается использовать в качестве формального описания любых бинарных форматов.

Формат описывается в виде файла .ksy (который представляет собой YAML специального вида), который можно не только использовать в качестве документации, но и сразу же скомпилировать с помощью специального компилятора (ksc). На выходе компилятора — исходные коды библиотеки на одном из поддерживаемых языков, которая автоматически будет выполнять парсинг описанного в .ksy формата. Первый публичный релиз поддерживает Java, JavaScript, Python, Ruby, ожидается поддержка C, C++ и C#.

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

Целевая область применения подобных решений — быстрая разработка кросс-платформенных, кросс-языковых реализаций парсеров бинарных форматов, реверс-инжиниринг бинарных форматов, создание единой базы знаний о применяемых в тех или иных областях знаний бинарных форматах.

Ближайшие аналоги такого подхода — система диссекторов в Wireshark, ряд проприетарных hex-редакторов (таких, как 010 Editor, Synalysis, Hexinator), система шаблонизации в Okteta (но все они занимаются лишь описанием и визуализацией, а не парсингом как таковым) и ряд библиотек для одиночных языков, например Preon для Java или jBinary для JavaScript.

Офф сайт: http://kaitai.io/
GitHub: https://github.com/kaitai-io
Реверс-инжиниринг визуальных новелл https://habrahabr.ru/post/281595/ Изменено пользователем LinXP

Поделиться сообщением


Ссылка на сообщение

Довольно интересный проект. Правда не удалось запустить визуализатор, но идея хороша по созданию базы структур... Хочу научить ее создавать код для Delphi он мне интереснее, чем те, что дает автор ) Библиотеку создал на ~80% и теперь больше на компиляцию кода уйдет времени...

Поделиться сообщением


Ссылка на сообщение

@SileNTViP фигасе, они онлайн редактор запилили https://ide.kaitai.io/ :astonished:

зы: к делфям уже прикрутил?

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас



Zone of Games © 2003–2024 | Реклама на сайте.

×