The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск языка описания бинарных форматов Kaitai Struct 0.9"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

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

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от uis (ok), 19-Окт-20, 10:01   –1 +/
Интересный проект. Тыкал кто?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2, #3

2. Сообщение от EndrII (?), 19-Окт-20, 10:03   –15 +/
дно, мне не зашло
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #23

3. Сообщение от Анан (?), 19-Окт-20, 10:05   +5 +/
использовал для распаковки архива ресурсов от игры, нормально
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #6, #12, #15

4. Сообщение от Аноним (4), 19-Окт-20, 10:07   –1 +/
Чем лучше/хуже protobuf?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #5, #10

5. Сообщение от Аноним (5), 19-Окт-20, 10:10   +4 +/
теплое vs мягкое
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #7

6. Сообщение от uis (ok), 19-Окт-20, 10:14   –1 +/
Реверсил формат?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

7. Сообщение от Аноним (4), 19-Окт-20, 10:20   +1 +/
Объясните, для тупых, плз. А то я и там и там вижу свой ЯП для задания структур данных, сериализацию и т.п.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #8, #9, #11

8. Сообщение от Аноним (5), 19-Окт-20, 10:25   +1 +/
в протобуфе фиксированный стандартный формат (пусть и в каждой версии свой). сабж - позволяет описать любой формат (собственно, для этого он и сделан)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

9. Сообщение от Аноним (5), 19-Окт-20, 10:26   +1 +/
тогда и надо спрашивать про разницу, а не "хуже" "лучше"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

10. Сообщение от Аноним (10), 19-Окт-20, 10:31   +1 +/
Вообще разные назначения же.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #13, #14

12. Сообщение от anonymous (??), 19-Окт-20, 10:48   +4 +/
Kaitai может только распаковку, обратную упаковку не умеет, для меня это была критическая проблема. Использую Construct, у которого нет проблем с сериализацией/десериализацией.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #21

13. Сообщение от Lex (??), 19-Окт-20, 10:49   –2 +/
Ответ норм, но ИМХО, что-то более-менее серьезное( особенно когда речь о данных, которые могут быть либо битыми, либо - заведомо-некорректно сформированными, т.е практически любые, приходящие со стороны пользователя ) этой штукой рискованно генерировать.
Такого нагенерирует, что на написание всевозможных тестов и проч, скорее всего, не меньше времени уйдет, чем на написание норм парсера.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #18, #22

14. Сообщение от Аноним (4), 19-Окт-20, 10:49   +1 +/
Спасибо за развёрнутый ответ.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

15. Сообщение от Lex (??), 19-Окт-20, 10:50   –3 +/
для этого же есть штуки вроде Dragon Unpacker..
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #24, #25

16. Сообщение от Аноним (16), 19-Окт-20, 11:01   +/
Мне почему то захотелось написать свой велосипед на тему проекта
Ответить | Правка | Наверх | Cообщить модератору

17. Сообщение от nomad__email (ok), 19-Окт-20, 11:05   +/
Интересно, интересно... Сайт проекта - в закладки, авось пригодится когда.
Ответить | Правка | Наверх | Cообщить модератору

18. Сообщение от Аноним (27), 19-Окт-20, 11:14   +3 +/
Это как раз одно из достоинств - с битыми форматами эта штука справляется автоматически. Человек может забыть написать проверку, а тут проверки встроены в рантайм. Правда есть у kaitai ии минусы
1. теряется производительность
2. жор памяти
3. раскладка структур по сырой памяти (такой как отображённый в память файл) пока не реализована
4. опасаюсь целочисленных переполнений. Правда в написанных руками парсерах тоже редко где такое проверяется.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

19. Сообщение от Аноним (19), 19-Окт-20, 12:05   +3 +/
Катай Структуры
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #34

20. Сообщение от Иваня (?), 19-Окт-20, 13:58   +1 +/
Чот забыл про него, когда-то добавил его в закладки, над попробовать, спасиб, что напомнили
Ответить | Правка | Наверх | Cообщить модератору

21. Сообщение от Аноним (21), 19-Окт-20, 14:22   +2 +/
А что за Construct?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #27

22. Сообщение от Аноним (21), 19-Окт-20, 14:24   +2 +/
> Такого нагенерирует, что на написание всевозможных тестов и проч, скорее всего, не меньше времени уйдет, чем на написание норм парсера.
>> Обеспечена генерация тестов из KST-спецификаций, одних и тех же для всех языков.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

23. Сообщение от JL2001 (ok), 19-Окт-20, 15:00   +2 +/
> дно, мне не зашло

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

24. Сообщение от JL2001 (ok), 19-Окт-20, 15:03   +1 +/
> для этого же есть штуки вроде Dragon Unpacker..

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

25. Сообщение от JL2001 (ok), 19-Окт-20, 15:05   +1 +/
> для этого же есть штуки вроде Dragon Unpacker..

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

26. Сообщение от Lemkoemail (?), 19-Окт-20, 19:09   +2 +/
Может у Вас у библиотеке форматов modbus есть. Был бы примного благодарен.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #28

27. Сообщение от Аноним (27), 19-Окт-20, 22:35   +/
Прямо в тексте новости же написано:

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

28. Сообщение от Аноним (27), 19-Окт-20, 22:50   +/
Нет у нас в библиотеке. Но в инете есть пост в блоге, что у кого-то есть. Свяжись с ними и попроси поделиться спекой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

29. Сообщение от Аноним (29), 20-Окт-20, 06:39   +1 +/
Недавно использовал его, и как раз думал, что что-то давно о нём не было новостей на опеннете. Продолжайте, успехов вам.
Ответить | Правка | Наверх | Cообщить модератору

30. Сообщение от Додо (?), 20-Окт-20, 07:56   +/
Отличная штука для парсинга файлов. Есть куча готовых описаний форматов.
Из минусов:
- сложно читать код формата, если он довольно объемный (модульность какую-то прикрутили бы, что ли? хотя пользовался давно, может уже и есть, не в курсе);
- описания местами получаются избыточными, но это минус небольшой и зависит от формата файла.
По поводу того, что он не умеет в сериализацию, так она не всегда и нужна.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #31

31. Сообщение от Аноним (27), 20-Окт-20, 10:08   +/
>модульность какую-то прикрутили бы, что ли? хотя пользовался давно, может уже и есть, не в курсе);

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

32. Сообщение от мяя (?), 20-Окт-20, 13:32   +1 +/
Далеко там в планах обратная запаковка?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #33, #35

33. Сообщение от Аноним (33), 20-Окт-20, 18:43   +/
Самый важный вопрос!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

34. Сообщение от Аноним (34), 20-Окт-20, 19:48   +/
Катай структуры не отходя от кассы!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

35. Сообщение от Аноним (27), 20-Окт-20, 23:43   +1 +/
Пока не напишешь - не будет. Некие зачатки уже есть, для полноценной реализации нужен символический решатель на основе SMT-решателя. Читай соответствующyю issue. Без питона это вряд ли будет, потому что Scala - это ужас-ужас-ужас.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

36. Сообщение от Аноним (36), 28-Фев-21, 15:43   +/
А дельфи-паскаль структуру данных можно им разобрать?
Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру