【发布时间】:2021-03-16 05:27:38
【问题描述】:
我需要一个像“ksc”这样的命令行,它可以接受参数“二进制文件”和“yaml 文件”并将其转储为 json 格式。 WebIDE 通过“ExportToJson”做同样的事情,但我需要命令行中的相同功能。
谢谢
【问题讨论】:
标签: json kaitai-struct
我需要一个像“ksc”这样的命令行,它可以接受参数“二进制文件”和“yaml 文件”并将其转储为 json 格式。 WebIDE 通过“ExportToJson”做同样的事情,但我需要命令行中的相同功能。
谢谢
【问题讨论】:
标签: json kaitai-struct
附属免责声明:我是Kaitai Struct 维护者(请参阅我的GitHub profile)。
我需要一个像“ksc”这样的命令行,它可以接受参数“二进制文件”和“yaml文件”并将其转储为json格式。
使用kaitai-struct-visualizer 包中包含的实用程序ksdump。您可以通过运行gem install kaitai-struct-visualizer 来获取它from RubyGems(这将使ksdump 命令在您的PATH 上可用)。不过,您需要安装 Ruby。还需要安装kaitai-struct-compiler(有关说明,请参阅https://kaitai.io/#download)并在您的PATH 上进行设置。
您的案例的用法如下:
$ ksdump -f json sample.bin protocol.ksy
或者,您可以拉取官方 Docker 镜像https://hub.docker.com/r/kaitai/ksv,而不是手动安装 Ruby、Kaitai Struct 编译器和可视化器,它包含所有内容。用法是这样的(自然要先get Docker):
$ docker run -v "$(pwd):/share" --entrypoint ksdump -it kaitai/ksv -f json sample.bin protocol.ksy
但是考虑到 Docker 镜像 kaitai/ksv 占用了 1.06GB(我没想到 - 我猜 Docker 镜像很容易变得臃肿),所以你可能不想通过慢速网络下载它或者有数据限制的连接。
【讨论】: