完美qqip隐藏助手 1.68 简单的网络验证体系分析
完美qqip隐藏助手 1.68http://www.onlinedown.net/soft/64240.htm
这款程序的网络验证体系是比较简单的 拿出来跟大家分享下。
软件无壳 并且在OD中可以搜索到关键的ASCII字符 我们从关键字符入手 打开注册窗口 在这里下断
00403855 .68 04010000 PUSH 104 ; /Arg5 = 00000104
0040385A .50 PUSH EAX ; |Arg4
0040385B .53 PUSH EBX ; |Arg3 => 00000000
0040385C .68 94A24600 PUSH 完美QQIP.0046A294 ; |Register
00403861 .68 90A24600 PUSH 完美QQIP.0046A290 ; |QQ
00403866 .8D8C24 A00000>LEA ECX,DWORD PTR SS: ; |
0040386D .899C24 381300>MOV DWORD PTR SS:,EBX ; |点注册后段到这里
00403874 .E8 F71C0300 CALL 完美QQIP.00435570 ; \完美QQIP.00435570
00403879 .3BC3 CMP EAX,EBX
0040387B .74 37 JE SHORT 完美QQIP.004038B4 ;这里跳走
0040387D .8D8C24 140200>LEA ECX,DWORD PTR SS:
00403884 .68 88A24600 PUSH 完美QQIP.0046A288 ; /已注册
00403889 .51 PUSH ECX ; |s1
0040388A .FF15 B0784500 CALL DWORD PTR DS:[<&MSVCRT._mbscmp>] ; \_mbscmp
00403890 .83C4 08 ADD ESP,8
00403893 .85C0 TEST EAX,EAX
00403895 .75 11 JNZ SHORT 完美QQIP.004038A8 ;很显然 之前的版本未采用网络验证时 采用的是重启验证
00403897 .53 PUSH EBX
00403898 .53 PUSH EBX
00403899 .68 5CA34600 PUSH 完美QQIP.0046A35C ;注册完成, 请重新运行软件!
0040389E .E8 E5C20400 CALL <JMP.&MFC42.#1200_AfxMessageBox>
004038A3 .E9 80030000 JMP 完美QQIP.00403C28
中间进行了一些加密数据的传送 结果下方的比较令我们很失望我们在这里下断:
00403B54 .E8 07010000 CALL 完美QQIP.00403C60 ; \上方完成了网络验证 这里做比较
00403B59 .3BC3 CMP EAX,EBX
00403B5B .74 4C JE SHORT 完美QQIP.00403BA9 ;这里不跳转 则向注册表写入注册信息
00403B5D .68 88A24600 PUSH 完美QQIP.0046A288 ; /已注册
00403B62 .68 94A24600 PUSH 完美QQIP.0046A294 ; |Register
00403B67 .68 90A24600 PUSH 完美QQIP.0046A290 ; |QQ
00403B6C .8D8C24 980000>LEA ECX,DWORD PTR SS: ; |
00403B73 .E8 48190300 CALL 完美QQIP.004354C0 ; \完美QQIP.004354C0
00403B78 .8BCF MOV ECX,EDI
00403B7A .E8 E7C00400 CALL <JMP.&MFC42.#2652_CCmdTarget::EndWa>
00403B7F .53 PUSH EBX
00403B80 .53 PUSH EBX
00403B81 .68 38A34600 PUSH 完美QQIP.0046A338 ;注册成功, 请重新运行程序。
00403B86 .E8 FDBF0400 CALL <JMP.&MFC42.#1200_AfxMessageBox>
00403B8B .68 88A24600 PUSH 完美QQIP.0046A288 ;已注册
00403B90 .8D4F 70 LEA ECX,DWORD PTR DS:
00403B93 .E8 DABD0400 CALL <JMP.&MFC42.#860_CString::operator=>
00403B98 .53 PUSH EBX
00403B99 .8BCF MOV ECX,EDI
00403B9B .C747 68 01000>MOV DWORD PTR DS:,1
00403BA2 .E8 65C00400 CALL <JMP.&MFC42.#6334_CWnd::UpdateData>
00403BA7 .EB 25 JMP SHORT 完美QQIP.00403BCE
向注册表写入一下信息:
Windows Registry Editor Version 5.00
"Register"="已注册"
网络验证 归根结底 其实还是本地验证的一种变形模式 因为程序验证后程序一定要向本地保存注册信息 程序启动时也一定会调用注册信息进行比较验证 或者程序的某些功能调用时一定会读取保存信息 所以程序的验证算法部分仍旧在本地实现 象这种不返回网络验证数据的程序数据网验中最简单的一种 并且程序保存的是固定数值 这里是最失败的手法 能稍微再具体点吗?加点使用到的命令啥的 学习学习。。。/:001 不错啊学习一下啊 支持下子,学习学习~~ 谢谢!学习了!/:014 网络验证的,要学习一下拉啊 谢谢分享心得!/:good 我是菜鸟,看不懂。
页:
[1]
2