影音卫士2003全能版的破戒 算法分析 上

时间:2005-12-20 来源: 作者: 点击:
工具:oll/ w32dasm 说明: 此软件的算法不难,就是在注册上有一些新的花样,若有注册成功的,请不要向外传播!!! 安装好软件后,你打开c:\windows\regmg.cfg 可看见:44604/%SQWRR#[[RTPO5".1TZ[ 将/%SQWRR#[[RTPO5".1TZ[的每一位xor 62 得到MG13500Ap99062-Wyu@LS68
  工具:oll/ w32dasm

说明:

此软件的算法不难,就是在注册上有一些新的花样,若有注册成功的,请不要向外传播!!!

安装好软件后,你打开c:\windows\regmg.cfg 可看见:44604/%SQWRR#[[RTPO5".1TZ[
       将/%SQWRR#[[RTPO5".1TZ[的每一位xor 62 得到MG13500Ap99062-Wyu@LS689
                                               
注意第一个的ASCI=12  第二个的ASCI=1B   第三个的ASCI=17
44604是 MG13500Ap99062-Wyu@LS689经过运算后得到的十进制数字           

分析如下:

:0048FA8C 8D4C2418                lea ecx, dword ptr [esp+18]  ecx=2448
:0048FA90 51                      push ecx
:0048FA91 8D8E10060000            lea ecx, dword ptr [esi+00000610]

* Reference To: MFC42.Ordinal:0F22, Ord:0F22h
                                 |
:0048FA97 E8F8D60000              Call 0049D194
:0048FA9C 8B542418                mov edx, dword ptr [esp+18]                                                          edx=2448MG13500Ap99062-Wyu@LS689
:0048FAA0 8B4C241C                mov ecx, dword ptr [esp+1C]   ecx=2448
:0048FAA4 8B42F8                  mov eax, dword ptr [edx-08]   eax=1C (注册码长度)
:0048FAA7 8B51F8                  mov edx, dword ptr [ecx-08]   EDX=4 (姓名长度)
:0048FAAA 3BC2                    cmp eax, edx
:0048FAAC 7F0C                    jg 0048FABA         
                   一定要跳转呀(注册码长度一定要大于姓名的长度)
:0048FAAE 8BCE                    mov ecx, esi

* Reference To: MFC42.Ordinal:12F5, Ord:12F5h
                                 |
:0048FAB0 E859D80000              Call 0049D30E
:0048FAB5 E949070000              jmp 00490203

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048FAAC(C)
|
:0048FABA 8D4C2428                lea ecx, dword ptr [esp+28] (跳转到这里)

* Reference To: MFC42.Ordinal:021C, Ord:021Ch
                                 |
:0048FABE E8D7D60000              Call 0049D19A
:0048FAC3 8D542418                lea edx, dword ptr [esp+18]
:0048FAC7 8D4C2428                lea ecx, dword ptr [esp+28]
:0048FACB 52                      push edx
:0048FACC C68424A003010002        mov byte ptr [esp+000103A0], 02

* Reference To: MFC42.Ordinal:035A, Ord:035Ah
                                 |
:0048FAD4 E811D80000              Call 0049D2EA
:0048FAD9 8B442418                mov eax, dword ptr [esp+18]
                        eax=2448MG13500Ap99062-Wyu@LS689
:0048FADD 8B4C241C                mov ecx, dword ptr [esp+1C]   ecx=2448
:0048FAE1 8D542414                lea edx, dword ptr [esp+14]  
:0048FAE5 8B40F8                  mov eax, dword ptr [eax-08]    eax=1c
:0048FAE8 8B59F8                  mov ebx, dword ptr [ecx-08]    ebx=4
:0048FAEB 2BC3                    sub eax, ebx                   eax=18
:0048FAED 8D4C2418                lea ecx, dword ptr [esp+18]    
:0048FAF1 50                      push eax
:0048FAF2 52                      push edx

* Reference To: MFC42.Ordinal:164E, Ord:164Eh
                                 |
:0048FAF3 E85ED80000              Call 0049D356
:0048FAF8 50                      push eax
:0048FAF9 8D4C241C                lea ecx, dword ptr [esp+1C]
:0048FAFD C68424A003010003        mov byte ptr [esp+000103A0], 03

* Reference To: MFC42.Ordinal:035A, Ord:035Ah
                                 |
:0048FB05 E8E0D70000              Call 0049D2EA
:0048FB0A 8D4C2414                lea ecx, dword ptr [esp+14]
:0048FB0E C684249C03010002        mov byte ptr [esp+0001039C], 02

* Reference To: MFC42.Ordinal:0320, Ord:0320h
                                 |
:0048FB16 E861D60000              Call 0049D17C
:0048FB1B 8B44241C                mov eax, dword ptr [esp+1C]
:0048FB1F 8D4C2410                lea ecx, dword ptr [esp+10]
:0048FB23 8B40F8                  mov eax, dword ptr [eax-08]  eax=4
:0048FB26 50                      push eax
:0048FB27 51                      push ecx
:0048FB28 8D4C2430                lea ecx, dword ptr [esp+30]

* Reference To: MFC42.Ordinal:1021, Ord:1021h
                                 |
:0048FB2C E8BFD70000              Call 0049D2F0
:0048FB31 8D54241C                lea edx, dword ptr [esp+1C]
:0048FB35 C684249C03010004        mov byte ptr [esp+0001039C], 04
:0048FB3D 52                      push edx
:0048FB3E 50                      push eax
:0048FB3F 8D44241C                lea eax, dword ptr [esp+1C]
:0048FB43 50                      push eax

* Reference To: MFC42.Ordinal:039A, Ord:039Ah
                                 |
:0048FB44 E89BDA0000              Call 0049D5E4
:0048FB49 50                      push eax
:0048FB4A 8D4C242C                lea ecx, dword ptr [esp+2C]
:0048FB4E C68424A003010005        mov byte ptr [esp+000103A0], 05

* Reference To: MFC42.Ordinal:035A, Ord:035Ah
                                 |
:0048FB56 E88FD70000              Call 0049D2EA
:0048FB5B 8D4C2414                lea ecx, dword ptr [esp+14]
:0048FB5F C684249C03010004        mov byte ptr [esp+0001039C], 04

* Reference To: MFC42.Ordinal:0320, Ord:0320h
                                 |
:0048FB67 E810D60000              Call 0049D17C
:0048FB6C 8D4C2410                lea ecx, dword ptr [esp+10]
:0048FB70 C684249C03010002        mov byte ptr [esp+0001039C], 02

* Reference To: MFC42.Ordinal:0320, Ord:0320h
                                 |
:0048FB78 E8FFD50000              Call 0049D17C
:0048FB7D 8B4C2418                mov ecx, dword ptr [esp+18]
                                                    ecx=2448MG13500Ap99062-Wyu@LS689
:0048FB81 8D942494030000          lea edx, dword ptr [esp+00000394]
:0048FB88 51                      push ecx

* Possible StringData Ref from Data Obj ->"%s"
                                 |
:0048FB89 6808044C00              push 004C0408      004C0408 =%s
:0048FB8E 52                      push edx

* Reference To: MSVCRT.sprintf, Ord:02B2h
                                 |
:0048FB8F FF1574C84A00            Call dword ptr [004AC874]
:0048FB95 8A8424A0030000          mov al, byte ptr [esp+000003A0]
:0048FB9C 83C40C                  add esp, 0000000C
:0048FB9F 33D2                    xor edx, edx
:0048FBA1 84C0                    test al, al
:0048FBA3 89542414                mov dword ptr [esp+14], edx
:0048FBA7 7418                    je 0048FBC1
:0048FBA9 8D8C2494030000          lea ecx, dword ptr [esp+00000394]

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048FBBB(C)
|
:0048FBB0 0FBEC0                  movsx eax, al
:0048FBB3 03D0                    add edx, eax   edx初始数字为0  edx=640
:0048FBB5 8A4101                  mov al, byte ptr [ecx+01] (取MG13500Ap99062-Wyu@LS689的                                    每一位)
:0048FBB8 41                      inc ecx
:0048FBB9 84C0                    test al, al
:0048FBBB 75F3                    jne 0048FBB0  (取位完了确认)
:0048FBBD 89542414                mov dword ptr [esp+14], edx edx=640  [esp+14]=640

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048FBA7(C)
|
:0048FBC1 8B4C2418                mov ecx, dword ptr [esp+18] ecx=MG13500Ap99062-Wyu@LS689
:0048FBC5 33FF                    xor edi, edi                edi=0
:0048FBC7 8B41F8                  mov eax, dword ptr [ecx-08]
                         eax=18 (MG13500Ap99062-Wyu@LS689的长度)
:0048FBCA 99                      cdq      edx=0
:0048FBCB 2BC2                    sub eax, edx   eax=18
:0048FBCD D1F8                    sar eax, 1     右移动一位 eax=c
:0048FBCF 8A1C08                  mov bl, byte ptr [eax+ecx]  取ecx的第c位即 bl=(6)36
:0048FBD2 33C0                    xor eax, eax     eax=0

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048FBEC(C)
|
:0048FBD4 8A8C0494030000          mov cl, byte ptr [esp+eax+00000394]
                                      ( 对MG13500Ap99062-Wyu@LS689进行选择取)位
:0048FBDB 84C9                    test cl, cl  cl=M(4D)
:0048FBDD 740F                    je 0048FBEE    (取位完了就跳转)
:0048FBDF 0FBEC9                  movsx ecx, cl
:0048FBE2 83C002                  add eax, 00000002  eax=eax+2 (即取位的原则是第0位,第二                           位,第四位----)
:0048FBE5 03F9                    add edi, ecx        edi=333
:0048FBE7 3DFFFF0000              cmp eax, 0000FFFF  
:0048FBEC 7CE6                    jl 0048FBD4     eax<ffff 继续循环

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048FBDD(C)
|
:0048FBEE D9ED                    fldln2                    (沸点运行)  
:0048FBF0 DB442414                fild dword ptr [esp+14]     [esp+14]=640
:0048FBF4 D9F1                    fyl2x                                  

* Reference To: MSVCRT._ftol, Ord:00F1h
                                 |
:0048FBF6 E8C5DE0000              Call 0049DAC0       eax=7
:0048FBFB 8BF0                    mov esi, eax               esi=7
:0048FBFD 8D4C2430                lea ecx, dword ptr [esp+30]
:0048FC01 0FBED3                  movsx edx, bl              bl=(6)36(看上面)edx=36
:0048FC04 03F7                    add esi, edi                        
:0048FC06 0FAFF2                  imul esi, edx              esi=ae3c

* Reference To: MFC42.Ordinal:021C, Ord:021Ch
                                 |
:0048FC09 E88CD50000              Call 0049D19A            
:0048FC0E 56                      push esi
:0048FC0F 8D442434                lea eax, dword ptr [esp+34]

* Possible StringData Ref from Data Obj ->"%ld"
                                 |
:0048FC13 681C184C00              push 004C181C
:0048FC18 50                      push eax
:0048FC19 C68424A803010006        mov byte ptr [esp+000103A8], 06

* Reference To: MFC42.Ordinal:0B02, Ord:0B02h
                                 |
:0048FC21 E83AD60000              Call 0049D260      将esi=ae3c转换撑十进制=44604
:0048FC26 83C40C                  add esp, 0000000C  
:0048FC29 8D4C2418                lea ecx, dword ptr [esp+18]
:0048FC2D 51                      push ecx
:0048FC2E 8D4C2430                lea ecx, dword ptr [esp+30]

* Reference To: MFC42.Ordinal:0217, Ord:0217h
                                 |
:0048FC32 E8A7D60000              Call 0049D2DE
:0048FC37 8B44242C                mov eax, dword ptr [esp+2C]
:0048FC3B 33F6                    xor esi, esi
:0048FC3D C684249C03010007        mov byte ptr [esp+0001039C], 07
:0048FC45 3968F8                  cmp dword ptr [eax-08], ebp
:0048FC48 7E1A                    jle 0048FC64

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048FC62(C)
|
:0048FC4A 8A0430                  mov al, byte ptr [eax+esi]
                       取MG13500Ap99062-Wyu@LS689的每一位
:0048FC4D 8D4C242C                lea ecx, dword ptr [esp+2C]
:0048FC51 3462                    xor al, 62         每一位xor 62
:0048FC53 50                      push eax            
:0048FC54 56                      push esi

* Reference To: MFC42.Ordinal:16E0, Ord:16E0h
                                 |
:0048FC55 E8BAD90000              Call 0049D614       将每一位xor 62得到的结果转换成字符
:0048FC5A 8B44242C                mov eax, dword ptr [esp+2C] eax=/%SQWRR#[[RTPO5".1TZ[
:0048FC5E 46                      inc esi
:0048FC5F 3B70F8                  cmp esi, dword ptr [eax-08]
:0048FC62 7CE6                    jl 0048FC4A

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0048FC48(C)
|
:0048FC64 8D54242C                lea edx, dword ptr [esp+2C]
:0048FC68 8D442430                lea eax, dword ptr [esp+30]
:0048FC6C 52                      push edx
:0048FC6D 8D4C2444                lea ecx, dword ptr [esp+44]
:0048FC71 50                      push eax
:0048FC72 51                      push ecx

* Reference To: MFC42.Ordinal:039A, Ord:039Ah
                                 |
:0048FC73 E86CD90000              Call 0049D5E4
:0048FC78 55                      push ebp
:0048FC79 8D542460                lea edx, dword ptr [esp+60]
:0048FC7D 55                      push ebp
:0048FC7E 8D442468                lea eax, dword ptr [esp+68]
:0048FC82 52                      push edx
:0048FC83 8D4C2464                lea ecx, dword ptr [esp+64]
:0048FC87 50                      push eax
:0048FC88 51                      push ecx
:0048FC89 8D9424A8020000          lea edx, dword ptr [esp+000002A8]

* Possible Reference to String Resource ID=00255: "*妍?N(!"
                                 |
:0048FC90 68FF000000              push 000000FF
:0048FC95 52                      push edx

* Possible StringData Ref from Data Obj ->"c:\"
                                 |
:0048FC96 6820184C00              push 004C1820
:0048FC9B C68424BC03010008        mov byte ptr [esp+000103BC], 08

* Reference To: KERNEL32.GetVolumeInformationA, Ord:0177h
                                 |
:0048FCA3 FF15C4C14A00            Call dword ptr [004AC1C4]
:0048FCA9 8B442458                mov eax, dword ptr [esp+58]
:0048FCAD 8B4C243C                mov ecx, dword ptr [esp+3C]
:0048FCB1 50                      push eax
:0048FCB2 E829060000              call 004902E0
:0048FCB7 8D4C2438                lea ecx, dword ptr [esp+38]
:0048FCBB 8BF0                    mov esi, eax

* Reference To: MFC42.Ordinal:021C, Ord:021Ch
                                 |
:0048FCBD E8D8D40000              Call 0049D19A
:0048FCC2 56                      push esi
:0048FCC3 8D4C243C                lea ecx, dword ptr [esp+3C]

* Possible StringData Ref from Data Obj ->"%ld"
                                 |
:0048FCC7 681C184C00              push 004C181C
:0048FCCC 51                      push ecx
:0048FCCD C68424A803010009        mov byte ptr [esp+000103A8], 09

* Reference To: MFC42.Ordinal:0B02, Ord:0B02h
                                 |
:0048FCD5 E886D50000              Call 0049D260       
                   ecx=2448(软件得到的注册名)你的注册名不是2448,你也可以注        册成功,但是在后面的软件进行有比对,不否则你不能用软件的定时提醒)

:0048FCDA 83C40C                  add esp, 0000000C
:0048FCDD 8D4C2448                lea ecx, dword ptr [esp+48]

* Reference To: MFC42.Ordinal:0162, Ord:0162h
                                 |
:0048FCE1 E810D90000              Call 0049D5F6
:0048FCE6 668B15DC394C00          mov dx, word ptr [004C39DC]
:0048FCED B940000000              mov ecx, 00000040
:0048FCF2 33C0                    xor eax, eax
:0048FCF4 8D7C2466                lea edi, dword ptr [esp+66]
:0048FCF8 6689542464              mov word ptr [esp+64], dx

* Possible Reference to String Resource ID=00260: "婼"
                                 |
:0048FCFD 6804010000              push 00000104
:0048FD02 F3                      repz
:0048FD03 AB                      stosd
:0048FD04 66AB                    stosw
:0048FD06 8D442468                lea eax, dword ptr [esp+68]
:0048FD0A C68424A00301000A        mov byte ptr [esp+000103A0], 0A
:0048FD12 50                      push eax

------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容