看雪论坛
发新帖
2

[下载]CrackMe

wangweilll 2011-2-15 19:42 4322
给大伙一个CrackMe玩玩
上传的附件:
最新回复 (9)
winddyj 2011-2-15 21:46
2
果然能增加不少信心呐
暴破的是楼主手工在OD里写的吧
那个用户名第一位ASC码+1的,如果用户名是中文,那就
西域小车 2011-2-19 20:21
3
第一个CrackMe..
00401000  /$  55            push    ebp
00401001  |.  8BEC          mov     ebp, esp
00401003  |.  83C4 D8       add     esp, -28
00401006  |.  57            push    edi
00401007  |.  837D 0C 01    cmp     dword ptr [ebp+C], 1             ;  用户名位数与1比较
0040100B  |.  73 18         jnb     short 00401025                   ;  大于则跳
0040100D  |.  6A 00         push    0                                ; /Style = MB_OK|MB_APPLMODAL
0040100F  |.  68 30304000   push    00403030                         ; |提示
00401014  |.  68 35304000   push    00403035                         ; |用户名不能为空!
00401019  |.  6A 00         push    0                                ; |hOwner = NULL
0040101B  |.  E8 36030000   call    <jmp.&user32.MessageBoxA>        ; \MessageBoxA
00401020  |.  5F            pop     edi
00401021  |.  C9            leave
00401022  |.  C2 1400       retn    14
00401025  |>  8B75 08       mov     esi, dword ptr [ebp+8]
00401028  |.  8D7D D8       lea     edi, dword ptr [ebp-28]
0040102B  |.  33C9          xor     ecx, ecx
0040102D  |.  8B45 0C       mov     eax, dword ptr [ebp+C]
00401030  |.  C60438 00     mov     byte ptr [eax+edi], 0
00401034  |.  EB 0A         jmp     short 00401040
00401036  |>  0FB60431      /movzx   eax, byte ptr [ecx+esi]         ;  逐位读取用户名,将每位用户名向后一位作为注册码
0040103A  |.  04 01         |add     al, 1
0040103C  |.  880439        |mov     byte ptr [ecx+edi], al
0040103F  |.  41            |inc     ecx
00401040  |>  3B4D 0C        cmp     ecx, dword ptr [ebp+C]
00401043  |.^ 72 F1         \jb      short 00401036
00401045  |.  FF75 10       push    dword ptr [ebp+10]               ; /String2
00401048  |.  8D45 D8       lea     eax, dword ptr [ebp-28]          ; |
0040104B  |.  50            push    eax                              ; |String1
0040104C  |.  E8 47030000   call    <jmp.&kernel32.lstrcmpA>         ; \假码与真码比较
00401051  |.  0BC0          or      eax, eax
00401053  |.  75 15         jnz     short 0040106A                   ;  爆破点,nop!!
00401055  |.  6A 00         push    0                                ; /Style = MB_OK|MB_APPLMODAL
00401057  |.  68 30304000   push    00403030                         ; |提示
0040105C  |.  68 46304000   push    00403046                         ; |恭喜你,注册成功!
00401061  |.  6A 00         push    0                                ; |hOwner = NULL
00401063  |.  E8 EE020000   call    <jmp.&user32.MessageBoxA>        ; \MessageBoxA
00401068  |.  EB 13         jmp     short 0040107D
0040106A  |>  6A 00         push    0                                ; /Style = MB_OK|MB_APPLMODAL
0040106C  |.  68 30304000   push    00403030                         ; |提示
00401071  |.  68 59304000   push    00403059                         ; |注册失败,请继续努力!
00401076  |.  6A 00         push    0                                ; |hOwner = NULL
00401078  |.  E8 D9020000   call    <jmp.&user32.MessageBoxA>        ; \MessageBoxA
0040107D  |>  33C0          xor     eax, eax
0040107F  |.  5F            pop     edi
00401080  |.  C9            leave
00401081  \.  C2 1400       retn    14

第二个  试着爆破我..
00401004     /74 15         je      short 0040101B     //nop

很简单。。真是给我这样的新手信心了。
komany 2011-2-19 20:58
4
00401000  /$  55            push ebp
00401001  |.  8BEC          mov ebp,esp
00401003  |.  83C4 D8       add esp,-28
00401006  |.  57            push edi
00401007  |.  837D 0C 01    cmp [arg.2],1
0040100B  |.  73 18         jnb short CrackMe.00401025
0040100D  |.  6A 00         push 0                                   ; /Style = MB_OK|MB_APPLMODAL
0040100F  |.  68 30304000   push CrackMe.00403030                    ; |Title = "提示"
00401014  |.  68 35304000   push CrackMe.00403035                    ; |Text = "用户名不能为空!"
00401019  |.  6A 00         push 0                                   ; |hOwner = NULL
0040101B  |.  E8 36030000   call <jmp.&user32.MessageBoxA>           ; \MessageBoxA
00401020  |.  5F            pop edi
00401021  |.  C9            leave
00401022  |.  C2 1400       retn 14
00401025  |>  8B75 08       mov esi,[arg.1]
00401028  |.  8D7D D8       lea edi,[local.10]
0040102B  |.  33C9          xor ecx,ecx
0040102D  |.  8B45 0C       mov eax,[arg.2]
00401030  |.  C60438 00     mov byte ptr ds:[eax+edi],0
00401034  |.  EB 0A         jmp short CrackMe.00401040
00401036  |>  0FB60431      /movzx eax,byte ptr ds:[ecx+esi]
0040103A  |.  04 01         |add al,1
0040103C  |.  880439        |mov byte ptr ds:[ecx+edi],al
0040103F  |.  41            |inc ecx
00401040  |>  3B4D 0C        cmp ecx,[arg.2]
00401043  |.^ 72 F1         \jb short CrackMe.00401036
00401045  |.  FF75 10       push [arg.3]                             ; /String2
00401048  |.  8D45 D8       lea eax,[local.10]                       ; |
0040104B  |.  50            push eax                                 ; |String1
0040104C  |.  E8 47030000   call <jmp.&kernel32.lstrcmpA>            ; \lstrcmpA
00401051  |.  0BC0          or eax,eax
00401053  |.  75 15         jnz short CrackMe.0040106A
00401055  |.  6A 00         push 0                                   ; /Style = MB_OK|MB_APPLMODAL
00401057  |.  68 30304000   push CrackMe.00403030                    ; |Title = "提示"
0040105C  |.  68 46304000   push CrackMe.00403046                    ; |Text = "恭喜你,注册成功!"
00401061  |.  6A 00         push 0                                   ; |hOwner = NULL
00401063  |.  E8 EE020000   call <jmp.&user32.MessageBoxA>           ; \MessageBoxA
00401068  |.  EB 13         jmp short CrackMe.0040107D
0040106A  |>  6A 00         push 0                                   ; /Style = MB_OK|MB_APPLMODAL
0040106C  |.  68 30304000   push CrackMe.00403030                    ; |Title = "提示"
00401071  |.  68 59304000   push CrackMe.00403059                    ; |Text = "注册失败,请继续努力!"
00401076  |.  6A 00         push 0                                   ; |hOwner = NULL
00401078  |.  E8 D9020000   call <jmp.&user32.MessageBoxA>           ; \MessageBoxA
0040107D  |>  33C0          xor eax,eax
0040107F  |.  5F            pop edi
00401080  |.  C9            leave
00401081  \.  C2 1400       retn 14

这是第一个得下bp MessageBoxA断点,然后执行到用户代码,上翻
00401000 >  33C0            xor eax,eax
00401002    0BC0            or eax,eax
00401004    74 15           je short 试着爆破.0040101B
00401006    6A 40           push 40
00401008    68 00304000     push 试着爆破.00403000
0040100D    68 2E304000     push 试着爆破.0040302E
00401012    6A 00           push 0

第二个在程序入口处有个je改成Jne就OK乐
12
petnt 2011-2-20 20:11
5
有时候我也打酱油。。。
zhongtiany 2011-2-20 22:08
6
用户名:zhongtiany
序列号:{ipohujboz
1
elianmeng 2011-2-21 11:55
7
void check(char *user,char *out)
{
int i=0;
for(i=0;i<strlen(user);i++)
{
out[i]=user[i]+1;
}

}
lzyzjyl 2011-2-23 09:12
8
今天刚转正。。早就想下了。。
FaithRush 2011-2-23 11:59
9


上传的附件:
玉玉 2017-2-17 16:26
10
请问 这个怎么破??有好心人解释不~~  菜鸟一个
返回



©2000-2017 看雪学院 | Based on Xiuno BBS | 知道创宇带宽支持 | 微信公众号:ikanxue
Time: 0.011, SQL: 9 / 京ICP备10040895号-17