20 条回复  ·  335 次点击
ysc3839 小成 2024-2-8 22:34:50
印象中 libffi 是可以运行时解析的,去搜了一下似乎不行。
继续搜索发现原来是 Python 的 cffi 库支持这么干,解析代码用的是 pycparser 这个项目。
所以要求不高的话可以考虑嵌入 Python 来实现,否则的话还是找找其他解析 C 代码的库吧。
realJamespond 小成 2024-2-8 23:35:17
std::map
Inn0Vat10n 小成 2024-2-9 00:11:02
jit
GeruzoniAnsasu 小成 2024-2-9 02:19:16
https://www.sweetscape.com/010editor/manual/IntroTempScripts.htm

Exactly what you want
bl4ckoooooH4t 小成 2024-2-9 09:52:06
不用自己开发,010 editor 的 template 已经有这个功能了
yyang179 小成 2024-2-9 11:15:06
最近刚好做了个类似的功能,提供一个 C++能嵌入 python 的思路:
1. 结构体转 Python ,依托于 ctypeslib2 (这个库通过 clang 的词法分析,将结构体转为 python 的 ctypes ),ctypeslib2 调用 clang 会有些问题,会需要改写 ctypeslib2 的部分源码。
2. Python 可以通过转出的库,用 from_buffer_copy 函数直接做结构体与数据映射(前提是指针长度,对齐方式需要一致),然后导出想要的数据结构,这一步用 python 写起来比 C++方便很多很多。
3. C++调用 python 的脚本,或者通过 pybind11 调用 python 的函数
gaifanking 小成 2024-2-9 13:10:12
这不就是基于流的解析,参考 IM 中长链接协议的制定这种。
sjkdsfkkfd 小成 2024-2-9 13:44:20
ImHex 有一个 pattern language 就是干这个的,你可以参考一下 https://github.com/WerWolv/PatternLanguage/
aloxaf 小成 2024-2-9 15:14:59
Kaitai Struct ?
yanqiyu 小成 2024-2-9 22:40:11
感觉是 jit 的活
返回顶部