教你如何破解各种网络验证
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教你如何破解各种网络验证
文件夹内有几个文件,分别是main.dat,start.exe
OD加载start.exe,退出,弹出软件窗口,OD下断CreateProcess,发现其打开的是main.dat,用UE查看main.dat,原来是个可执行文件被改名了,于是改名为main.exe。
PE查壳ASPack 2.12 -> Alexey Solodovnikov
直接cooldumper搞定
开始分析
点击登录,出现MessageboxW,未注册用户,窃喜,bp MessageBoxW.
果断断住,看堆栈调用情况
0013F550 0065A066 /CALL 到MessageBoxW
0013F554 007802CC |hOwner = 007802CC ('三国哈哈1.17',class='TLoginForm',parent=018803B2)
0013F558 00C6F33C |Text = "?,B4,"",D7,"",A2,"",B2,"嵊?,BB,"?
0013F55C 00C76544 |Title = ""D7,"",A2,"意"
0013F560 00000000 \Style = MB_OK|MB_APPLMODAL
0013F564 0013F93C 指向下一个SEH 记录的指针
0013F568 00546D1F SE处理程序
0013F56C 0013F5F8
0013F570 0013F798
0013F574 0044E700 dumped_.0044E700
0013F578 00BC67C0 ASCII "pkD"
0013F57C 00000000
0013F580 00000000
0013F584 00000000
0013F588 00000000
0013F58C 00000000
0013F590 00000000
0013F594 00000000
0013F598 00000000
0013F59C 00000000
0013F5A0 00C6F33C ASCII "*g鑜孮(u7b"
0013F5A4 00C76544
0013F5A8 00000000
0013F5AC 00000000
0013F5B0 00C8AA7C UNICODE "d00b-207dcdd2"
0013F5B4 00C8AA1C UNICODE "D00B-207DCDD2"
0013F5B8 00C8AA4C UNICODE "d00b-207dcdd2"
0013F5BC 00C8EC14 UNICODE "D:\sg117\script\"
0013F5C0 00000000
0013F5C4 00000000
0013F5C8 00000000
0013F5CC 00000000
0013F5D0 00CA581C UNICODE "D:\sg117\upup.exe"
0013F5D4 00000000
0013F5D8 00CA57E4 UNICODE "D:\sg117\start.exe"
0013F5DC 00C8EC14 UNICODE "D:\sg117\script\"
0013F5E0 00000000
0013F5E4 00CA5774 UNICODE "D:\sg117\updata.exe"
0013F5E8 00000000
0013F5EC 00000000
0013F5F0 00C8A9EC UNICODE "D00B-207DCDD2"
看到最后面几行有D00b什么的,是软件上提示的机器码。其他没什么营养,先放住不管。可能我才疏学浅,认为这种外挂一定是网络验证的,所以也没去深究这个D00B什么的,既然MessageBox没看出什么端倪,换方法。
bp send, bp recv全部打好断点
点击登录。断下在bp send ,看发包data,是明文,如下
0013F2A8 |00C214F8 ASCII "GET Http://60.190.222.188:8000/wglog ... 09C85&port=8020 HTTP/1.1",CR,LF,"Host: 60.190.222.188",CR,LF,"Connection: Ke"...
好长的一段串啊,不管它查下堆栈很容易发现它的组包过程。
几个Unicode串摆在堆栈里面,是由之前的D00B-207DCDD2+我硬盘号+我MAC地址+一个时间数,然后看长度好像将这些参数组合进行了一次SHA运算,得出的这个串.当然这只是猜想,我认为没必要去跟组包的算法。毕竟网络验证都是通过回包的信息进行各种跳,各种逻辑的。
直接F9跑到recv这里看看,收包明文,如下
0013F274 |0110A048 ASCII "HTTP/1.1 200 OK",CR,LF,"Connection: keep-alive",CR,LF,"Content-Type: text/html",CR,LF,"Content-Length: 20",CR,LF,"Server: Indy/9.00.10",CR,LF,CR,LF,"REG:AAEDGWE29AB8C"
恩服务器回来的包很短REG:AAEDGWE29AB8C
分析一下发包的包值吧,每次发包相同值都是9D1669ADA23091A6F454E45991E4EB2258E2B2DF5B591B
不同点的地方在于后面,如果我每次把不同的值记录下来,发一样的,服务器是否会给我回一样的包呢,测试一下。