首页
论坛
专栏
课程

[.NET平台] .net问题

2009-5-4 10:15 5316

[.NET平台] .net问题

2009-5-4 10:15
5316
fox2007 和.net Reflector反编译一个dll,发现一个方法的内容反编译的结果不一样。不知道是哪一个错了还是怎么回事儿。

.net Reflector 结果如下:
protected override void ReportPageInit()
{
    this.ReportType = base.Request.QueryString["ReportType"].Trim().ToLower();
    switch (this.ReportType)
    {
        case "3":
            this.StoreName = "WEB_SCM_BuyBill_List_UnFinished";
            this.StroeDetailName = "WEB_SCM_BuyBill_List_UnFinished_Detail";
            break;

        case "2":
            this.ReportSearch1.set_SelectValues(new string[] { "未完成", "已完成", "全部" });
            this.StoreName = "WEB_SCM_BuyOrder_List_UnFinished";
            this.StroeDetailName = "WEB_SCM_BuyOrder_List_UnFinished_Detail";
            break;

        case "12":
            this.StoreName = "WEB_SCM_SaleBill_List_UnFinished";
            this.StroeDetailName = "WEB_SCM_SaleBill_List_UnFinished_Detail";
            break;

        case "5":
            this.ReportSearch1.set_SelectValues(new string[] { "未完成", "已完成", "全部" });
            this.StoreName = "WEB_SCM_SaleOrder_List_UnFinished";
            this.StroeDetailName = "WEB_SCM_SaleOrder_List_UnFinished_Detail";
            break;

        case "18":
            this.StoreName = "WEB_SCM_CommissionBill_List_UnSettled";
            this.StroeDetailName = "WEB_SCM_CommissionBill_List_UnSettled_Detail";
            break;

        case "19":
            this.StoreName = "WEB_SCM_ENTrustedBill_List_UnSettled";
            this.StroeDetailName = "WEB_SCM_ENTrustedBill_List_UnSettled_Detail";
            break;

        case "6060":
            this.StoreName = "WEB_SCM_LendBill_List_UnBack";
            this.StroeDetailName = "WEB_SCM_LendBill_List_UnBack_Detail";
            break;

        case "8787":
            this.StoreName = "WEB_SCM_BorrowBill_List_UnBack";
            this.StroeDetailName = "WEB_SCM_BorrowBill_List_UnBack_Detail";
            break;
    }
    this.ReportSearch1.set_ReportType(this.ReportType);
    this.CZCGbGrid1.set_StoreProcedure(this.StoreName);
    string str = CTextHandler.SafeRequest("BID");
    if (str != "")
    {
        DataSet dsBySql = CDBAccessFactory.GetDsBySql("select Btypeid,FullName from  pub_btype where _id = '" + str + "'");
        if (CTextHandler.CheckDataSet(dsBySql) && !base.IsPostBack)
        {
            this.ReportSearch1.ElementSetValue("BID", str);
            this.ReportSearch1.ElementSetValue("BTypeid", dsBySql.Tables[0].Rows[0][0]);
            this.ReportSearch1.ElementSetValue("BFullName", dsBySql.Tables[0].Rows[0][1]);
        }
    }
}

fox 的结果如下:

protected override void ReportPageInit ()
{
     string key;
     ReportType = base.Request.QueryString["ReportType"].Trim().ToLower();
     if ((key = ReportType) != null)
     {
          int num1;
          if (<PrivateImplementationDetails>{5B393355-33DA-4A4C-8F9C-9C2F3E032A18}.$$method0x60000e6-1 == null)
          {
               Dictionary<string,int> dictionary1 = new Dictionary<string,int>(8);
               dictionary1.Add("3", 0);
               dictionary1.Add("2", 1);
               dictionary1.Add("12", 2);
               dictionary1.Add("5", 3);
               dictionary1.Add("18", 4);
               dictionary1.Add("19", 5);
               dictionary1.Add("6060", 6);
               dictionary1.Add("8787", 7);
               <PrivateImplementationDetails>{5B393355-33DA-4A4C-8F9C-9C2F3E032A18}.$$method0x60000e6-1 = dictionary1;
          }
          if (<PrivateImplementationDetails>{5B393355-33DA-4A4C-8F9C-9C2F3E032A18}.$$method0x60000e6-1.TryGetValue(key, out num1))
          {
               switch (num1)
               {
                    case 0:
                    {
                         StoreName = "WEB_SCM_BuyBill_List_UnFinished";
                         StroeDetailName = "WEB_SCM_BuyBill_List_UnFinished_Detail";
                         goto Label_020E;
                    }
                    case 1:
                    {
                         ReportSearch1.set_SelectValues(new string[]{"\u672a\u5b8c\u6210", "\u5df2\u5b8c\u6210", "\u5168\u90e8"});
                         StoreName = "WEB_SCM_BuyOrder_List_UnFinished";
                         StroeDetailName = "WEB_SCM_BuyOrder_List_UnFinished_Detail";
                         goto Label_020E;
                    }
                    case 2:
                    {
                         StoreName = "WEB_SCM_SaleBill_List_UnFinished";
                         StroeDetailName = "WEB_SCM_SaleBill_List_UnFinished_Detail";
                         goto Label_020E;
                    }
                    case 3:
                    {
                         ReportSearch1.set_SelectValues(new string[]{"\u672a\u5b8c\u6210", "\u5df2\u5b8c\u6210", "\u5168\u90e8"});
                         StoreName = "WEB_SCM_SaleOrder_List_UnFinished";
                         StroeDetailName = "WEB_SCM_SaleOrder_List_UnFinished_Detail";
                         goto Label_020E;
                    }
                    case 4:
                    {
                         StoreName = "WEB_SCM_CommissionBill_List_UnSettled";
                         StroeDetailName = "WEB_SCM_CommissionBill_List_UnSettled_Detail";
                         goto Label_020E;
                    }
                    case 5:
                    {
                         StoreName = "WEB_SCM_ENTrustedBill_List_UnSettled";
                         StroeDetailName = "WEB_SCM_ENTrustedBill_List_UnSettled_Detail";
                         goto Label_020E;
                    }
                    case 6:
                    {
                         StoreName = "WEB_SCM_LendBill_List_UnBack";
                         StroeDetailName = "WEB_SCM_LendBill_List_UnBack_Detail";
                         goto Label_020E;
                    }
                    case 7:
                    {
                         goto Label_01F8;
                    }
               }
          }
     }
     goto Label_020E;
Label_01F8:
     StoreName = "WEB_SCM_BorrowBill_List_UnBack";
     StroeDetailName = "WEB_SCM_BorrowBill_List_UnBack_Detail";
Label_020E:
     ReportSearch1.set_ReportType(ReportType);
     CZCGbGrid1.set_StoreProcedure(StoreName);
     string str1 = CTextHandler.SafeRequest("BID");
     if (str1 != "")
     {
          DataSet set1 = CDBAccessFactory.GetDsBySql("select Btypeid,FullName from pub_btype where _id = '" + str1 + "'");
          if (CTextHandler.CheckDataSet(set1) && !base.IsPostBack)
          {
               ReportSearch1.ElementSetValue("BID", str1);
               ReportSearch1.ElementSetValue("BTypeid", set1.Tables[0].Rows[0][0]);
               ReportSearch1.ElementSetValue("BFullName", set1.Tables[0].Rows[0][1]);
          }
     }
}

[公告]安全服务和外包项目请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最新回复 (9)
刘国华 2009-5-4 10:31
2
0
就像两个人逆向同一个代码吧,理解不同而已
hancold 2009-5-4 10:36
3
0
不知道有没有对错之分。还是两条路都能到罗马
crackdung 2009-5-4 11:10
4
0
第二个比较好理解,流程较清晰,大致看了一下,结果一样
刘国华 2009-5-4 16:13
5
0
貌似第一个比较好理解一些
zhangkexie 2009-5-4 17:50
6
0
我也理解不来的
hancold 2009-5-5 01:07
7
0
第二种前半部分在第一个里面没有。不知道,刚才是学.net,也一知半解的
crackdung 2009-5-5 06:44
8
0
那是就是转换选择跳转
hancold 2009-5-5 23:55
9
0
不知道第二个 多于的这些语句是干什么用的,是不是多余的?编译是编译不过去的。

      <PrivateImplementationDetails>{5B393355-33DA-4A4C-8F9C-9C2F3E032A18}.$$method0x60000e6-1 = dictionary1;
          }
          if (<PrivateImplementationDetails>{5B393355-33DA-4A4C-8F9C-9C2F3E032A18}.$$method0x60000e6-1.TryGetValue(key, out num1))
hezhichun 2009-5-7 12:22
10
0
看IL比较可靠
游客
登录 | 注册 方可回帖
返回