C++静态库的代码混淆
C++ code obfuscation for static LIB
基本上我有这个...
我创建了一个 WPF 应用程序。它将 C++/CLI 包装器引用到本机静态 LIB。
现在静态LIB具有商业敏感的算法。
静态 LIB 的代码小而简单。
就目前而言,有人可以使用Ada Pro/Hex-Rays反编译LIB,并轻松制定算法。我想知道的是,如果我能混淆源代码,那么反编译的 LIB 就会有额外的复杂性。
我想要的是某种方法,使一个相当小且直接的代码库变得足够模糊,以至于难以从反编译中找出算法。
两件事。首先,我知道这不会阻止某人发现该算法。我只是想在时间和金钱方面增加这样做的成本。其次,我其实并不太担心代码本身,只是我想隐藏的算法。
我在这里问是因为,谷歌搜索提供了很多关于混淆的信息,但当代码库小而简单时,对于这种特殊情况几乎没有什么意义。是否有我忽略的替代方法?
此外。我不关心混淆托管代码。
您可以做以下几件事,这些事情可能会减少第三方了解您的库的功能、工作原理、敏感字符串等的机会。
- 字符串混淆
A. https://www.codeproject.com/Articles/502283/Strings-Obfuscation-System
b. https://www.codeproject.com/Articles/1210398/Small-String-Obfuscator
- 源代码级混淆
A. http://www.semdesigns.com/Products/Obfuscators/
b. http://stunnix.com/prod/cxxo/
您可以查看反间谍C/C++混淆库 对于所有平台,他们提供一系列混淆技术。
相关文章:
- Android Studio 中带有静态库的原生C++代码
- 以下代码执行哪种内存分配(动态或静态)?
- 如何以静态代码分析友好的方式使用 #define 防护?
- 静态代码检查器抱怨.虚惊一场?
- 如何在 C++11 中解释静态代码
- 使用"静态"如何影响我的代码速度?
- 如何解决C++中声纳库贝静态代码分析错误"Explicitly define the missing copy constructor, move constructor .."
- 如何启用使用另一个类的静态方法的模板函数的自动推导,从而消除冗长的调用方代码
- 函数范围的静态变量如何导致与共享库中函数代码的未来使用不兼容
- 在静态初始化期间运行代码
- 生成代码(在编译时)以调用模板的每个实例化的静态函数
- C++代码中奇怪的未使用的静态字符串声明
- 我可以在将项目编译为静态库(未定义的引用)时在代码中使用 QImage 吗?
- C++静态库的代码混淆
- Cppcheck 静态代码分析器实际上可以检测到不太常见的警告(如 "Relative Path Traversal (CWE-23)" 或"Buffer Under-read(CWE-127)")吗
- 如果要测试,我是否应该将C 代码写为静态或动态库
- Android NDK-天然C 代码的静态分析
- 我怎么知道C++编译器是否制作线程安全的静态对象代码
- 设备代码中的CUDA类静态成员的成语
- 仅在满足静态constexpr时才包含代码