我有我需要倾倒某种文本格式,编辑,然后重新编译(可能略有不同版本的二进制格式的)各种二进制文件格式。当然,我可以写一堆的C/C++做这种事情实用代码,也许利用了事物的文字侧(XML或JSON或其他)图书馆,但是这是保持种植了任务模式在我的工作中,在我看来,可能应该已经存在某种用于这种工作的通用工具。用于编译/反编译二进制数据文件的通用实用程序或库?
很明显,需要某种方式来描述二进制文件格式 - 一种模式或一些这样的 - 这将需要支持所有显而易见的数据类型(字符串,各种大小的整数,布尔等,浮点数将是很好),以及诸如计数字段,长度字段,填充/对齐等等,以处理您在数据文件中找到的所有典型内容。支持字节序支持也是有用的,因为二进制文件可能与我们运行的平台有不同的字节顺序。
我会很惊讶,如果这样的事情已经不存在,但我有没有运气通过谷歌迄今(你怎么甚至描述了这样一个实用程序或库简洁?)。我记得最近看到的是苹果公司的资源编译器/反编译器公用程序,它们在“Classic”Mac OS时代就已经出现。它们使用类C语法,头文件中的资源模板定义用于描述各种二进制资源的格式,并且可以在此C类源语法和二进制资源之间进行编译/反编译。
非常好 - 谢谢 - BinX看起来正是我所需要的。我很高兴我没有参与进来,从头开始编写这些东西。 ;-) – 2010-01-27 14:52:18
糟糕 - 即将发表 - BinX似乎有一些限制性许可。我想我必须继续寻找。无论如何感谢... – 2010-01-27 15:04:43
这里有一个开源版本:http://www.edikt.org.uk/binx/licence_open.html。 – 2010-01-27 16:35:48