0

我需要一个像“ksc”这样的命令行,它可以接受参数“二进制文件”和“yaml文件”并将其转储为json格式。WebIDE 通过“ExportToJson”做同样的事情,但我需要命令行中的相同功能。

谢谢你

4

1 回答 1

0

附属免责声明:我是Kaitai Struct维护者(请参阅我的GitHub 个人资料)。

我需要一个像“ksc”这样的命令行,它可以接受参数“二进制文件”和“yaml文件”并将其转储为json格式。

使用kaitai-struct-visualizerksdump中包含的实用程序。您可以通过运行从 RubyGems获取它(这将使该命令在您的. 不过,您需要安装 Ruby。还需要安装(有关说明,请参阅https://kaitai.io/#download)并在您的.gem install kaitai-struct-visualizerksdumpPATHkaitai-struct-compilerPATH

您的案例的用法如下:

$ ksdump -f json sample.bin protocol.ksy

或者,您可以拉取官方 Docker 镜像https://hub.docker.com/r/kaitai/ksv,而不是手动安装 Ruby、Kaitai Struct 编译器和可视化工具,它包含所有内容。用法看起来是这样的(当然,首先你需要得到 Docker):

$ docker run -v "$(pwd):/share" --entrypoint ksdump -it kaitai/ksv -f json sample.bin protocol.ksy

但是考虑到 Docker 镜像kaitai/ksv占用了 1.06GB(我没想到——我想 Docker 镜像很容易变得臃肿),所以你可能不想通过慢速网络或数据限制的连接来下载它。

于 2021-03-30T17:29:43.873 回答