代码之家  ›  专栏  ›  技术社区  ›  bstpierre Edgar Aviles

如何从可执行文件中提取数组?

  •  1
  • bstpierre Edgar Aviles  · 技术社区  · 15 年前

    我想逆着做 this question

    我将一个文件作为数组嵌入到可执行文件中,稍后我想从可执行文件中提取嵌入的文件。

    看起来objcopy可能在这里有用,但我还没有找到合适的咒语。

    (编辑:澄清问题,我在最初的编辑过程中消除了问题的症结…)

    2 回复  |  直到 15 年前
        1
  •  2
  •   nategoose    15 年前

    我认为,如果将嵌入文件放在它自己的部分中,可以使用objcopy将该部分提取到原始输出文件中。 调查GCC __attribute__((section("embedded_file") )) 或者,如果您使用链接器以其他方式将文件导入到exe中,那么您应该能够以其他方式将其导入到其他部分,但我不熟悉这样做。

        2
  •  1
  •   Jerry Coffin    15 年前

    在数组的开头放置一个可识别的模式,以帮助您在文件中找到数据。

    如果要创建Windows可执行文件,请将数据放入可执行文件中的二进制资源中,而不仅仅是将其编码到数组中--然后可以使用普通的Windows资源函数( FindResource , LoadResource 等)获取数据(尽管这比最初看起来应该的要难一些)。

    推荐文章