|
![]() |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +1 +/– | ![]() |
Сообщение от opennews (??) on 09-Авг-16, 23:39 | ||
Поле четырёх месяцев разработки доступен релиз инструментария хKaitai Struct 0.4 (http://kaitai.io/) - языка для описания форматов сериализации произвольных бинарных структур данных. Идея Kaitai Struct заключается в том, что формат данных описывается с помощью простого декларативного языка на основе YAML, а затем это описание можно скомпилировать в готовый код парсера на любом из поддерживаемых языков. Для облегчения отладки предлагается визуализатор, в котором можно наблюдать, как сериализованная в файле структура раскладывается в дерево взаимосвязанных объектов в соответствии с описанием. | ||
Ответить | Правка | Cообщить модератору |
Оглавление |
Сообщения по теме | [Сортировка по времени | RSS] |
1. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | ![]() |
Сообщение от Аноним (??) on 09-Авг-16, 23:39 | ||
А это для чего вообще? | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
![]() | ||
2. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +2 +/– | |
Сообщение от A.Stahl (ok) on 09-Авг-16, 23:47 | ||
Для создания парсеров. | ||
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору |
![]() | ||
5. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +4 +/– | |
Сообщение от kai3341 (ok) on 10-Авг-16, 09:50 | ||
Допустим, Вы столкнулись с исследованием работы какого-то бинарного говна^W формата. Например, я сталкиваюсь с исследованием бинарного протокола обмена данными. Так вот, собственный парсер на этапе исследования можно не писать, а задействовать этот проект. | ||
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору |
![]() | ||
9. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | |
Сообщение от GreyCat (ok) on 10-Авг-16, 13:05 | ||
Да, в общем, и дальше, уже после исследования можно не писать - для этого проект и делался - просто сгенерировать из описания и использовать как есть. | ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
![]() | ||
10. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | |
Сообщение от dq0s4y71 (ok) on 10-Авг-16, 13:19 | ||
Ну, для _исследования_ форматов есть WireShark, а эта штука нужна, когда формат уже известен и нужно быстро сделать парсер для него. Приходилось делать нечто подобное для парсинга сообщений CAN, только выхлоп у меня был на Си... | ||
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору |
![]() | ||
11. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +1 +/– | |
Сообщение от GreyCat (ok) on 10-Авг-16, 13:22 | ||
> Ну, для _исследования_ форматов есть WireShark, а эта штука нужна, когда формат | ||
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору |
6. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +2 +/– | ![]() |
Сообщение от Аноним (??) on 10-Авг-16, 10:18 | ||
Это супер тема! Очень удобно, например, при разборе BLOB-ов проприетарщиков. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
![]() | ||
7. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +2 +/– | ![]() |
Сообщение от Аноним (??) on 10-Авг-16, 11:45 | ||
Тема конечно супер... при условии наличия готового описания интересующего формата. | ||
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору |
![]() | ||
8. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +1 +/– | ![]() |
Сообщение от Аноним (??) on 10-Авг-16, 12:43 | ||
Конечно вы правы, но кто ж вам эту инфу даст? | ||
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору |
12. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +1 +/– | |
Сообщение от dq0s4y71 (ok) on 10-Авг-16, 13:25 | ||
1) Понимает ли эта штука форматы, изменяющиеся в зависимости, например, от идентификатора в пакете данных? | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
![]() | ||
13. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +1 +/– | |
Сообщение от GreyCat (ok) on 10-Авг-16, 13:27 | ||
> 1) Понимает ли эта штука форматы, изменяющиеся в зависимости, например, от идентификатора | ||
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору |
![]() | ||
14. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | |
Сообщение от dq0s4y71 (ok) on 10-Авг-16, 13:40 | ||
То есть с ним идёт ещё какая-то библиотека существующих форматов? | ||
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору |
![]() | ||
15. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +3 +/– | |
Сообщение от GreyCat (ok) on 10-Авг-16, 13:42 | ||
> То есть с ним идёт ещё какая-то библиотека существующих форматов? | ||
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору |
![]() | ||
16. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | |
Сообщение от dq0s4y71 (ok) on 10-Авг-16, 14:09 | ||
Ну, protocol buffers, насколько я понимаю, тоже может такие форматы разбирать, меня интересовало, какие преимущества здесь даёт ваша программа. | ||
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору |
![]() | ||
17. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +3 +/– | |
Сообщение от GreyCat (ok) on 10-Авг-16, 14:18 | ||
> Ну, protocol buffers, насколько я понимаю, тоже может такие форматы разбирать, меня | ||
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору |
![]() | ||
18. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | |
Сообщение от dq0s4y71 (ok) on 10-Авг-16, 14:37 | ||
ок, спасибо. | ||
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору |
![]() | ||
28. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | |
Сообщение от nuclight (??) on 11-Авг-16, 21:09 | ||
Нет, тут немножко в кучу смешалось. Формат protobuf - не самоописываемый. Формат protobuf из приведенного списка эквивалентен ASN.1 - для того, чтобы полноценно пропарсить бинарное сообщение, получателю необходимо иметь описание формата - несмотря на то, что типы и длины в потоке указаны, имен там нет. Упрощенный пример - пришли в пакете два числа, строка, массив из трех чисел? Что это такое, что куда? Вы заранее не знаете, если не согласовать это в парсере - именно за этим компилятор protobuf-языка | ||
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору |
![]() | ||
29. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | |
Сообщение от GreyCat (ok) on 12-Авг-16, 11:03 | ||
JSON вида {"msg": ["foo", 1, 5, 7, [-1.5, -0.5]]} тоже не будет самоописываемым, если работа с msg проводится с помощью массива констант типа такого: | ||
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору |
19. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | ![]() |
Сообщение от anonkz on 10-Авг-16, 16:20 | ||
quickbms же есть. | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
![]() | ||
20. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +1 +/– | |
Сообщение от GreyCat (ok) on 10-Авг-16, 21:13 | ||
Есть. Только там не столько описание формата, сколько просто скриптовый язык для выполнения конкретной задачи (как правило - извлечения контента из архива). Скомпилировать это самое описание для BMS в какой-нибудь другой язык и использовать из своей программы - малореально. | ||
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору |
![]() | ||
23. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | ![]() |
Сообщение от jacob on 11-Авг-16, 08:46 | ||
Кажется избыточным в описании формата везде писать "id" и "type". Вместо какого-нибудь | ||
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору |
![]() | ||
25. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | |
Сообщение от GreyCat (ok) on 11-Авг-16, 09:14 | ||
> Кажется избыточным в описании формата везде писать "id" и "type". | ||
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору |
![]() | ||
26. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | ![]() |
Сообщение от jacob on 11-Авг-16, 09:35 | ||
>> Кажется избыточным в описании формата везде писать "id" и "type". | ||
Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору |
![]() | ||
27. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | |
Сообщение от GreyCat (ok) on 11-Авг-16, 18:09 | ||
Во-первых, вы предлагаете очень странную вещь. То есть, представьте, как это будет читаться хотя бы человеческим глазом: | ||
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору |
22. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | ![]() |
Сообщение от lk on 11-Авг-16, 07:19 | ||
Где картинки визуализатора? | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
![]() | ||
24. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | |
Сообщение от GreyCat (ok) on 11-Авг-16, 09:11 | ||
Вот у этого товарища в статье картинок было сколько-то - https://habrahabr.ru/post/281595/ | ||
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору |
30. "Релиз системы разбора произвольных бинарных файлов Kaitai St..." | +/– | ![]() |
Сообщение от lk on 12-Авг-16, 14:45 | ||
Картинка визуализатора там одна. Впрочем и её достаточно -- "консольный". | ||
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору |
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |