问题描述
小弟有个软件,是采集信息发布内容到自己网站上的软件,但是这个软件登陆的时候要求输入网站域名以及网站上的用户名和密码,但是软件会有一个验证过程就是如果网站域名不是授权域名的话,不能登陆,详细看附件1。经过用reflector查看,发现对应代码为privatevoidbtn_Ok_Click(objectsender,RoutedEventArgse){stringstr=this.Pwd.Password.ToString();stringstr2=this.Uname.Text.Trim();stringshopexUrl=this.Url.Text.Trim();try{CommonUse.InitConf(shopexUrl);}catch(Exceptionexception){MessageBox.Show("连接平台:"+exception.Message);return;}小弟拙见,不知道对应的il代码是否是.try{IL_0033:ldloc.2IL_0034:callvoidCom19blockClient.Lib19.CommonUse::InitConf(string)IL_0039:leave.sIL_0057}//end.trycatch[mscorlib]System.Exception{IL_003b:stloc.3IL_003c:ldstrbytearray(DE8FA563735EF0533A00)//...cs^.S:.IL_0041:ldloc.3IL_0042:callvirtinstancestring[mscorlib]System.Exception::get_Message()IL_0047:callstring[mscorlib]System.String::Concat(string,string)IL_004c:callvaluetype[PresentationFramework]System.Windows.MessageBoxResult[PresentationFramework]System.Windows.MessageBox::Show(string)IL_0051:pop如果是的话应该怎么在il语言中修改将这个程序修改为不经过url验证
解决方案
解决方案二:
顶起,在线待答
解决方案三:
直接注释掉try中的语句不行么
解决方案四:
IL_0033:ldloc.2//这句都注释掉IL_0034:callvoidCom19blockClient.Lib19.CommonUse::InitConf(string)//这句都注释掉IL_0039:leave.sIL_0057
解决方案五:
解决方案六:
根据楼上的提示,注释掉后输入任何域名不再有url验证窗口,但是输入正确的用户名和密码进步了软件主界面,如果是URL引用3楼wyd1520的回复:
IL_0033:ldloc.2//这句都注释掉IL_0034:callvoidCom19blockClient.Lib19.CommonUse::InitConf(string)//这句都注释掉IL_0039:leave.sIL_0057
根据这位仁兄的指导,确实不经过url验证了,但是新问题出来了,如果原本是授权过的url,能进入主界面,不是授权的url还是无法进入主界面(修改过后软件自己死机)
解决方案七:
引用5楼msyhr的回复:
根据楼上的提示,注释掉后输入任何域名不再有url验证窗口,但是输入正确的用户名和密码进步了软件主界面,如果是URLQuote: 引用3楼wyd1520的回复:
IL_0033:ldloc.2//这句都注释掉IL_0034:callvoidCom19blockClient.Lib19.CommonUse::InitConf(string)//这句都注释掉IL_0039:leave.sIL_0057根据这位仁兄的指导,确实不经过url验证了,但是新问题出来了,如果原本是授权过的url,能进入主界面,不是授权的url还是无法进入主界面(修改过后软件自己死机)
那是因为授权后,他对软件里面的某些变量进行了赋值。所以你要知道,那个授权的登录框他返回的是什么内容,你把他抓包下来,自己建个IIS,然后把授权的URL指向你自己的IIS就可以了。
解决方案八:
发的代码太少了,你得把try里面的代码也反编译看看
解决方案九:
引用5楼msyhr的回复:
根据楼上的提示,注释掉后输入任何域名不再有url验证窗口,但是输入正确的用户名和密码进步了软件主界面,如果是URLQuote: 引用3楼wyd1520的回复:
IL_0033:ldloc.2//这句都注释掉IL_0034:callvoidCom19blockClient.Lib19.CommonUse::InitConf(string)//这句都注释掉IL_0039:leave.sIL_0057根据这位仁兄的指导,确实不经过url验证了,但是新问题出来了,如果原本是授权过的url,能进入主界面,不是授权的url还是无法进入主界面(修改过后软件自己死机)
感谢你一直耐心的回答,能加一下你的QQ吗?
解决方案十:
引用7楼liucqa的回复:
发的代码太少了,你得把try里面的代码也反编译看看
privatevoidbtn_Ok_Click(objectsender,RoutedEventArgse){stringstr=this.Pwd.Password.ToString();stringstr2=this.Uname.Text.Trim();stringshopexUrl=this.Url.Text.Trim();try{CommonUse.InitConf(shopexUrl);}catch(Exceptionexception){MessageBox.Show("连接平台:"+exception.Message);return;}RestClientclient=newRestClient();Resource.ShopexUrl=this.Url.Text.Trim();stringurl="19block/json/ClientLogin.php";stringdata="Uname="+str2+"&Pwd="+str;try{JObjectobj2=JObject.Parse(client.PostHttp("member",url,data));if(int.Parse(obj2["Status"].ToString())==0){MessageBox.Show(obj2["Message"].ToString());return;}}catch(Exceptionexception2){MessageBox.Show("连接分销网站:"+exception2.Message.ToString());return;}Resource.Uname=str2;Resource.Pwd=str;Resource.LoginTime=DateTime.Now;Resource.IsLogined=true;Dbdb=newDb();db.InitDatabase();db.UpdateSysDatabase();newMainWindow().Show();base.Close();}
解决方案十一:
login的全部代码全部给你发过去了
解决方案十二:
引用9楼rszc123的回复:
Quote: 引用7楼liucqa的回复:
发的代码太少了,你得把try里面的代码也反编译看看privatevoidbtn_Ok_Click(objectsender,RoutedEventArgse){stringstr=this.Pwd.Password.ToString();stringstr2=this.Uname.Text.Trim();stringshopexUrl=this.Url.Text.Trim();try{CommonUse.InitConf(shopexUrl);}catch(Exceptionexception){MessageBox.Show("连接平台:"+exception.Message);return;}RestClientclient=newRestClient();Resource.ShopexUrl=this.Url.Text.Trim();stringurl="19block/json/ClientLogin.php";stringdata="Uname="+str2+"&Pwd="+str;try{JObjectobj2=JObject.Parse(client.PostHttp("member",url,data));if(int.Parse(obj2["Status"].ToString())==0){MessageBox.Show(obj2["Message"].ToString());return;}}catch(Exceptionexception2){MessageBox.Show("连接分销网站:"+exception2.Message.ToString());return;}Resource.Uname=str2;Resource.Pwd=str;Resource.LoginTime=DateTime.Now;Resource.IsLogined=true;Dbdb=newDb();db.InitDatabase();db.UpdateSysDatabase();newMainWindow().Show();base.Close();}
这些都不是导致死机的代码