好友
阅读权限10
听众
最后登录1970-1-1
|
完美qqip隐藏助手 1.68 简单的网络验证体系分析
完美qqip隐藏助手 1.68
http://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:[ESP+A0] ; |
0040386D . 899C24 381300>MOV DWORD PTR SS:[ESP+1338],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:[ESP+214]
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:[ESP+98] ; |
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:[EDI+70]
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:[EDI+68],1
00403BA2 . E8 65C00400 CALL <JMP.&MFC42.#6334_CWnd::UpdateData>
00403BA7 . EB 25 JMP SHORT 完美QQIP.00403BCE
引用:
向注册表写入一下信息:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\FRIENDES\QQ]
"Register"="已注册"
网络验证 归根结底 其实还是本地验证的一种变形模式 因为程序验证后程序一定要向本地保存注册信息 程序启动时也一定会调用注册信息进行比较验证 或者程序的某些功能调用时一定会读取保存信息 所以程序的验证算法部分仍旧在本地实现 象这种不返回网络验证数据的程序数据网验中最简单的一种 并且程序保存的是固定数值 这里是最失败的手法 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|