模糊混合.NET DLL的最佳产品

mhe*_*384 8 .net obfuscation mixed

我有一个.NET DLL和应用程序.DLL是用C++/CLI编写的,它是"混合的",即部分托管代码和部分原生代码.

我有两个目标:
1.混淆所有托管代码,使其无法被反汇编
2.混淆混合DLL的公共方法/类,以便没有人可以在自己的应用程序中使用DLL,即加扰公共名称.

是的,我理解混淆不完美,人们仍然可以弄清楚,等等等等.这两个目标是管理要求.我发现可以处理的唯一应用程序似乎是Dotfuscator专业版.不幸的是,这是令人难以置信的烦人的应用程序之一,你必须请求推销员告诉你价格.有没有人知道另一种解决方案,或者知道购买便宜的合法副本的好地方?

不要告诉我在托管代码中重写DLL,这需要一个月的工作,我永远不会得到批准.:-)

请注意,我对混淆的好坏并不特别偏执.任何扰乱应用程序中所有方法和类的名称的东西都可能足够好.

以下是我尝试的其他混淆器:

  • Dotfuscator Community Edition随Visual Studio 2008一起提供,但不支持混合程序集.

  • Eazfuscator .NET简单而且免费,但不支持混合程序集.

  • 单个许可证的{smartassembly}是500美元.它有一些有趣的功能,但它不支持混合程序集.

  • 蝾螈是800美元.声称完全支持混合程序集,但每当我尝试使用混淆的dll时,应用程序崩溃了

  • 单个开发人员许可证的.NET Reactor为180美元.它支持混合DLL的"部分"混淆.不幸的是,如果你混淆DLL上的公共类型它不起作用,.exe无法找到类.它有能力将DLL合并/打包成.exe,但是当你使用混合DLL执行它时它不起作用(exe无法找到DLL的程序集,即使它是.exe的一部分)

  • 单个许可证的Skater是300美元.我没有在他们的网站上看到任何声称它支持混合组件的东西,我厌倦了尝试应用只是为了失望所以我会假设它没有.

我也尝试过Microsoft的ILMerge,看看我是否可以将DLL与.exe合并然后进行混淆,但看起来它也混淆了DLL.

有关替代Dotfuscator的建议或购买合法副本的好地方吗?我找到了几个声称卖得便宜的无名网站,但我认为这些是俄罗斯盗版.

fau*_*lty -1

我使用 {smartassemble} 将 SlimDX 和 DirectShow.Net 与我的 .net 程序合并在一起。两者都是使用 C++/CLI 编写的。他们在我这边融合得很好。您从哪里得到它不支持混合程序集的指示?

编辑:我不是 100% 确定,因为我自己以前从未使用过 C++\CLI,但我以前编写过纯 C++ 应用程序。这就是我收集到的,在 SlimDX 的 AssemblyInfo.cpp 文件中,有一行配置程序集,如下所示:

[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];
Run Code Online (Sandbox Code Playgroud)

所以,我假设它包含非托管代码。或者也许您可以告诉我应该寻找什么指示来表明它包含非托管代码。

顺便说一句,我使用的是 3.0.3063 版本的 {smartassemble}