首页
社区
课程
招聘
[旧帖] 我的半成品,剩下的不懂了。 0.00雪花
发表于: 2007-5-15 01:08 3624

[旧帖] 我的半成品,剩下的不懂了。 0.00雪花

2007-5-15 01:08
3624

请各位大虾帮忙分析一下



我已经分析了一部分:
[ebp-1C]=0
[ebp-40]=机器码
[ebp-48]=8008
[ebp-20]=SN
[ebp-30]=sn

请各位牛人帮我分析一下sn的算法或详细帮我注释一下。谢谢!

还有,它的机器码不受重装系统影响,即永远不变。

0046EF50   > \55            push    ebp
0046EF51   .  8BEC          mov     ebp, esp
0046EF53   .  83EC 0C       sub     esp, 0C
0046EF56   .  68 F6184000   push    <jmp.&MSVBVM60.__vbaExceptHandle>;  SE handler installation
0046EF5B   .  64:A1 0000000>mov     eax, dword ptr fs:[0]
0046EF61   .  50            push    eax
0046EF62   .  64:8925 00000>mov     dword ptr fs:[0], esp
0046EF69   .  81EC C4000000 sub     esp, 0C4
0046EF6F   .  53            push    ebx
0046EF70   .  56            push    esi
0046EF71   .  57            push    edi
0046EF72   .  8965 F4       mov     dword ptr [ebp-C], esp
0046EF75   .  C745 F8 A0134>mov     dword ptr [ebp-8], 004013A0
0046EF7C   .  8B75 08       mov     esi, dword ptr [ebp+8]
0046EF7F   .  8BC6          mov     eax, esi
0046EF81   .  83E0 01       and     eax, 1
0046EF84   .  8945 FC       mov     dword ptr [ebp-4], eax
0046EF87   .  83E6 FE       and     esi, FFFFFFFE
0046EF8A   .  56            push    esi
0046EF8B   .  8975 08       mov     dword ptr [ebp+8], esi
0046EF8E   .  8B0E          mov     ecx, dword ptr [esi]
0046EF90   .  FF51 04       call    dword ptr [ecx+4]
0046EF93   .  33DB          xor     ebx, ebx
0046EF95   .  8D55 C8       lea     edx, dword ptr [ebp-38]
0046EF98   .  53            push    ebx
0046EF99   .  68 14B24000   push    0040B214                         ;  UNICODE "updata.cl_val"
0046EF9E   .  52            push    edx
0046EF9F   .  895D E8       mov     dword ptr [ebp-18], ebx
0046EFA2   .  895D E4       mov     dword ptr [ebp-1C], ebx
0046EFA5   .  895D E0       mov     dword ptr [ebp-20], ebx
0046EFA8   .  895D DC       mov     dword ptr [ebp-24], ebx
0046EFAB   .  895D D8       mov     dword ptr [ebp-28], ebx
0046EFAE   .  895D C8       mov     dword ptr [ebp-38], ebx
0046EFB1   .  895D B8       mov     dword ptr [ebp-48], ebx
0046EFB4   .  895D A8       mov     dword ptr [ebp-58], ebx
0046EFB7   .  895D 98       mov     dword ptr [ebp-68], ebx
0046EFBA   .  895D 88       mov     dword ptr [ebp-78], ebx
0046EFBD   .  899D 78FFFFFF mov     dword ptr [ebp-88], ebx
0046EFC3   .  899D 54FFFFFF mov     dword ptr [ebp-AC], ebx
0046EFC9   .  FF15 24114000 call    dword ptr [<&MSVBVM60.#716>]     ;  MSVBVM60.rtcCreateObject2
0046EFCF   .  8D45 C8       lea     eax, dword ptr [ebp-38]
0046EFD2   .  50            push    eax
0046EFD3   .  FF15 C4104000 call    dword ptr [<&MSVBVM60.__vbaObjVa>;  MSVBVM60.__vbaObjVar
0046EFD9   .  8D4D E8       lea     ecx, dword ptr [ebp-18]
0046EFDC   .  50            push    eax
0046EFDD   .  51            push    ecx
0046EFDE   .  FF15 8C104000 call    dword ptr [<&MSVBVM60.__vbaObjSe>;  MSVBVM60.__vbaObjSetAddref
0046EFE4   .  8D4D C8       lea     ecx, dword ptr [ebp-38]
0046EFE7   .  FF15 1C104000 call    dword ptr [<&MSVBVM60.__vbaFreeV>;  MSVBVM60.__vbaFreeVar
0046EFED   .  8B16          mov     edx, dword ptr [esi]
0046EFEF   .  56            push    esi
0046EFF0   .  FF92 00030000 call    dword ptr [edx+300]
0046EFF6   .  50            push    eax
0046EFF7   .  8D45 DC       lea     eax, dword ptr [ebp-24]
0046EFFA   .  50            push    eax
0046EFFB   .  FF15 7C104000 call    dword ptr [<&MSVBVM60.__vbaObjSe>;  MSVBVM60.__vbaObjSet
0046F001   .  8BF8          mov     edi, eax
0046F003   .  8D55 E4       lea     edx, dword ptr [ebp-1C]
0046F006   .  52            push    edx
0046F007   .  57            push    edi
0046F008   .  8B0F          mov     ecx, dword ptr [edi]
0046F00A   .  FF91 A0000000 call    dword ptr [ecx+A0]               ;  读机器码,存于[ebp-1C]
0046F010   .  3BC3          cmp     eax, ebx
0046F012   .  DBE2          fclex
0046F014   .  7D 12         jge     short 0046F028                   ;  如果等于0,要检查
0046F016   .  68 A0000000   push    0A0
0046F01B   .  68 BCAD4000   push    0040ADBC
0046F020   .  57            push    edi
0046F021   .  50            push    eax
0046F022   .  FF15 54104000 call    dword ptr [<&MSVBVM60.__vbaHresu>;  MSVBVM60.__vbaHresultCheckObj
0046F028   >  8B45 E4       mov     eax, dword ptr [ebp-1C]
0046F02B   .  56            push    esi
0046F02C   .  8945 C0       mov     dword ptr [ebp-40], eax
0046F02F   .  8B06          mov     eax, dword ptr [esi]
0046F031   .  895D E4       mov     dword ptr [ebp-1C], ebx
0046F034   .  C745 B8 08800>mov     dword ptr [ebp-48], 8008
0046F03B   .  FF90 04030000 call    dword ptr [eax+304]
0046F041   .  8D4D D8       lea     ecx, dword ptr [ebp-28]
0046F044   .  50            push    eax
0046F045   .  51            push    ecx
0046F046   .  FF15 7C104000 call    dword ptr [<&MSVBVM60.__vbaObjSe>;  MSVBVM60.__vbaObjSet
0046F04C   .  8BF8          mov     edi, eax
0046F04E   .  8D45 E0       lea     eax, dword ptr [ebp-20]
0046F051   .  50            push    eax
0046F052   .  57            push    edi
0046F053   .  8B17          mov     edx, dword ptr [edi]
0046F055   .  FF92 A0000000 call    dword ptr [edx+A0]               ;  读SN,存[ebp-20]
0046F05B   .  3BC3          cmp     eax, ebx
0046F05D   .  DBE2          fclex
0046F05F   .  7D 12         jge     short 0046F073
0046F061   .  68 A0000000   push    0A0
0046F066   .  68 BCAD4000   push    0040ADBC
0046F06B   .  57            push    edi
0046F06C   .  50            push    eax
0046F06D   .  FF15 54104000 call    dword ptr [<&MSVBVM60.__vbaHresu>;  MSVBVM60.__vbaHresultCheckObj
0046F073   >  8D55 B8       lea     edx, dword ptr [ebp-48]
0046F076   .  8B45 E0       mov     eax, dword ptr [ebp-20]
0046F079   .  52            push    edx
0046F07A   .  B9 08000000   mov     ecx, 8
0046F07F   .  83EC 10       sub     esp, 10
0046F082   .  894D C8       mov     dword ptr [ebp-38], ecx
0046F085   .  8BD4          mov     edx, esp
0046F087   .  8945 D0       mov     dword ptr [ebp-30], eax
0046F08A   .  6A 01         push    1
0046F08C   .  68 30B24000   push    0040B230                         ;  UNICODE "returnnumber"
0046F091   .  890A          mov     dword ptr [edx], ecx
0046F093   .  8B4D CC       mov     ecx, dword ptr [ebp-34]
0046F096   .  895D E0       mov     dword ptr [ebp-20], ebx
0046F099   .  894A 04       mov     dword ptr [edx+4], ecx
0046F09C   .  8B4D E8       mov     ecx, dword ptr [ebp-18]
0046F09F   .  51            push    ecx
0046F0A0   .  8942 08       mov     dword ptr [edx+8], eax
0046F0A3   .  8B45 D4       mov     eax, dword ptr [ebp-2C]
0046F0A6   .  8942 0C       mov     dword ptr [edx+C], eax
0046F0A9   .  8D55 A8       lea     edx, dword ptr [ebp-58]
0046F0AC   .  52            push    edx
0046F0AD   .  FF15 A8114000 call    dword ptr [<&MSVBVM60.__vbaLateM>;  MSVBVM60.__vbaLateMemCallLd
0046F0B3   .  83C4 20       add     esp, 20
0046F0B6   .  50            push    eax
0046F0B7   .  FF15 C0104000 call    dword ptr [<&MSVBVM60.__vbaVarTs>;  VarTstEq  计算是否相等 注意edi
0046F0BD   .  8BF8          mov     edi, eax
0046F0BF   .  8D45 D8       lea     eax, dword ptr [ebp-28]
0046F0C2   .  8D4D DC       lea     ecx, dword ptr [ebp-24]
0046F0C5   .  50            push    eax
0046F0C6   .  51            push    ecx
0046F0C7   .  6A 02         push    2
0046F0C9   .  FF15 3C104000 call    dword ptr [<&MSVBVM60.__vbaFreeO>;  MSVBVM60.__vbaFreeObjList
0046F0CF   .  8D55 A8       lea     edx, dword ptr [ebp-58]
0046F0D2   .  8D45 B8       lea     eax, dword ptr [ebp-48]
0046F0D5   .  52            push    edx
0046F0D6   .  8D4D C8       lea     ecx, dword ptr [ebp-38]
0046F0D9   .  50            push    eax
0046F0DA   .  51            push    ecx
0046F0DB   .  6A 03         push    3
0046F0DD   .  FF15 30104000 call    dword ptr [<&MSVBVM60.__vbaFreeV>;  MSVBVM60.__vbaFreeVarList
0046F0E3   .  8B16          mov     edx, dword ptr [esi]
0046F0E5   .  83C4 1C       add     esp, 1C
0046F0E8   .  66:3BFB       cmp     di, bx
0046F0EB   .  0F84 35020000 je      跳就玩完。

[注意]APP应用上架合规检测服务,协助应用顺利上架!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
VB的.看着就头痛..
2007-5-15 08:37
0
游客
登录 | 注册 方可回帖
返回
//