我不知道其它工具,反正vs自带的dotfuscator是可以配置什么混淆,什么不混淆。看你代码结构了。如果你只混淆一个dll,那么它的public部分,就不能混淆,否则其他dll或者exe调用它时会找不到要用的类和函数。或者就把所有的dll,exe都选进去。

解决方案 »

  1.   

    混淆一个dll,还能选择是否混淆它的public部分吗?
      

  2.   

    混淆一个dll,还能选择是否混淆它的public部分吗?请指教
      

  3.   

    Public不能混淆,那还有啥用呢。dll就是拿来被调用的,肯定有Public部分啊,而且dll一旦被混淆,肯定其所有内容都混淆了的啊
      

  4.   

    Public混淆也只能混淆实现,类名,函数名都不能动,要不你自己的程序都找不到了。
      

  5.   

    其实从本质上理解下混淆,就可以了,混淆就是把函数名,类名,变量名变成无意义的名字,例如
    class Employee
    {
               public string Name {get;set;}
               public string Department {get;set;}
               public int GetSalary()
               { ....}
    }混淆后变成
    class A
    {
               public string a {get;set;}
               public string b {get;set;}
               public int c()
               { ....}
    }这样读程序就很不容易理解了。你必须把使用A的地方都进行混淆,工具会自动修改调用的地方。
      

  6.   

    混淆器当然只混淆private和internal,不能混淆public,不然肯定出错。
      

  7.   

    混淆一个dll,可以选择性地混淆它的成员吗?我以为混淆一个dll,就整个给混淆了