C++ Win32 替换可执行文件中的字符串

标签 c++ c visual-studio exe winapi

我正在寻找一种好方法来替换 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/

相关文章:

c++ - 围绕一个范围包装无符号整数加法/减法

c - 步进电机不会停止旋转

c - Linux CPU 对所有系统进程的亲和性

c++ - 无法找到或加载 Qt 平台插件 "windows"

c++ - 错误 C2275 RHandle : illegal use of this type as an expression

C++阅读器函数设计: helper functions,类,私有(private),过度工程?

android - 使用 libzip 在 zip 中写入文件

c++ - 将 C++ 映射到程序集

c - 有没有一种简单的方法可以在不使用大型外部库的情况下用 C 替换它?

c# - Visual Studio 在我的 web.configs 中看到错误