该如何找到这种类型的网络验证的关键跳转,还请前辈助我
在进行初步学习后尝试绕过其验证,初步判断其无壳。于是直接用OD打开,其停在了系统领空。
鉴于其有登录按钮,我决定采用暂停法破解。
在此根据其窗体提供的信息初步分析,该软件其是分为免费,普通会员和高级会员,我认为其应该有三个面向使用者的用户组,而免费版无需账号密码,使用的是一个公用的账号,应是一个无条件的跳转。
而另外的会员和高级会员则是需要条件的,所以我猜测其工作原理应该是客户端输入账号密码后,传至服务器进行比对,根据账号所在的用户组进行返值,再以返值比对进行跳转。
所以我认为只需要找到其返回值比对的跳转,进行修改,就可以成功登录。
先输入一组错误的账号密码尝试一下。
不出意外,弹出错误,于是我尝试寻找调用这个网络验证的关键call,
通过调用堆栈,初步确定弹窗位置,在其头部下一个断点,重新运行程序,在点击登录后,其断在此处,并未弹出报错窗口,但与此同时程序窗口也已经关闭。
单步向下运行至此处验证失败窗口弹出,鉴于在这之前程序窗口就已经关闭,我判断这个call可能只负责弹窗报错,验证已经在其上完成了。
而其上有大量跳转,这引起了我的怀疑,我认为这其中很有可能就有负责判断是否是会员的语句。
一次简单的尝试过后
嗯......好像登录了,又好像没有,显然是哪里出了问题,因为正常应该是这样的
如果不是我搞错了什么(我认为大概率搞错了),该不会他的返值判断绑了所有的窗口模块吧?在打开窗体时根据返值启动不同的的模块,说起来好像没问题,但显然有问题,一般根本不会有人这么写吧?
也有可能我一开始就错了,但我的能力也就到此为止了。
还望前辈指点,其下是软件附件
腾讯微云:https://share.weiyun.com/x1atNclY
无壳,无难度,可能有服务器数据。
net程序用dnspy
页:
[1]