URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 122148
[ Назад ]

Исходное сообщение
"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"

Отправлено opennews , 19-Окт-20 10:01 
Представлен новый выпуск Kaitai Struct 0.9, декларативного языка разметки для описания различных бинарных структур данных — бинарных форматов файлов, архивов, сетевых пакетов, файловых систем, изображений, видео и т.п. Код компилятора Kaitai Struct  распространяется под лицензией GPLv3, а библиотек под лицензиями MIT и Apache 2.0...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=53912


Содержание

Сообщения в этом обсуждении
"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено uis , 19-Окт-20 10:01 
Интересный проект. Тыкал кто?

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено EndrII , 19-Окт-20 10:03 
дно, мне не зашло

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено JL2001 , 19-Окт-20 15:00 
> дно, мне не зашло

больше подробностей в студию


"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Анан , 19-Окт-20 10:05 
использовал для распаковки архива ресурсов от игры, нормально

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено uis , 19-Окт-20 10:14 
Реверсил формат?

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено anonymous , 19-Окт-20 10:48 
Kaitai может только распаковку, обратную упаковку не умеет, для меня это была критическая проблема. Использую Construct, у которого нет проблем с сериализацией/десериализацией.

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 14:22 
А что за Construct?

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 22:35 
Прямо в тексте новости же написано:

>Поддержка новых целей:
>    Python с библиотекой Construct.


"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Lex , 19-Окт-20 10:50 
для этого же есть штуки вроде Dragon Unpacker..

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено JL2001 , 19-Окт-20 15:03 
> для этого же есть штуки вроде Dragon Unpacker..

ipf (от tos) мне распакует?


"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено JL2001 , 19-Окт-20 15:05 
> для этого же есть штуки вроде Dragon Unpacker..

grf от ragnarok понимает? и формат моделей карт?


"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 10:07 
Чем лучше/хуже protobuf?

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 10:10 
теплое vs мягкое

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 10:20 
Объясните, для тупых, плз. А то я и там и там вижу свой ЯП для задания структур данных, сериализацию и т.п.

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 10:25 
в протобуфе фиксированный стандартный формат (пусть и в каждой версии свой). сабж - позволяет описать любой формат (собственно, для этого он и сделан)

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 10:26 
тогда и надо спрашивать про разницу, а не "хуже" "лучше"

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 10:43 
Protocol Buffers - для обмена сообщениями между программами с экономией места на сериализации и версионированием API.
Kaitai Struct - это когда тебе в твоём языке позарез нужно распарсить какой-то формат, а готовой библиотеки нет. Можно долго нудно вручную писать и отлаживать парсер. А можно взять и специфицировать его на Kaitai Struct. После этого компилятор парсер сгенерирует сам. Потом ты решишь, что питон оказался слишком медленным и что надо переписать на rust. Парсер тебе переписывать не придётся - просто перетранспилируешь на раст.

А ещё у нас есть библиотека готовых форматов, так что в некоторых случаях и писать спеку не придётся.


"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Lex , 19-Окт-20 10:49 
Ответ норм, но ИМХО, что-то более-менее серьезное( особенно когда речь о данных, которые могут быть либо битыми, либо - заведомо-некорректно сформированными, т.е практически любые, приходящие со стороны пользователя ) этой штукой рискованно генерировать.
Такого нагенерирует, что на написание всевозможных тестов и проч, скорее всего, не меньше времени уйдет, чем на написание норм парсера.

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 11:14 
Это как раз одно из достоинств - с битыми форматами эта штука справляется автоматически. Человек может забыть написать проверку, а тут проверки встроены в рантайм. Правда есть у kaitai ии минусы
1. теряется производительность
2. жор памяти
3. раскладка структур по сырой памяти (такой как отображённый в память файл) пока не реализована
4. опасаюсь целочисленных переполнений. Правда в написанных руками парсерах тоже редко где такое проверяется.

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 14:24 
> Такого нагенерирует, что на написание всевозможных тестов и проч, скорее всего, не меньше времени уйдет, чем на написание норм парсера.
>> Обеспечена генерация тестов из KST-спецификаций, одних и тех же для всех языков.

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 10:49 
Спасибо за развёрнутый ответ.

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 10:31 
Вообще разные назначения же.

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 11:01 
Мне почему то захотелось написать свой велосипед на тему проекта

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено nomad__ , 19-Окт-20 11:05 
Интересно, интересно... Сайт проекта - в закладки, авось пригодится когда.

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 12:05 
Катай Структуры

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 20-Окт-20 19:48 
Катай структуры не отходя от кассы!

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Иваня , 19-Окт-20 13:58 
Чот забыл про него, когда-то добавил его в закладки, над попробовать, спасиб, что напомнили

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Lemko , 19-Окт-20 19:09 
Может у Вас у библиотеке форматов modbus есть. Был бы примного благодарен.

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 19-Окт-20 22:50 
Нет у нас в библиотеке. Но в инете есть пост в блоге, что у кого-то есть. Свяжись с ними и попроси поделиться спекой.

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 20-Окт-20 06:39 
Недавно использовал его, и как раз думал, что что-то давно о нём не было новостей на опеннете. Продолжайте, успехов вам.

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Додо , 20-Окт-20 07:56 
Отличная штука для парсинга файлов. Есть куча готовых описаний форматов.
Из минусов:
- сложно читать код формата, если он довольно объемный (модульность какую-то прикрутили бы, что ли? хотя пользовался давно, может уже и есть, не в курсе);
- описания местами получаются избыточными, но это минус небольшой и зависит от формата файла.
По поводу того, что он не умеет в сериализацию, так она не всегда и нужна.

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 20-Окт-20 10:08 
>модульность какую-то прикрутили бы, что ли? хотя пользовался давно, может уже и есть, не в курсе);

Есть модульность.


"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено мяя , 20-Окт-20 13:32 
Далеко там в планах обратная запаковка?

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 20-Окт-20 18:43 
Самый важный вопрос!

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 20-Окт-20 23:43 
Пока не напишешь - не будет. Некие зачатки уже есть, для полноценной реализации нужен символический решатель на основе SMT-решателя. Читай соответствующyю issue. Без питона это вряд ли будет, потому что Scala - это ужас-ужас-ужас.

"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Отправлено Аноним , 28-Фев-21 15:43 
А дельфи-паскаль структуру данных можно им разобрать?