C++静态库的代码混淆

C++ code obfuscation for static LIB

本文关键字:代码 静态 C++      更新时间:2023-10-16

基本上我有这个...

我创建了一个 WPF 应用程序。它将 C++/CLI 包装器引用到本机静态 LIB。

现在静态LIB具有商业敏感的算法。

静态 LIB 的代码小而简单。

就目前而言,有人可以使用Ada Pro/Hex-Rays反编译LIB,并轻松制定算法。我想知道的是,如果我能混淆源代码,那么反编译的 LIB 就会有额外的复杂性。

我想要的是某种方法,使一个相当小且直接的代码库变得足够模糊,以至于难以从反编译中找出算法。

两件事。首先,我知道这不会阻止某人发现该算法。我只是想在时间和金钱方面增加这样做的成本。其次,我其实并不太担心代码本身,只是我想隐藏的算法。

我在这里问是因为,谷歌搜索提供了很多关于混淆的信息,但当代码库小而简单时,对于这种特殊情况几乎没有什么意义。是否有我忽略的替代方法?

此外。我不关心混淆托管代码。

您可以做以下几件事,这些事情可能会减少第三方了解您的库的功能、工作原理、敏感字符串等的机会。

  1. 字符串混淆

A. https://www.codeproject.com/Articles/502283/Strings-Obfuscation-System

b. https://www.codeproject.com/Articles/1210398/Small-String-Obfuscator

  1. 源代码级混淆

A. http://www.semdesigns.com/Products/Obfuscators/

b. http://stunnix.com/prod/cxxo/

您可以查看反间谍C/C++混淆库 对于所有平台,他们提供一系列混淆技术。