下面这个是用Telerik JustDecompile反编译的结果,用Reflector就根本反编译不出来提示索引超出范围。
你看见没,反编译后只有方法名,真是搞不懂这是什么样的混淆工具这么强大。研究了一下,它好像是把所有程序集的方法体内的代码编译到了一个dll中,似乎是在调用某个方法的时候就能跳转到哪个dll中的相关代码的位置。唉,汇编学的不好,个人理解大概是这样的吧。如果你知道的更详细,麻烦解释一下咯,讲一下原理。还有关于这样的混淆(不知道这算不算是混淆了,似乎这比简单的混淆要强大),有没有什么方法能反编译呢。   public class Admin
    {
        static Admin()
        {
            InfaceMaxtoCode.Startup();
        }        public Admin()
        {
        }        public static string Login(string O01Ol011, string O0l1O10O, out PowerInfo Ol1llO1l01)
        {
        }
    }

解决方案 »

  1.   

    能不能把混淆的dll贴上了,我帮你分析下。
      

  2.   

    看了一下代码,应该是用很低级的混淆(这个一般是免费版或者是试用版的混淆软件)
    弊司用的混淆软件(收费的),我用refactor根本就看不到代码。
      

  3.   

    这个dll也用reflector看不了啊,不能上传文件,不然贴上来,给你看看,,,你会折服的。这dll我不相信他是用免费的混淆工具整的。你没看见么,方法体内没方法,但执行能正常运行。
      

  4.   

    这个dll也用reflector看不了啊,不能上传文件,不然贴上来,给你看看,,,你会折服的。这dll我不相信他是用免费的混淆工具整的。你没看见么,方法体内没方法,但执行能正常运行。折服?呵呵。。没有必要吧。。
    刚才没有认真看,以为只是把变量改成了一些特殊字符,这个我自己反编译的时候经常遇到
    如果是只有函数名的话,估计是用了收费版的混淆工具了
      

  5.   

    这个dll也用reflector看不了啊,不能上传文件,不然贴上来,给你看看,,,你会折服的。这dll我不相信他是用免费的混淆工具整的。你没看见么,方法体内没方法,但执行能正常运行。折服?呵呵。。没有必要吧。。
    刚才没有认真看,以为只是把变量改成了一些特殊字符,这个我自己反编译的时候经常遇到
    如果是只有函数名的话,估计是用了收费版的混淆工具了
    是啊没必要,你又不关心别人混淆工具是怎么实现这种效果的,只是习惯性的用别人的混淆工具而已。当然对别人的这种实现方式无所谓。
      

  6.   

    反编译最大的问题是无法反射,无法动态加载外部dll了,除非你加载的外部dll不进行混淆,否则混淆后反射加载将失败。