混淆 ASP.Net dll 破坏 Web 应用程序

2024-03-13

我通常不会费心去混淆 Web 应用程序 DLL,但现在我必须与可能有利益冲突的人共享一些服务器空间,并且可能会试图窃取交易并反编译它。我知道这不是一个理想的解决方案,但是嘿。

因此,我使用 VS 2005、一个 Web 部署项目(编译为单个 DLL)和 Dotfuscator 社区版本。当我混淆 DLL 时,Web 应用程序中断,我收到一些消息,例如

Could not load type 'Browse' from assembly MyAssembly

所以我四处搜索,发现如果我禁用重命名,那么它应该可以修复它。确实如此。但现在,当我使用 .Net 反射器查看 DLL 时,我可以再次看到一切。所以这似乎毫无意义。

有办法让它发挥作用吗? 有没有更好的方法来保护我的 DLL 免受与我共享服务器的人的侵害?

UPDATE:

我找到了我的问题。所有的类名都改变了,但现在我所有的

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="mycode.aspx.cs" Inherits="mycode" %>

不正确,因为 mycode 不再存在。现在是aef什么的。是否有任何工具也可以更改代码文件和继承标签的名称?


您已经接近解决方案了。 在您的情况下,我不知道在哪个上下文中使用“浏览”,但是您是否在某处将其作为字符串引用?

当您以某种方式使用它时,有些东西是根本无法混淆的。

例如,当您有绑定到控件的自定义对象时。您指定为 valuemember 的 displaymember 的那些属性不能被混淆。 这是因为属性被定义为字符串。因此,在设计时控件和实际属性之间没有联系,但在运行时却存在联系。 我不知道如何更好地解释;但这里有一些代码:

// custom object
Public Class MyObject
{
    string Test() { get; set; }
}

// here the object is bound to a combobox

MyCombo.ValueMember = "Test";  // The Test property cannot be obfuscated because of this 'indirect' reference.
MyCombo.DisplayMember = "Test";
MyCombo.DataSource = lstListOfMyObjects;

希望它能解决您的问题。如果没有,请告诉我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

混淆 ASP.Net dll 破坏 Web 应用程序 的相关文章

随机推荐