一道网络验证的CrackMe题

来源:互联网 发布:学校软件设施 编辑:程序博客网 时间:2024/05/22 17:18

这是软件的下载地址http://pan.baidu.com/s/1bn6BbIJ


第一个是客户端程序,打开后如图


第二个是服务端程序,如图


首先用OD加载客户端程序,随便输入name和password,然后发送并接收来自服务端的一串字符,经过一番运算,最终得到”CHKFL”,试了好几组,都是这个结果,然后与”CHKPS”相比,若相等则成功注册。因为不管输入的是什么,最终得到的都是”CHKFL”,这个很不正常,显然真正的比较已经在服务端里完成了,发送过来的肯定不对。

 

于是分析服务端的程序

这两个recv分别接收name 和>

eax,ecx是name和password的地址,这个函数显然是对name 和 password进行运算。如下图


对输入的name的字符串进行了一番加乘运算,最终得到0x14个字符,然后与输入的密码比较,若相等则打印出”Key checkcorrect”字符串,并发送给客户端一个特定字符串(可以翻译成CHKPS的6个字符),于是我输入xvc,然后在服务端得到那个长0x14的字符串,然后再次重新输入,就成功了,如下图。



 

0 0
原创粉丝点击