【发布时间】:2014-10-30 09:25:33
【问题描述】:
我有一个可执行文件,我使用objcopy 方法在其中嵌入了一个二进制文件资源
objcopy --input binary --output elf32-i386 --binary-architecture i386 data.txt data.o
链接到data.o 并使用
extern char _binary_data_txt_start
extern char _binary_data_txt_end
现在是否可以在可执行文件中更新这些数据?更新后的数据可以有完全相同的大小,我只需要更改一些位。
在 windows PE 文件中,使用 UpdateResource() 非常简单
【问题讨论】:
-
谢谢你,没有发表评论的匿名投票者。
-
您希望更新的数据是持久的,还是只想将其用作运行时存储?我现在猜是前者。上面的命令和名字好像跟this LJ article中的例子一样
-
我看到 大量 安全问题。 SELinux 很可能会成为一个问题,而像tripwire 这样的HIDS 将达到天花板。您能否详细说明一下这个用例,以便我们找到适合您需求的解决方案,而不会惊慌使用不太友好的霰弹枪的友好家伙的数字等效项?
-
不在运行时!我希望它在我正在创建的可执行文件中持久存在。用例是一个简单的自解压器安装程序,我想在不重新编译的情况下对其进行更新。
-
@shoosh:你确定你不想深入了解shar?