大家好!
今天用Reflector 5.1.2.0 反编译了一段代码,遇到了一点问题。代码中if语句中的判断条件变成了"$$method0x60000ff",请问这个问题如何解决呢?非常感谢!
如下: if (((obj2 = strBtnAttributeType) != null) && ((obj2 = <PrivateImplementationDetails>.$$method0x60000ff-1[obj2]) != null))
页面全部原代码为:
using System;
using System.Web.UI;
using XpShop6X.XpShop.Utility;
using XpShop6X.XpShop.WebUI;public partial class Admin_Actions : System.Web.UI.Page
{
public ConfigDetails config = new ConfigDetails();
public string strChallenge;
public string strUKeyCode;
public bool uKeyEnabled;
private void InitializeComponent()
{
base.Load += new EventHandler(this.Page_Load);
} protected override void OnInit(EventArgs e)
{
this.InitializeComponent();
base.OnInit(e);
} private void Page_Load(object sender, EventArgs e)
{
this.config = new ConfigDB().GetSystemConfig();
this.strChallenge = WebUtils.GetUKeyChallengeString();
this.uKeyEnabled = this.config.uKeyEnabled;
this.strUKeyCode = this.config.UKeyCode;
if (base.Request.QueryString["Action"] != null)
{
object obj2;
ProductDB tdb = new ProductDB();
ArticleCategoryDB ydb = new ArticleCategoryDB();
LinkDB kdb = new LinkDB();
ADDB addb = new ADDB();
PollDB ldb = new PollDB();
CategoryDB ydb2 = new CategoryDB();
if (((obj2 = base.Request.QueryString["Action"].Trim()) != null) && ((obj2 = <PrivateImplementationDetails>.$$method0x600000d-1[obj2]) != null))
{
switch (((int) obj2))
{
case 0:
{
int customFieldItemID = int.Parse(base.Request.QueryString["ItemID"].Trim());
tdb.DeleteCustomFieldItem(customFieldItemID);
base.Response.Redirect("ProductCustomField.aspx?productID=" + base.Request.QueryString["pid"]);
break;
}
case 1:
new CurrencyDB().SetDefaultCurrency(int.Parse(base.Request.QueryString["CID"].Trim()));
base.Response.Redirect("Currency.aspx?Action=Manage");
break; case 2:
ydb2.ChangeInNavStatus(int.Parse(base.Request.QueryString["CatID"].Trim()), base.Request.QueryString["Status"].Trim() != "True");
base.Response.Redirect("Category.aspx");
break; case 3:
......
break;
}
}
}
}
}
今天用Reflector 5.1.2.0 反编译了一段代码,遇到了一点问题。代码中if语句中的判断条件变成了"$$method0x60000ff",请问这个问题如何解决呢?非常感谢!
如下: if (((obj2 = strBtnAttributeType) != null) && ((obj2 = <PrivateImplementationDetails>.$$method0x60000ff-1[obj2]) != null))
页面全部原代码为:
using System;
using System.Web.UI;
using XpShop6X.XpShop.Utility;
using XpShop6X.XpShop.WebUI;public partial class Admin_Actions : System.Web.UI.Page
{
public ConfigDetails config = new ConfigDetails();
public string strChallenge;
public string strUKeyCode;
public bool uKeyEnabled;
private void InitializeComponent()
{
base.Load += new EventHandler(this.Page_Load);
} protected override void OnInit(EventArgs e)
{
this.InitializeComponent();
base.OnInit(e);
} private void Page_Load(object sender, EventArgs e)
{
this.config = new ConfigDB().GetSystemConfig();
this.strChallenge = WebUtils.GetUKeyChallengeString();
this.uKeyEnabled = this.config.uKeyEnabled;
this.strUKeyCode = this.config.UKeyCode;
if (base.Request.QueryString["Action"] != null)
{
object obj2;
ProductDB tdb = new ProductDB();
ArticleCategoryDB ydb = new ArticleCategoryDB();
LinkDB kdb = new LinkDB();
ADDB addb = new ADDB();
PollDB ldb = new PollDB();
CategoryDB ydb2 = new CategoryDB();
if (((obj2 = base.Request.QueryString["Action"].Trim()) != null) && ((obj2 = <PrivateImplementationDetails>.$$method0x600000d-1[obj2]) != null))
{
switch (((int) obj2))
{
case 0:
{
int customFieldItemID = int.Parse(base.Request.QueryString["ItemID"].Trim());
tdb.DeleteCustomFieldItem(customFieldItemID);
base.Response.Redirect("ProductCustomField.aspx?productID=" + base.Request.QueryString["pid"]);
break;
}
case 1:
new CurrencyDB().SetDefaultCurrency(int.Parse(base.Request.QueryString["CID"].Trim()));
base.Response.Redirect("Currency.aspx?Action=Manage");
break; case 2:
ydb2.ChangeInNavStatus(int.Parse(base.Request.QueryString["CatID"].Trim()), base.Request.QueryString["Status"].Trim() != "True");
base.Response.Redirect("Category.aspx");
break; case 3:
......
break;
}
}
}
}
}
最好方法是搜索工程,将$$去掉称为合法的标识符$$method0x60000ff