我正在寻找一种好方法来替换 native win32 编译的 exe 中的几个字符串。例如,我的代码中有以下内容:
const char *updateSite = "http://www.place.com"
const char *updateURL = "/software/release/updater.php"
我需要在 exe 中用其他任意长度的字符串修改这些字符串。我意识到我可以将这种类型的配置存储在其他地方,但将其保留在 exe 中可以满足我的应用程序的可移植性要求。如果有任何帮助和/或建议,我将不胜感激。
谢谢!
更新:我在 Metasploit 项目中发现了一些似乎可以执行此操作的代码: MSF:Util:Exe
最佳答案
我不会弄乱 EXE 本身,如果您真的需要 1 个文件,那么执行旧的 zip 附加技巧并将您的配置放在那里。
可能看起来像这样:
> BINARY DATA
> ZIP FILE DATA
> 32bit unsigned int which's value is the size of the appended zip file
优点:
- 易于扩展/维护
- 不要乱用 exe 本身
- 你可以在里面放很多东西
对比:
- 你需要链接一些压缩库
如果你不想压缩它,那么就自己写一些简单的未压缩的归档文件。
关于C++ Win32 替换可执行文件中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4289506/