首页
社区
课程
招聘
[原创]abex' #2的算法分析(VB简单)
发表于: 2006-8-23 11:24 5065

[原创]abex' #2的算法分析(VB简单)

bxm 活跃值
29
2006-8-23 11:24
5065

【文章标题】: 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


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (2)
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
2
算法小结:
    name的前4个字符依次加64H,结果转换成字符串并连接起来即成注册码。

--->果然简单!怎么我就遇不上?
2006-8-23 20:34
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
3
简单的说,近期学脱壳,头都大了,晕够了,上来顶顶贴
2006-8-23 22:38
0
游客
登录 | 注册 方可回帖
返回
//