首页
社区
课程
招聘
[原创]PYCG论坛的会员认证Crackme算法分析
2005-2-5 12:31 11808

[原创]PYCG论坛的会员认证Crackme算法分析

2005-2-5 12:31
11808
【破解作者】 农夫

【破解目标】 PYCG论坛的会员认证Crackme

【破解工具】 Olldbg1.10 、Peid0.92、UPXshell3.10

【破解平台】 win2000 sp4

【破解声明】 只供学习和交流,没有其他目的。不妥之处敬请原谅!

【破解内容】

1.用PEiD查看Key-Crackme2.exe文件,发现是UPX0.89.6-1.02/1.05-1.24 -> Markus & Laszlo的壳。

2.用UPXshell将其脱壳,双击解压文件可以运行,脱壳成功。

3.用OllyDbg将解压文件加载。
     直接下断点:bp GetDlgItemTextA,按F9运行等到Key-Crackme2程序窗口弹出,在其上“DlgItem”框内输入
“abcdefgh”,下“DlgItem”框内输入“12345678”,按“CHECK”钮,OK,进入断点。按F8,直到程序返回到用户程序,
并且继续按F8直到取完两个“DlgItem”的数据。得如下程序段:

004012B1 |. 6A 40         push 40                             ; /Count = 40 (64.)
004012B3 |. 68 38304000   push Key-Crac.00403038              ; |Buffer = Key-Crac.00403038 ;保存第一个“DlgItem”数据的BUFFER
004012B8 |. 6A 6A         push 6A                             ; |ControlID = 6A (106.)
004012BA |. FF75 08       push dword ptr ss:[ebp+8]           ; |hWnd
004012BD |. E8 08010000   call <jmp.&USER32.GetDlgItemTextA>  ; \GetDlgItemTextA            ;获取第一个“DlgItem”的数据字符。
004012C2 |. 83F8 00       cmp eax,0                                                         ;检测是否有数据
004012C5 |. 74 18         je short Key-Crac.004012DF                                        ;没有则去显示输入的提示
004012C7 |. 6A 40         push 40                             ; /Count = 40 (64.)
004012C9 |. 68 38314000   push Key-Crac.00403138              ; |Buffer = Key-Crac.00403138 ;保存第二个“DlgItem”数据的BUFFER
004012CE |. 6A 6B         push 6B                             ; |ControlID = 6B (107.)
004012D0 |. FF75 08       push dword ptr ss:[ebp+8]           ; |hWnd
004012D3 |. E8 F2000000   call <jmp.&USER32.GetDlgItemTextA>  ; \GetDlgItemTextA            ;获取第二个“DlgItem”的数据字符。
004012D8 |. 83F8 00       cmp eax,0                                                         ;检测是否有数据
004012DB |. 74 02         je short Key-Crac.004012DF                                        ;没有则去显示输入的提示
004012DD |. EB 17         jmp short Key-Crac.004012F6
004012DF |> 6A 00         push 0                              ; /Style = MB_OK|MB_APPLMODAL
004012E1 |. 68 62344000   push Key-Crac.00403462              ; |Title = "Key/CrackMe #2 "
004012E6 |. 68 00304000   push Key-Crac.00403000              ; |Text = " Please Fill in 1 more Char!!"
004012EB |. 6A 00         push 0                              ; |hOwner = NULL
004012ED |. E8 FC000000   call <jmp.&USER32.MessageBoxA>      ; \MessageBoxA
004012F2 |. C9            leave
004012F3 |. C2 1000       retn 10
004012F6 |> 68 38304000   push Key-Crac.00403038              ; /String = "abcdefgh" <----;内存00403038处的内容,第一个“DlgItem”的数据
004012FB |. E8 30010000   call <jmp.&KERNEL32.lstrlenA>       ; \lstrlenA                 ;取第一个“DlgItem”的字符串的长度
00401300 |. 33F6          xor esi,esi                                                     ;寄存器清零,准备开始计算。
00401302 |. 8BC8          mov ecx,eax                                                     ;长度(位数)放于计数器ECX
00401304 |. B8 01000000   mov eax,1                                                       ;开始索引值为1
00401309 |> 8B15 38304000 /mov edx,dword ptr ds:[403038]                                  ;取BUFFER里的双字字符到EDX
0040130F |. 8A90 37304000 |mov dl,byte ptr ds:[eax+403037]                                ;取BUFFER里的一个字节字符到DL
00401315 |. 81E2 FF000000 |and edx,0FF                                                    ;清除EDX的高位值,即只用DL的值
0040131B |. 8BDA          |mov ebx,edx
0040131D |. 0FAFDA        |imul ebx,edx                                                    ;EDX*EDX
00401320 |. 03F3          |add esi,ebx                                                     ;ESI+EDX*EDX
00401322 |. 8BDA          |mov ebx,edx
00401324 |. D1FB          |sar ebx,1                                                       ;EDX/2
00401326 |. 03F3          |add esi,ebx                                                     ;ESI+EDX*EDX+EDX/2
00401328 |. 2BF2          |sub esi,edx                                                     ;ESI+EDX*EDX+EDX/2-EDX
0040132A |. 40            |inc eax                                                         ;地址索引值加1
0040132B |. 49            |dec ecx                                                         ;位数减1
0040132C |.^ 75 DB        \jnz short Key-Crac.00401309                                     ;位数不为0则继续,直到ECX=0
0040132E |. 56             push esi                                                        ;计数完,计算值放于ESI
0040132F |. 68 38314000    push Key-Crac.00403138             ; ASCII "12345678" <---------;内存00403138处的内容,第二个“DlgItem”的数据
00401334 |. E8 4A000000    call Key-Crac.00401383                                          ;这个CALL里是计算第二个“DlgItem”数据的值,到下面一段程序401383处
00401339 |. 5E             pop esi                                                         ;取出第一个“DlgItem”的数据的解码值
0040133A |. 3BC6           cmp eax,esi                                                     ;与第二个“DlgItem”的数据的解码值相比较
0040133C |. 75 15          jnz short Key-Crac.00401353                                     ;不相等则出错
0040133E |. 6A 00          push 0                            ; /Style = MB_OK|MB_APPLMODAL ;相等则注册成功!
00401340 |. 68 62344000    push Key-Crac.00403462            ; |Title = "Key/CrackMe #2 "
00401345 |. 68 B8344000    push Key-Crac.004034B8            ; |Text = " Good Job, I Wish You the Very Best"
0040134A |. 6A 00          push 0                            ; |hOwner = NULL
0040134C |. E8 9D000000    call <jmp.&USER32.MessageBoxA>    ; \MessageBoxA
00401351 |. EB 13          jmp short Key-Crac.00401366
00401353 |> 6A 00          push 0                            ; /Style = MB_OK|MB_APPLMODAL
00401355 |. 68 62344000    push Key-Crac.00403462            ; |Title = "Key/CrackMe #2 "
0040135A |. 68 86344000    push Key-Crac.00403486            ; |Text = " You Have Enter A Wrong Serial, Please Try Again "
0040135F |. 6A 00          push 0                            ; |hOwner = NULL
00401361 |. E8 88000000    call <jmp.&USER32.MessageBoxA>    ; \MessageBoxA
00401366 |> EB 15          jmp short Key-Crac.0040137D
00401368 |> FF75 14        push dword ptr ss:[ebp+14]        ; /lParam
0040136B |. FF75 10        push dword ptr ss:[ebp+10]        ; |wParam
0040136E |. FF75 0C        push dword ptr ss:[ebp+C]         ; |Message
00401371 |. FF75 08        push dword ptr ss:[ebp+8]         ; |hWnd
00401374 |. E8 3F000000    call <jmp.&USER32.DefWindowProcA> ; \DefWindowProcA
00401379 |. C9             leave
0040137A |. C2 1000        retn 10
0040137D |> 33C0           xor eax,eax
0040137F |. C9             leave
00401380 \. C2 1000        retn 10

00401383 /$ 55             push ebp
00401384 |. 8BEC           mov ebp,esp
00401386 |. FF75 08        push dword ptr ss:[ebp+8]       ; /String
00401389 |. E8 A2000000    call <jmp.&KERNEL32.lstrlenA>   ; \lstrlenA          ;取第二个“DlgItem”的字符串的长度
0040138E |. 53             push ebx
0040138F |. 33DB           xor ebx,ebx                                          ;寄存器清零,准备开始计算。
00401391 |. 8BC8           mov ecx,eax                                          ;长度(为数)放于计数器ECX
00401393 |. 8B75 08        mov esi,dword ptr ss:[ebp+8]                         ;取BUFFER里的双字字符于ESI
00401396 |> 51            /push ecx                                             ;保存长度(为数),两重计数
00401397 |. 33C0          |xor eax,eax                                          ;清EAX
00401399 |. AC            |lods byte ptr ds:[esi]                               ;取BUFFER里的一个字节字符于EAX
0040139A |. 83E8 30       |sub eax,30                                           ;EAX=EAX-30
0040139D |. 49            |dec ecx                                              ;内层计数减1
0040139E |. 74 05         |je short Key-Crac.004013A5                           ;内层计数值为0,则去计算总数
004013A0 |> 6BC0 0A       |/imul eax,eax,0A                                     ;内层计数值不为0,则计算:EAX*0A(10)
004013A3 |.^ E2 FB        |\loopd short Key-Crac.004013A0                       ;一直循环,即EAX*0A^(ECX-1)(10的(ECX-1)次方)
004013A5 |> 03D8          |add ebx,eax                                          ;EBX+EAX*0A^(ECX-1)
004013A7 |. 59            |pop ecx                                              ;外层计数值
004013A8 |.^ E2 EC        \loopd short Key-Crac.00401396                        ;外层计数不为0,则继续 EAX*0A^(ECX-1)+EAX*0A^(ECX-2)+EAX*0A^(ECX-3)+...+EAX*0A^(ECX-ECX)
004013AA |. 8BC3           mov eax,ebx                                          ;外层计数为0,则保存计算值于EAX
004013AC |. 5B             pop ebx
004013AD |. C9             leave
004013AE \. C2 0400        retn 4

【破解总结】

     算法一与算法二的计算值相等,算法一用公式来表示是这样的:

(a7^2+a7/2-a7)+(a6^2+a6/2-a6)+(a5^2+a5/2-a5)+(a4^2+a4/2-a4)+(a3^2+a3/2-a3)+(a2^2+a2/2-a2)+(a1^2+a1/2-a1)+(a0^2+a0/2-a0)

只不过是一种数值的变换处理。问题是在第二个算法上,将算法二的公式用简易的表示方法来表示就是:

a7*10^7+a6*10^6+a5*10^5+a4*10^4+a3*10^3+a2*10^2+a1*10^1+a0

也就是:

(((((((a7*10)+a6)*10+a5)*10+a4)*10+a3)*10+a2)*10+a1)*10+a0

这也就是一个十六进制数的十进制表示法。意思就是将算法一的计算值的十六进制数用十进制数来表示。
于是将算法一的计算值除以10求余即得算法二的计算值。

"abcdefgh"的计算值是13A38,将其转换成十进制数就是80440。

算法二转换的结果也就是第二个“DlgItem”框所需的数据了。

附件:Key-Crackme2.rar

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞7
打赏
分享
最新回复 (25)
雪    币: 226
活跃值: (155)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
农夫 3 2005-2-5 13:58
2
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2005-2-5 14:38
3
0
支持
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mask 2005-2-5 15:29
4
0
反对
雪    币: 29410
活跃值: (18720)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2005-2-5 16:28
5
0
最初由 农夫 发布
PYCG论坛的会员认证


这个PYCG论坛不熟悉,不知这个CrackMe他们还用来认证吗?如不用才可以公开讨论。
建议:网上各类pj组织蛮多的,不管其规模如何,如果是其用来认证招收会员的CrackMe就不要公开讨论了。
雪    币: 398
活跃值: (343)
能力值: (RANK:650 )
在线值:
发帖
回帖
粉丝
shoooo 16 2005-2-5 17:25
6
0
最初由 mask 发布
反对


反对有效
雪    币: 169
活跃值: (245)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
爱在天涯 3 2005-2-5 17:44
7
0
狂晕!   这是干什么?
你明知道这是飘云破解组织正在使用的认证  还做出这样的事! 服了你了!
雪    币: 226
活跃值: (155)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
农夫 3 2005-2-5 18:05
8
0
飘云论坛根本没人管,这个听说都N年前的事了,我把破文发过去N天了都没见回应,一气之下把破文发这了。不妥之处敬请见谅。哈哈。。。
雪    币: 169
活跃值: (245)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
爱在天涯 3 2005-2-5 18:16
9
0
这个  认证题   从现在起失效!   新的认证正在制作中!
雪    币: 226
活跃值: (155)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
农夫 3 2005-2-5 18:22
10
0
其实这个认证题,你已经在这里当作练习给出过。
雪    币: 169
活跃值: (245)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
爱在天涯 3 2005-2-8 15:45
11
0
飘云破解学苑新的认证已经制作完毕!

爆破此练习   飘云破解学苑的初级成员   

写出注册机   飘云破解学苑的中级成员

欢迎大家加入  飘云破解学苑  共同进步与学苑一起成长!

               点此下载测试
雪    币: 337
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
nbw 24 2005-2-10 11:17
12
0
呵呵
雪    币: 226
活跃值: (155)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
农夫 3 2005-2-10 21:50
13
0
破文是不敢发了,就发个注册机在这。不过,现在我未曾有意成为认证会员。呵呵。。。

  附件:KeyGen.rar
雪    币: 2906
活跃值: (3457)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
china 5 2005-2-10 22:24
14
0
[QUOTE]最初由 农夫 发布
破文是不敢发了,就发个注册机在这。不过,现在我未曾有意成为认证会员。呵呵。。。
004013A1   |.  E8 AA030000           call 飘云破解.00401750
004013A6   |.  8945 FC               mov dword ptr ss:[ebp-4],eax
004013A9   |.  8D8D F4FEFFFF         lea ecx,dword ptr ss:[ebp-10C]
004013AF   |.  51                    push ecx
004013B0   |.  E8 DB030000           call 飘云破解.00401790
004013B5   |.  83C4 04               add esp,4
004013B8   |.  85C0                  test eax,eax
004013BA   |.  75 23                 jnz short 飘云破解.004013DF
004013BC   |.  8BF4                  mov esi,esp
004013BE   |.  8D95 DCFCFFFF         lea edx,dword ptr ss:[ebp-324]
004013C4   |.  52                    push edx                              ; /Text
004013C5   |.  6A 6F                 push 6F                               ; |ControlID = 6F (111.)
004013C7   |.  8B45 08               mov eax,dword ptr ss:[ebp+8]          ; |
004013CA   |.  50                    push eax                              ; |hWnd
004013CB   |.  FF15 BC524200         call dword ptr ds:[<&USER32.SetDlgIte>; \SetDlgItemTextA
004013D1   |.  3BF4                  cmp esi,esp
004013D3   |.  E8 78030000           call 飘云破解.00401750
004013D8   |.  33C0                  xor eax,eax
004013DA   |.  E9 46020000           jmp 飘云破解.00401625
004013DF   |>  8BF4                  mov esi,esp
004013E1   |.  68 01010000           push 101                              ; /Count = 101 (257.)
004013E6   |.  8D8D F4FDFFFF         lea ecx,dword ptr ss:[ebp-20C]        ; |
004013EC   |.  51                    push ecx                              ; |Buffer
004013ED   |.  6A 6F                 push 6F                               ; |ControlID = 6F (111.)
004013EF   |.  8B55 08               mov edx,dword ptr ss:[ebp+8]          ; |
004013F2   |.  52                    push edx                              ; |hWnd
004013F3   |.  FF15 B0524200         call dword ptr ds:[<&USER32.GetDlgIte>; \GetDlgItemTextA
004013F9   |.  3BF4                  cmp esi,esp
004013FB   |.  E8 50030000           call 飘云破解.00401750
00401400   |.  8945 F8               mov dword ptr ss:[ebp-8],eax
00401403   |.  837D F8 1D            cmp dword ptr ss:[ebp-8],1D
00401407       74 23                 je short 飘云破解.0040142C
00401409   |.  8BF4                  mov esi,esp
0040140B   |.  8D85 BCFCFFFF         lea eax,dword ptr ss:[ebp-344]
00401411   |.  50                    push eax                              ; /Text
00401412   |.  6A 6F                 push 6F                               ; |ControlID = 6F (111.)
00401414   |.  8B4D 08               mov ecx,dword ptr ss:[ebp+8]          ; |
00401417   |.  51                    push ecx                              ; |hWnd
00401418   |.  FF15 BC524200         call dword ptr ds:[<&USER32.SetDlgIte>; \SetDlgItemTextA
0040141E   |.  3BF4                  cmp esi,esp
00401420   |.  E8 2B030000           call 飘云破解.00401750
00401425   |.  33C0                  xor eax,eax
00401427   |.  E9 F9010000           jmp 飘云破解.00401625
0040142C   |>  60                    pushad
0040142D   |.  33F6                  xor esi,esi
0040142F   |.  33D2                  xor edx,edx
00401431   |.  33C0                  xor eax,eax
00401433   |.  33FF                  xor edi,edi
00401435   |.  33DB                  xor ebx,ebx
00401437   |.  8B4D FC               mov ecx,dword ptr ss:[ebp-4]
0040143A   |>  3E:0FBE942E F4FEFFFF  /movsx edx,byte ptr ds:[esi+ebp-10C]
00401443   |.  8BC2                  |mov eax,edx
00401445   |.  BF 6F000000           |mov edi,6F
0040144A   |.  C1E0 04               |shl eax,4
0040144D   |.  03C2                  |add eax,edx
0040144F   |.  99                    |cdq
00401450   |.  F7FF                  |idiv edi
00401452   |.  03DA                  |add ebx,edx
00401454   |.  46                    |inc esi
00401455   |.  3BF1                  |cmp esi,ecx
00401457   |.^ 7C E1                 \jl short 飘云破解.0040143A
00401459   |.  8BC3                  mov eax,ebx
0040145B   |.  0FAFC0                imul eax,eax
0040145E   |.  33F6                  xor esi,esi
00401460   |.  8BD8                  mov ebx,eax
00401462   |.  8BF8                  mov edi,eax
00401464   |>  3E:C6842E F4FCFFFF 2D /mov byte ptr ds:[esi+ebp-30C],2D
0040146D   |.  8BC6                  |mov eax,esi
0040146F   |.  B9 06000000           |mov ecx,6
00401474   |.  99                    |cdq
00401475   |.  F7F9                  |idiv ecx
00401477   |.  83FA 01               |cmp edx,1
0040147A   |.  74 61                 |je short 飘云破解.004014DD
0040147C   |.  83FA 02               |cmp edx,2
0040147F   |.  0F84 97000000         |je 飘云破解.0040151C
00401485   |.  83FA 03               |cmp edx,3
00401488   |.  0F84 C8000000         |je 飘云破解.00401556
0040148E   |.  83FA 04               |cmp edx,4
00401491   |.  0F84 F7000000         |je 飘云破解.0040158E
00401497   |.  83FA 05               |cmp edx,5
0040149A   |.  0F84 22010000         |je 飘云破解.004015C2
004014A0   |.  8BCB                  |mov ecx,ebx
004014A2   |.  B8 F31ACA6B           |mov eax,6BCA1AF3
004014A7   |.  F7E9                  |imul ecx
004014A9   |.  8BC2                  |mov eax,edx
004014AB   |.  C1F8 03               |sar eax,3
004014AE   |.  8BC8                  |mov ecx,eax
004014B0   |.  C1E9 1F               |shr ecx,1F
004014B3   |.  03C1                  |add eax,ecx
004014B5   |.  B9 1A000000           |mov ecx,1A
004014BA   |.  99                    |cdq
004014BB   |.  F7F9                  |idiv ecx
004014BD   |.  33C0                  |xor eax,eax
004014BF   |.  80C2 41               |add dl,41
004014C2   |.  3E:88942E F4FCFFFF    |mov byte ptr ds:[esi+ebp-30C],dl
004014CA   |.  3E:38942E F4FDFFFF    |cmp byte ptr ds:[esi+ebp-20C],dl
004014D2       0F85 00010000         jnz 飘云破解.004015D8
004014D8   |.  E9 E5000000           |jmp 飘云破解.004015C2
004014DD   |>  8BCB                  |mov ecx,ebx
004014DF   |.  B8 93244992           |mov eax,92492493
004014E4   |.  F7E9                  |imul ecx
004014E6   |.  8BC2                  |mov eax,edx
004014E8   |.  03C1                  |add eax,ecx
004014EA   |.  C1F8 02               |sar eax,2
004014ED   |.  8BC8                  |mov ecx,eax
004014EF   |.  C1E9 1F               |shr ecx,1F
004014F2   |.  03C1                  |add eax,ecx
004014F4   |.  B9 1A000000           |mov ecx,1A
004014F9   |.  99                    |cdq
004014FA   |.  F7F9                  |idiv ecx
004014FC   |.  33C0                  |xor eax,eax
004014FE   |.  80C2 41               |add dl,41
00401501   |.  3E:88942E F4FCFFFF    |mov byte ptr ds:[esi+ebp-30C],dl
00401509   |.  3E:38942E F4FDFFFF    |cmp byte ptr ds:[esi+ebp-20C],dl
00401511       0F85 C1000000         jnz 飘云破解.004015D8
00401517   |.  E9 A6000000           |jmp 飘云破解.004015C2
0040151C   |>  8BCB                  |mov ecx,ebx
0040151E   |.  B8 4FECC44E           |mov eax,4EC4EC4F
00401523   |.  F7E9                  |imul ecx
00401525   |.  8BC2                  |mov eax,edx
00401527   |.  C1F8 02               |sar eax,2
0040152A   |.  8BC8                  |mov ecx,eax
0040152C   |.  C1E9 1F               |shr ecx,1F
0040152F   |.  03C1                  |add eax,ecx
00401531   |.  B9 1A000000           |mov ecx,1A
00401536   |.  99                    |cdq
00401537   |.  F7F9                  |idiv ecx
00401539   |.  33C0                  |xor eax,eax
0040153B   |.  80C2 41               |add dl,41
0040153E   |.  3E:88942E F4FCFFFF    |mov byte ptr ds:[esi+ebp-30C],dl
00401546   |.  3E:38942E F4FDFFFF    |cmp byte ptr ds:[esi+ebp-20C],dl
0040154E       0F85 84000000         jnz 飘云破解.004015D8
00401554   |.  EB 6C                 |jmp short 飘云破解.004015C2
00401556   |>  8BCB                  |mov ecx,ebx
00401558   |.  B8 C94216B2           |mov eax,B21642C9
0040155D   |.  F7E9                  |imul ecx
0040155F   |.  8BC2                  |mov eax,edx
00401561   |.  03C1                  |add eax,ecx
00401563   |.  C1F8 04               |sar eax,4
00401566   |.  8BC8                  |mov ecx,eax
00401568   |.  C1E9 1F               |shr ecx,1F
0040156B   |.  03C1                  |add eax,ecx
0040156D   |.  B9 0A000000           |mov ecx,0A
00401572   |.  99                    |cdq
00401573   |.  F7F9                  |idiv ecx
00401575   |.  33C0                  |xor eax,eax
00401577   |.  80C2 30               |add dl,30
0040157A   |.  3E:88942E F4FCFFFF    |mov byte ptr ds:[esi+ebp-30C],dl
00401582   |.  3E:38942E F4FDFFFF    |cmp byte ptr ds:[esi+ebp-20C],dl
0040158A       75 4C                 jnz short 飘云破解.004015D8
0040158C   |.  EB 34                 |jmp short 飘云破解.004015C2
0040158E   |>  8BCB                  |mov ecx,ebx
00401590   |.  B8 79787878           |mov eax,78787879
00401595   |.  F7E9                  |imul ecx
00401597   |.  8BC2                  |mov eax,edx
00401599   |.  C1F8 03               |sar eax,3
0040159C   |.  8BC8                  |mov ecx,eax
0040159E   |.  C1E9 1F               |shr ecx,1F
004015A1   |.  03C1                  |add eax,ecx
004015A3   |.  B9 0A000000           |mov ecx,0A
004015A8   |.  99                    |cdq
004015A9   |.  F7F9                  |idiv ecx
004015AB   |.  33C0                  |xor eax,eax
004015AD   |.  80C2 30               |add dl,30
004015B0   |.  3E:88942E F4FCFFFF    |mov byte ptr ds:[esi+ebp-30C],dl
004015B8   |.  3E:38942E F4FDFFFF    |cmp byte ptr ds:[esi+ebp-20C],dl
004015C0       75 16                 jnz short 飘云破解.004015D8
004015C2   |>  C745 F4 01000000      |mov dword ptr ss:[ebp-C],1
004015C9   |.  46                    |inc esi
004015CA   |.  83EB 11               |sub ebx,11
004015CD   |.  83FE 1D               |cmp esi,1D
004015D0   |.^ 0F8C 8EFEFFFF         \jl 飘云破解.00401464
004015D6   |.  EB 07                 jmp short 飘云破解.004015DF
004015D8   |>  C745 F4 00000000      mov dword ptr ss:[ebp-C],0
004015DF   |>  61                    popad
004015E0   |.  837D F4 01            cmp dword ptr ss:[ebp-C],1
004015E4   |.  75 1E                 jnz short 飘云破解.00401604
004015E6   |.  8BF4                  mov esi,esp
004015E8   |.  8D95 A8FCFFFF         lea edx,dword ptr ss:[ebp-358]
004015EE   |.  52                    push edx                              ; /Text
004015EF   |.  6A 6F                 push 6F                               ; |ControlID = 6F (111.)
004015F1   |.  8B45 08               mov eax,dword ptr ss:[ebp+8]          ; |
004015F4   |.  50                    push eax                              ; |hWnd
004015F5   |.  FF15 BC524200         call dword ptr ds:[<&USER32.SetDlgIte>; \SetDlgItemTextA
雪    币: 226
活跃值: (155)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
农夫 3 2005-2-10 22:45
15
0
这回你可把天涯兄真的气晕。我晕了他一回了,这次我只敢发注册机了。
雪    币: 257
活跃值: (369)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
newsearch 9 2005-2-11 01:01
16
0
最初由 农夫 发布
这回你可把天涯兄真的气晕。我晕了他一回了,这次我只敢发注册机了。


干脆把iPB的CRACKME也做个注册机出来,省得我们加入费力
雪    币: 169
活跃值: (245)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
爱在天涯 3 2005-2-11 10:44
17
0


...............................................................................
雪    币: 50
活跃值: (403)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jr21066 2005-2-11 12:06
18
0
最初由 newsearch 发布


干脆把iPB的CRACKME也做个注册机出来,省得我们加入费力


有这等好事.我先排队!
雪    币: 226
活跃值: (155)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
农夫 3 2005-2-11 15:20
19
0
我只是菜鸟一个,只会做些菜事玩玩而已,别见笑。
雪    币: 300
活跃值: (521)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
深海游侠 10 2005-2-11 16:01
20
0
最好不要拿人家考题出来.
PS:除非此考题已经作废..
雪    币: 226
活跃值: (155)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
农夫 3 2005-2-11 19:53
21
0
最初由 深海游侠 发布
最好不要拿人家考题出来.
PS:除非此考题已经作废..


...............................???
雪    币: 296
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
Winter-Night 5 2005-2-11 20:28
22
0
最初由 爱在天涯 发布


...............................................................................

你也试试把china的crackme破了写出来
雪    币: 226
活跃值: (155)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
农夫 3 2005-2-11 22:11
23
0
最初由 Winter-Night 发布

你也试试把china的crackme破了写出来


    麻烦你看清楚点,我只发了注册机(第一个我发了有我的理由,在此不谈,我看天涯兄也没那么小气),注册机上有我的署名,一般不能直接用做认证。别人要认证也要有个破解的过程,单要个用户名和注册码也不能进行认证,搞技术的用一点脑筋好不好?再说了,别人要是把我的署名改了还有图片去掉,不如破他的crackme。
   我要是把china的crackme破了写出来了,难道他要告我去坐牢不成?老兄,气量大一点,大不了再写过一个就是了,不就一个crackme吗。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ASM 2005-2-12 11:26
24
0
我怎么看着好像鸡同鸭讲、前言不搭后语、无的放矢啊……
雪    币: 337
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
nbw 24 2005-2-12 16:48
25
0
最初由 newsearch 发布


干脆把iPB的CRACKME也做个注册机出来,省得我们加入费力


还不敢望IPB项背
游客
登录 | 注册 方可回帖
返回