C/C++如何把类名、函数名、变量名变成随机字符串以后再编译?

在编译选项中,并没有直接将类名、函数名和变量名变成随机字符串的选项。这种操作通常被称为"混淆"(Obfuscation),目的是使代码更难以理解和逆向工程。实现代码混淆通常需要使用专门的工具或库,而不是仅通过编译选项来实现。

有一些第三方工具可以用于代码混淆,例如以下几个比较常用的:

  1. LLVM Obfuscator(llvm-obfuscator): 这是一个基于LLVM的代码混淆工具,可以使用不同的技术对源代码进行混淆,包括重命名、控制流平坦化、字符串加密等。

  2. Obfuscator-LLVM: 这是另一个基于LLVM的代码混淆工具,提供了多种混淆技术,包括符号重命名、控制流平坦化、函数内联等。

  3. Eazfuscator.NET: 这是一个专门用于.NET平台的代码混淆工具,可以对C#代码进行混淆,包括重命名、字符串加密、控制流混淆等。

这些工具可以帮助你将类名、函数名和变量名进行混淆,使得源代码更难以理解和逆向工程。请注意,代码混淆并不能提供绝对的安全性,高级的逆向工程仍然可能揭示混淆后的代码。因此,除了混淆之外,还应考虑其他安全措施和设计原则来增加代码的安全性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。