【发布时间】:2012-03-06 10:05:53
【问题描述】:
我将我的数据保存在程序的可执行文件中。我将它复制到一个临时文件中,覆盖从 'magic string' 开始的部分并将其重命名为原始文件。我知道这是个坏主意,但我这样做只是为了试验。
到目前为止,我已经完成了所有工作,除了每次替换文件时我都必须重新启用“允许作为可执行文件运行”。有什么方法可以解决这个问题?
附加信息:我使用linux。
【问题讨论】:
-
您可以根据您知道的脚本类型将其添加到 make 文件或脚本中,以便在需要时将其更改为您认为合适的方式
-
这样我就明白了:您正在将可执行映像复制到别处,寻找特定模式,修改二进制映像,然后计划再次执行它?这只能以泪水告终。
-
@Chris 我知道;将数据存储在其他地方要好得多。想象一下,如果 PC 在修改文件时崩溃会发生什么。
-
你想在你的 C++ 程序中运行 "chmod +x
" 吗? -
或者更糟糕的是,想象一下如果不这样做会发生什么。
标签: c++ linux executable file-permissions self-modifying