2015-08-31 98 views
-1

我们如何混淆.Net dll(MVC Web应用程序)?混淆.Net Dll

因为我试图混淆使用Dotfuscator的MVC网站DLL,当我运行应用程序使用混淆的DLL它不能正常工作,显示网站的HTML内容或网站结构。

+0

你必须小心混淆MVC。某些方法和类名不能重命名为诸如'A'和'A.A1()',这些工具的默认创建名称为 – MickyD

回答

2

你为什么要? Web应用程序二进制文件驻留在服务器上,并且具有理智的配置设置,它们无法通过HTTP请求进行检索。如果情况并非如此,您最好花时间来配置您的Web服务器。至于为什么你不能真正混淆MVC代码,他们去的体系结构使用了很多反射,如很多。而且因为函数实际上并没有从代码中调用,所以混淆器不会通过反射来更新“调用者”端,它只会崩溃。

+0

也许他必须安装在客户端的硬件上,并且不想将可执行的二进制文件容易反向工程?或者想要混淆代码中的一些加密密钥?原因很多。 –

+2

而且都是错误的。如果你的产品是值得的钱它会被购买。如果没有人会关心足够的反向工程。花你的时间做一些好事,而不是这个。 – Blindy

+0

我不赞同你的观点。 –

0

您的mvc应用程序爆炸的原因是,默认情况下,dotfuscator使用一种混淆类型,在其中重命名类,方法和其他所有获取名称的东西。它可能更“安全”,除了重命名混淆之外,任何使用反射的东西都会被杀死。

好消息是,您可以配置dofuscator以使用另一种称为控制流混淆的方法。当你启用它时,禁用重命名混淆,你应该没问题。

如果没有足够的信息,你认为我在正确的轨道上给你回复我,我可以在早上发布一个dotfuscator配置示例。 (这是我的上午1点30分)