首页
社区
课程
招聘
[旧帖] [原创]KeygenMe01 今天献出了我的第一次! 0.00雪花
发表于: 2009-4-10 17:38 3087

[旧帖] [原创]KeygenMe01 今天献出了我的第一次! 0.00雪花

2009-4-10 17:38
3087
今天完成了第一个KeygenMe的破解,并写出了算法器,虽然算法非常简单,但对于新手的我,却是一个难关。花了一天时间。
开始以为这个CALL
00402568   .  FF15 80104000 call    dword ptr [<&MSVBVM60.__vbaR8Str>]         ;  MSVBVM60.__vbaR8Str

是算序列号的,但调来调去,没看出来。后来看领空的概念,发现进去后就不是程序的领空了,是一个叫VB虚拟机的东西。于是往上找。终于看出算法,写了一个算号器,心里那叫乐呀。。。
发个文章,与大家分享一下心情

004024A2   .  BF 01000000   mov     edi, 1
004024A7   .  8BF7          mov     esi, edi
004024A9   .  8B1D 0C104000 mov     ebx, dword ptr [<&MSVBVM60.__vbaFreeVarLis>;  MSVBVM60.__vbaFreeVarList
004024AF   >  66:3B75 D0    cmp     si, word ptr [ebp-30]                      ;  是否大于用户名长度
004024B3   .  0F8F 93000000 jg      0040254C
004024B9   .  C745 BC 01000>mov     dword ptr [ebp-44], 1
004024C0   .  C745 B4 02000>mov     dword ptr [ebp-4C], 2
004024C7   .  8D45 CC       lea     eax, dword ptr [ebp-34]
004024CA   .  8985 7CFFFFFF mov     dword ptr [ebp-84], eax
004024D0   .  C785 74FFFFFF>mov     dword ptr [ebp-8C], 4008
004024DA   .  8D4D B4       lea     ecx, dword ptr [ebp-4C]
004024DD   .  51            push    ecx                                        ; /Length8
004024DE   .  0FBFD6        movsx   edx, si                                    ; |
004024E1   .  52            push    edx                                        ; |Start
004024E2   .  8D85 74FFFFFF lea     eax, dword ptr [ebp-8C]                    ; |
004024E8   .  50            push    eax                                        ; |dString8
004024E9   .  8D4D A4       lea     ecx, dword ptr [ebp-5C]                    ; |
004024EC   .  51            push    ecx                                        ; |RetBUFFER
004024ED   .  FF15 44104000 call    dword ptr [<&MSVBVM60.#632>]               ; \rtcMidCharVar
004024F3   .  8D55 A4       lea     edx, dword ptr [ebp-5C]
004024F6   .  52            push    edx                                        ; /String8
004024F7   .  8D45 C8       lea     eax, dword ptr [ebp-38]                    ; |
004024FA   .  50            push    eax                                        ; |ARG2
004024FB   .  FF15 74104000 call    dword ptr [<&MSVBVM60.__vbaStrVarVal>]     ; \__vbaStrVarVal
00402501   .  50            push    eax                                        ; /String
00402502   .  FF15 18104000 call    dword ptr [<&MSVBVM60.#516>]               ; \rtcAnsiValueBstr
00402508   .  66:0FAFC6     imul    ax, si                                     ;  字符ASCII乘以当前循环次数
0040250C   .  0F80 5F010000 jo      00402671                                   ;  检查溢出
00402512   .  0FBFC8        movsx   ecx, ax
00402515   .  03CF          add     ecx, edi                                   ;  累加
00402517   .  0F80 54010000 jo      00402671
0040251D   .  8BF9          mov     edi, ecx                                   ;  保存
0040251F   .  8D4D C8       lea     ecx, dword ptr [ebp-38]
00402522   .  FF15 B4104000 call    dword ptr [<&MSVBVM60.__vbaFreeStr>]       ;  MSVBVM60.__vbaFreeStr
00402528   .  8D55 A4       lea     edx, dword ptr [ebp-5C]
0040252B   .  52            push    edx
0040252C   .  8D45 B4       lea     eax, dword ptr [ebp-4C]
0040252F   .  50            push    eax
00402530   .  6A 02         push    2
00402532   .  FFD3          call    ebx
00402534   .  83C4 0C       add     esp, 0C
00402537   .  B8 01000000   mov     eax, 1
0040253C   .  66:03C6       add     ax, si                                     ;  准备下次循环
0040253F   .  0F80 2C010000 jo      00402671
00402545   .  8BF0          mov     esi, eax
00402547   .^ E9 63FFFFFF   jmp     004024AF
0040254C   >  69FF 96740100 imul    edi, edi, 17496
00402552   .  0F80 19010000 jo      00402671
00402558   .  897D D8       mov     dword ptr [ebp-28], edi
0040255B   .  DB45 D8       fild    dword ptr [ebp-28]
0040255E   .  DD9D 14FFFFFF fstp    qword ptr [ebp-EC]
00402564   .  8B4D DC       mov     ecx, dword ptr [ebp-24]
00402567   .  51            push    ecx
00402568   .  FF15 80104000 call    dword ptr [<&MSVBVM60.__vbaR8Str>]         ;  MSVBVM60.__vbaR8Str
0040256E   .  DC9D 14FFFFFF fcomp   qword ptr [ebp-EC]
00402574   .  DFE0          fstsw   ax
00402576      F6C4 40       test    ah, 40
00402579      0F84 86000000 je      00402605
0040257F   .  B9 04000280   mov     ecx, 80020004
00402584   .  894D 8C       mov     dword ptr [ebp-74], ecx
00402587   .  B8 0A000000   mov     eax, 0A
0040258C   .  8945 84       mov     dword ptr [ebp-7C], eax
0040258F   .  894D 9C       mov     dword ptr [ebp-64], ecx
00402592   .  8945 94       mov     dword ptr [ebp-6C], eax
00402595   .  C785 6CFFFFFF>mov     dword ptr [ebp-94], 00401C74               ;  UNICODE "Congratulations"
0040259F   .  BF 08000000   mov     edi, 8
004025A4   .  89BD 64FFFFFF mov     dword ptr [ebp-9C], edi
004025AA   .  8D95 64FFFFFF lea     edx, dword ptr [ebp-9C]
004025B0   .  8D4D A4       lea     ecx, dword ptr [ebp-5C]
004025B3   .  8B35 98104000 mov     esi, dword ptr [<&MSVBVM60.__vbaVarDup>]   ;  MSVBVM60.__vbaVarDup





[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 203
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
长路漫漫,继续啃汇编~~
2009-4-10 17:45
0
游客
登录 | 注册 方可回帖
返回
//