问题标签 [kaitai-struct]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
967 浏览

python-3.x - “安装” Kaitai Struct Python

我需要有关在笔记本电脑上安装 Kaitai Struct 的帮助。

我安装了 python-kaitaistruct 并编译了网络文件。

但我收到一个导入错误:

我的文件夹如下所示:

和我执行的文件:

有人可以帮助我,也许我安装错了?或完整指南如何安装和使用它会很酷:DD

谢谢<3

0 投票
1 回答
161 浏览

java - Kaitai 结构代码中的异常“java.nio.BufferUnderflowException”

我对 kaitai-struct 和 java 很陌生。我已将 .ksy 文件解析为目标语言 java,但在 eclipse ide 中编译后,我得到“java.nio.BufferUnderflowException”。有人能帮我吗。

0 投票
0 回答
144 浏览

eclipse - kaitai struct代码无法在eclipse ide中获得输出

嗨,我对 kaitai struct 很新,如何在 eclipse 中运行在 kaitai struct webide 上解析为 java(目标语言)的代码,我已经浏览了 kaitai struct 文档,但我仍然有一些疑问,有人可以帮我吗? 我也发布了解析的java类和主类

主要课程如下

请建议我应该进行哪些修改,如果可能的话,请为我
提供主类的代码片段以调用 kaitai struct 类方法。我想解析这条消息 {354105059135656,010104,164536,12.888888,77.5564499,100,lbs,ta,p,mt,fff,ddd}

0 投票
1 回答
2217 浏览

python - 使用 kaitai struct & python 解析二进制消息

我需要从一个非常大的消息日志中提取和处理数据(可变大小的二进制消息)。使用 Gif 示例和在线文档,我定义了可变大小的消息布局并将其编译到 msg_log.py 中。调用msg_log.from_file("small_logfile")使我能够检查和验证日志文件中第一条消息的字段值。

对于适合内存的小日志文件,如何让 msg_log.py 检查日志中的第二条、第三条和后续消息?

对于非常大的日志文件,我希望通过字节缓冲区对输入进行分页。我还没有这样做,也没有找到关于如何去做的例子或讨论。当内容更改时,如何使 msg_log.py 与分页字节缓冲区保持同步?

我的消息结构目前定义如下。(我也使用了“seq”而不是“instances”,但仍然只能检查第一条消息。)

0 投票
1 回答
165 浏览

stm32 - 在stm32上使用kaitai struct

有人在STM32处理器家族上使用过kaitai struct吗?我想用它来解析来自串口的数据,我有点迷茫。

0 投票
1 回答
187 浏览

python - 使用 Kaitai Stuct 时出现 EOF 错误

我正在使用Python创建二进制解析器

EOF error但是,当数据文件上的字节仍然存在时,它给出了一个偶数。有没有人面临同样的问题?无论如何要克服这一点?

0 投票
1 回答
322 浏览

kaitai-struct - 将 kaitai-struct .ksy 文件转换为“漂亮”的树视图

我需要为在 Kaitai 开发的解析器编写文档。给定一个 .ksy 文件,有没有办法产生树的“漂亮”视图?

有一个两年前的 ksc 分支支持 GraphViz 输出,但生成的输出很难使用。(https://www.reddit.com/r/dataisbeautiful/comments/4zhpvh/binary_data_formats_network_packets_archives/

我可以很容易地确定节点是什么,但获取它们的直接父节点会添加非常有用的上下文。

谢谢你。

-大卫

0 投票
1 回答
68 浏览

kaitai-struct - 调用外部代码确定重复表达式的次数

我有一个序列,它有一个带有重复表达式的“id”,我需要重复未知次数,我不确定当前是否支持。

我想做的是调用一个外部方法来计算正确的重复次数,并将该数字返回给 kaitai。喜欢:

但是,即使在元数据中使用“ks-opaque-types:true”,我也会收到无法访问“CalculateRepetitions”的错误。

重复次数取决于许多无法从 kaitai 访问的内容,因此外部方法是一个完美的解决方案。

在此先感谢您的任何建议。

0 投票
1 回答
156 浏览

parsing - What are the parser techniques implemented in kaitai struct? Does it implement backtracking?

I have to deal with a buffer of bytes. This buffer can have multiple grammars (A, B, C, .. , etc).

For example: AxxxxBxxxxACxxx

where x's are dirty bytes and I would like to skip them. (They don't match any grammar)

I want to know if it is possible to use kaitai-struct to parse those grammars skipping the dirty bytes.

0 投票
0 回答
62 浏览

c# - .Net 中复杂和大型二进制文件的声明性语言

定义一个复杂的二进制文件以从 C# 读取和写入它的可能解决方案是什么。目前我通过固定/硬编码的偏移量访问二进制字段,但我希望有一个更清洁的解决方案。我看了开泰,它看起来很完美,只是我不能用它来写数据。

是否有类似的解决方案/框架/库来定义和使用二进制文件?

由于我已经有一个正在使用的现有格式,我无法将 ie 完全交换为 ProtoBuf 或类似格式。

编辑:一个问题是,文件从 100MB 到几 GB 大,所以我需要流功能并且不能一次全部解析。

Edit2:换句话说,我需要一个更清洁的解决方案来解决这样的问题(其中的结构FileHeader也可以在MarshalAsand的帮助下定义FieldOffsets