【文章标题】: abex' #2的算法分析(VB简单)
【文章作者】: bxm
【作者邮箱】: bxm78@163.com
【保护方式】: name,serial
【使用工具】: OD
【操作平台】: winxp
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
有出错提示,下rtcmsgbox很容易断下,向上翻找,重新在[00403179]下普通断点,输入:
name:bxm78
serial:780328051
00403179 . 899D 1CFFFFFF mov [ebp-E4], ebx ; [ebp-E4]为循环次数,共4次
0040317F . 89BD 14FFFFFF mov [ebp-EC], edi
00403185 . 89BD 04FFFFFF mov [ebp-FC], edi
0040318B . FF15 30104000 call [<&MSVBVM60.__vbaVarForInit>] ; MSVBVM60.__vbaVarForInit
00403191 . 8B1D 4C104000 mov ebx, [<&MSVBVM60.#632>] ; MSVBVM60.rtcMidCharVar
00403197 > 85C0 test eax, eax ; 循环了4次没有?
00403199 . 0F84 06010000 je 004032A5 ; 循环完了,跳
0040319F . 8D95 64FFFFFF lea edx, [ebp-9C]
004031A5 . 8D45 DC lea eax, [ebp-24]
004031A8 . 52 push edx
004031A9 . 50 push eax
004031AA . C785 6CFFFFFF>mov dword ptr [ebp-94], 1
004031B4 . 89BD 64FFFFFF mov [ebp-9C], edi
004031BA . FF15 A8104000 call [<&MSVBVM60.__vbaI4Var>] ; MSVBVM60.__vbaI4Var
004031C0 . 8D4D 8C lea ecx, [ebp-74]
004031C3 . 50 push eax
004031C4 . 8D95 54FFFFFF lea edx, [ebp-AC]
004031CA . 51 push ecx
004031CB . 52 push edx
004031CC . FFD3 call ebx
004031CE . 8D95 54FFFFFF lea edx, [ebp-AC]
004031D4 . 8D4D AC lea ecx, [ebp-54]
004031D7 . FFD6 call esi
004031D9 . 8D8D 64FFFFFF lea ecx, [ebp-9C]
004031DF . FF15 0C104000 call [<&MSVBVM60.__vbaFreeVar>] ; MSVBVM60.__vbaFreeVar
004031E5 . 8D45 AC lea eax, [ebp-54]
004031E8 . 8D8D 78FFFFFF lea ecx, [ebp-88]
004031EE . 50 push eax
004031EF . 51 push ecx
004031F0 . FF15 80104000 call [<&MSVBVM60.__vbaStrVarVal>] ; MSVBVM60.__vbaStrVarVal
004031F6 . 50 push eax
004031F7 . FF15 1C104000 call [<&MSVBVM60.#516>] ; name的每一个字符依次入EAX
004031FD . 8D95 24FFFFFF lea edx, [ebp-DC]
00403203 . 8D4D AC lea ecx, [ebp-54]
00403206 . 66:8985 2CFFF>mov [ebp-D4], ax ; AX存入[ebp-d4]
0040320D . 89BD 24FFFFFF mov [ebp-DC], edi
00403213 . FFD6 call esi
00403215 . 8D8D 78FFFFFF lea ecx, [ebp-88]
0040321B . FF15 CC104000 call [<&MSVBVM60.__vbaFreeStr>] ; MSVBVM60.__vbaFreeStr
00403221 . 8D55 AC lea edx, [ebp-54]
00403224 . 8D85 24FFFFFF lea eax, [ebp-DC]
0040322A . 52 push edx ; EDX为实际地址-8后的地址,此为加数1
0040322B . 8D8D 64FFFFFF lea ecx, [ebp-9C]
00403231 . 50 push eax ; EAX为实际地址-8后的地址,此为加数2,即下面的64H
00403232 . 51 push ecx ; ECX为实际地址-8后的地址,此为和数
00403233 . C785 2CFFFFFF>mov dword ptr [ebp-D4], 64
0040323D . 89BD 24FFFFFF mov [ebp-DC], edi
00403243 . FF15 AC104000 call [<&MSVBVM60.__vbaVarAdd>] ; 相加的和数放在[12F474]处
00403249 . 8BD0 mov edx, eax ; EDX为和数实际地址-8后的地址值
0040324B . 8D4D AC lea ecx, [ebp-54] ; ECX+8为要移动到的实际地址
0040324E . FFD6 call esi
00403250 . 8D55 AC lea edx, [ebp-54] ; EDX为和数实际地址-8后的地址值
00403253 . 8D85 64FFFFFF lea eax, [ebp-9C] ; [EAX+8]为转换后保存字符串的地址值
00403259 . 52 push edx
0040325A . 50 push eax
0040325B . FF15 94104000 call [<&MSVBVM60.#573>] ; 此函数把十六进制数转换成相应的字符串
00403261 . 8D95 64FFFFFF lea edx, [ebp-9C]
00403267 . 8D4D AC lea ecx, [ebp-54]
0040326A . FFD6 call esi
0040326C . 8D4D BC lea ecx, [ebp-44]
0040326F . 8D55 AC lea edx, [ebp-54]
00403272 . 51 push ecx
00403273 . 8D85 64FFFFFF lea eax, [ebp-9C]
00403279 . 52 push edx
0040327A . 50 push eax
0040327B . FF15 84104000 call [<&MSVBVM60.__vbaVarCat>] ; 连接字符串
00403281 . 8BD0 mov edx, eax
00403283 . 8D4D BC lea ecx, [ebp-44]
00403286 . FFD6 call esi
00403288 . 8D8D BCFEFFFF lea ecx, [ebp-144]
0040328E . 8D95 CCFEFFFF lea edx, [ebp-134]
00403294 . 51 push ecx
00403295 . 8D45 DC lea eax, [ebp-24]
00403298 . 52 push edx
00403299 . 50 push eax
0040329A . FF15 C0104000 call [<&MSVBVM60.__vbaVarForNext>] ; MSVBVM60.__vbaVarForNext
004032A0 .^ E9 F2FEFFFF jmp 00403197
……省略一些代码
00403327 . 52 push edx ; [edx+8]地址处为真码
00403328 . 50 push eax ; [eax+8]地址处为假码
00403329 . FF15 58104000 call [<&MSVBVM60.__vbaVarTstEq>] ; MSVBVM60.__vbaVarTstEq
0040332F . 66:85C0 test ax, ax ; EAX=0 ?
00403332 0F84 D0000000 je 00403408 ; 关键跳,不跳则成功
算法小结:
name的前4个字符依次加64H,结果转换成字符串并连接起来即成注册码。
可用的一组注册码:
name:bxm78
serial:C6DCD19B
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2006年08月23日 上午 11:24:23
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课