正在寻找一种使用文件中的数据创建C数组的工具

Looking for a tool to create C-arrays with data from a file

本文关键字:文件 数据 创建 工具 数组 寻找 一种      更新时间:2023-10-16

输入:中的文件名.b

输出:

char file_filename_data[] = {
0x47, 0x45, 0x54, 0x20, 0x2f, 0x63, 0x61, 0x6d, 
0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x20, 0x48, 0x54, 
0x54, 0x50, 0x2f, 0x31, 0x2e, 0x31, 0x0d, 0x0a, 
0x48, 0x6f, 0x73, 0x74, 0x3a, 0x20, 0x79, 0x6d, 
0x61, 0x70, 0x2e, 0x64, 0x79, 0x6e, 0x64, 0x6e, 
0x73, 0x2e, 0x6f, 0x72, 0x67, 0x0d, 0x0a, 0x55, 
0x73, 0x65, 0x72, 0x2d, 0x41, 0x67, 0x65, 0x6e, 
0x74, 0x3a, 0x20, 0x4d, 0x6f, 0x7a, 0x69, 0x6c, 
...
}; // This is the data from the file "filename.bin"
size_t file_filename_size = 1234;

我想在可执行文件中存储一些文本文件。我正在使用CMake并在linux和windows中构建C++项目。

谢谢!

xxd就是您想要的。示例调用可以是:

xxd -i filename.bin data_output.h

data_output.h将具有以下内容:

unsigned char in_file[] = {
  0x68, 0x65, 0x6c, 0x6c, 0x6f
};
unsigned int in_file_len = 5;

大多数时候,您可以将信息附加在文件的末尾。这是一个黑客攻击,但它被许多应用程序使用——安装程序、python冻结程序(我认为),许多演示程序员过去都使用过它。

基本上只做(CMD.EXE)

echo"Blah">>myexefile.exe

你如何找到这些信息?我们要有创意——也许可以存储一个独特的魔法cookie,或者总是放最后4或8个字节来告诉你文件的大小,这样你就可以找到它的开始。