C# 模糊处理.NETDLL

C# 模糊处理.NETDLL,c#,obfuscation,C#,Obfuscation,我们如何混淆.NETDLL(MVCWeb应用程序) 因为,我试图使用Dotfuscator混淆MVC网站dll,当我使用混淆的dll运行应用程序时,它不能正常工作,显示网站HTML内容或网站结构。为什么?Web应用程序二进制文件驻留在服务器上,通过健全的配置设置,它们无法通过HTTP请求进行检索。如果不是这样,那么您最好花时间配置web服务器 至于为什么你不能真正混淆MVC代码,他们所使用的架构使用了很多反射,就像很多。由于函数实际上不是从代码中调用的,模糊处理程序不知道如何通过反射来更新“调用

我们如何混淆.NETDLL(MVCWeb应用程序)


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

为什么?Web应用程序二进制文件驻留在服务器上,通过健全的配置设置,它们无法通过HTTP请求进行检索。如果不是这样,那么您最好花时间配置web服务器


至于为什么你不能真正混淆MVC代码,他们所使用的架构使用了很多反射,就像很多。由于函数实际上不是从代码中调用的,模糊处理程序不知道如何通过反射来更新“调用者”端,它就会崩溃。

mvc应用程序崩溃的原因是默认情况下,dotfuscator使用一种模糊处理,它会重命名类,方法和几乎所有其他有名字的东西。它可能更“安全”,除了重命名模糊处理之外,所有使用反射的东西都会被杀死

好消息是,您可以将dofuscator配置为使用另一种称为控制流模糊处理的方法。当您启用该选项时,请禁用重命名模糊处理,您应该可以


如果这是不够的信息,你认为我在正确的轨道上为你,回复我,我可以张贴一个dotfuscator配置的例子在上午。(我现在是凌晨1:30)

也许他必须安装在客户的硬件上,而不想交上易于反向工程的二进制文件?或者想要混淆代码中的一些加密密钥?理由很多,但都错了。如果你的产品物有所值,人们就会买它。如果不是的话,没有人会足够关心逆向工程。花点时间做点好事,而不是做这些。通过使用反向工程工具,我们可以很容易地从二进制文件(dll)中提取代码。这会导致应用程序不安全,因为逻辑可以很容易地从代码中读取。通过隐晦实现安全是一个在实际编写安全应用程序的圈子中流传的笑话。如果这是你需要确保的(显然,@MihaiCaracostea也喜欢这样),那就准备好你的支票簿,以应付数百万美元的诉讼,比如最近新闻中的整个阿什利·麦迪森事件。我要再次指出,这是一个web应用程序,如果人们对你的DLL进行反向工程,那么不管是谁设置了你的web服务器,都应该因为不称职的犯罪行为而被解雇。人们编写安全的PHP应用程序时完全不需要编译或混淆。@TalhaAbdulMuqsit A同意Blindy。服务器端软件通过部署在其中的数据中心获得安全性。最终用户如何通过服务器端二进制文件运行反编译器。这里有一些讨论,详细说明了模糊器是如何被破坏的,它们的用处今天相当有限。你必须小心模糊MVC。某些方法和类名不能重命名为
A
A.A1()
,这些工具默认创建的随机名称