方便地对C++中的所有字符串文字进行模糊处理

Conveniently obfuscating all string literals in C++

本文关键字:文字 模糊 处理 字符串 C++ 方便地      更新时间:2023-10-16

我已经看到了这个问题和ADVobfuscator git存储库。我发现的最接近的东西是类似于这个存储库的东西。

但我的问题是我有一个相当大的代码,它使用多个系统调用,并根据字符串文字及其连接打印大量消息。因此,许多命令都是在目标代码中编写的,我希望它们保持可读性,并且混乱最少。

与可以使用OBFUSCATE宏本地加密的单个密码不同,我希望有一个全局解决方案,以便每个字符串都经过模糊处理,而不必每次都放置此宏,以便我的代码对开发人员和审阅者保持可读性,而可执行文件对这些字符串有些模糊。

这不是安全问题,而是知识产权保护问题,我只是想避免好奇的最终用户在业余时间对我的可执行文件进行逆向工程。我不是要阻止任何精心策划的攻击。

一个简单的解决方案是在分发可执行文件之前通过 UPX 等可执行压缩程序运行可执行文件。 文件压缩应该用于混淆生成的可执行文件中的任何字符串文本。