首页
社区
课程
招聘
[原创]CrackMe系列
发表于: 2008-10-9 08:07 13703

[原创]CrackMe系列

2008-10-9 08:07
13703
//--------------------------------- 描述:无毒,无壳
//-------------------------- 功能:给初学者提供学习破解便利
//------------------- 有兴趣的朋友可以看看,高手就算了~  希望对大家有所帮助



CrackMe.rar

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (30)
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
/////////////////////////////////////////////////////////////////////////////////
CrackMe破解详解:

1.首先用OllyICE打开CrackMe.exe,然后运行。我们第一眼就可以看到很明数据区有信息

你可以先用字符串搜索一下,如果什么都每找到,可以继续跟随本教程,但如果你找到了,你可以用自己的方法,:)

2.在(C)调试窗口,单击右键,选择【查找】--【所有模块中的名称】:如下所示


3.在(N)窗口中,输入Message....以后(别跟我说没有输入框 - -!),会显示如下:选择如图,但看仔细咯,是rdata段的


4.Enter 回车 跟随到(R)窗口,全部下断


5.切换到CrackMe程序,随便输入用户名和序列号,点【登陆】,就断下了,在这里


6.让我们看看领空,这里不是CrackMe领空,所以我们按下Ctrl+F9,然后【切换】到CrackMe,点【确定】,这时就到了,CrackMe领空,如果没有到,那继续返回,直到返回到CrackMe领空,如下图所示的地方:

我在图片上已经附带了详细的说明,应该都能看懂。

7.看图片,已经写的很详细了


这之后,嘿嘿~把【0040168E】处【jnz     short 004016A7】改为【je    short 004016A7】或者【jmp     short 004016A7】就完成了~

//////////////////////////////////////////////////////////////////////////////////////////////////////
后话:
还有一个我个人觉得更好的修改点,只修改一个字节,有人找出来吗?
上传的附件:
  • 1.JPG (38.97kb,691次下载)
  • 2.JPG (15.07kb,688次下载)
  • 3.JPG (37.42kb,688次下载)
  • 4.JPG (18.79kb,686次下载)
  • 5.JPG (26.78kb,686次下载)
  • 6.JPG (78.59kb,687次下载)
  • 7.JPG (95.57kb,687次下载)
2008-10-9 08:08
0
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
3
把偏移地址1673 处的 6个字节改了!
改为
8D 44 24 10 90 90

也可以把
168E 处的
75 改为 74

不过注册机我是没有办法写出来了!

在注册码演算的时候有一串随机数!这个不知道是调试器里面会有这样的结果!还是程序设计的时候随机生成!没有深究!
作者要是愿意解释一下吧!
2008-10-9 11:13
0
雪    币: 517
活跃值: (64)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
name:ccbszhxd
code:鲍痛茂K25223191
2008-10-9 12:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
用OllyICE打开,在0x0040167f处设断点,0x0040168e处用NOP填充
2008-10-9 13:05
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
6
004016A7   .  68 50304000   push    00403050
004016AC   .  68 44304000   push    00403044
改成
                    68 64304000   push    00403064
                    68 58304000   push    00403058
2008-10-9 13:17
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7


EDX 是 随即数,但是不是绝对性的(向COM要求一个UUID)
EBX 是 硬盘序列号

//----------------------------------EDX算法----------------------------------------------
// 向COM要求一个UUID。如果机器中有以太网卡,
// UUID最后的六个字节(Data4的2-7字节)应该是本地以太网卡的MAC地址。(不是一定能得到)

GUID uuid;
CoCreateGuid(&uuid);
// Spit the address out
char mac_addr[20];
sprintf(mac_addr,"%d%d%d%d%d%d",
            uuid.Data4[2],uuid.Data4[3],uuid.Data4[4],
            uuid.Data4[5],uuid.Data4[6],uuid.Data4[7]);

strcpy(strMac,mac_addr);

能写出注册机吗?写好了记得教我哈,呵呵
上传的附件:
  • v.JPG (3.96kb,675次下载)
2008-10-9 18:36
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
- -!学习了~  乍一看,挺出乎意料的..感觉像掩耳盗铃...不过真的可以
2008-10-9 18:47
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
有大侠可以指教一下  如何追出序列号
搂主的爆破方法有点简单了
2008-10-10 12:52
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我也只会暴破啊 郁闷着呢!!
2008-10-18 01:17
0
雪    币: 310
活跃值: (111)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
爆破了!等会再玩下!
2008-10-18 10:39
0
雪    币: 231
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
嘿嘿。爆破。
2008-10-21 13:50
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
序列号:   CUUBY
用户名:   彛獿TNM196152
2008-10-26 18:36
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14

不明白
2008-10-29 09:57
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
想知道是怎么跟踪的!哪位高手给弄个!
2008-10-29 16:45
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
用户:dqgdeng 序列号:倐亅~亅~geb203
楼主这个cm好像没有正确的注册码,我们和楼上的都没有一个正确的,难道不支持乱码?
2008-10-29 16:55
0
雪    币: 207
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
17
004016B3   .  E8 6C030000   CALL <JMP.&MFC42.#4224_?

004016CC   .  E8 53030000   CALL <JMP.&MFC42.#4224_?
用的时候应该把上行中的E8 53030000 改为E8 6C030000 吧
2008-11-2 16:06
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
又学到一种找字符串的方法.
楼主爱死你了.支持下.
2008-11-7 12:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
下来学习了一下,比较适合我这种新手。呵呵

1.OD载入,找字串“注册失败”

2.往上找,看到S2 / S1 很明显的在比较,下断

3.运行,输假码,断下真码
0040167D   .  52            PUSH EDX                                 ; /s2 = "x€倎KKJNPS42139"
0040167E   .  50            PUSH EAX                                 ; |s1
2008-11-10 20:24
0
雪    币: 107
活跃值: (13)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
20
爆破点较多,自己跟了一下,感觉算法跟出来了,因为参与计算的EDX值都不一样,每一次的注册码都不一样,不会写程序,因为EDX每一次数值不一样,也不知道对不对,算法是:序列号每一位与EDX相对应位的ASCII相加取前十位,结果与,EBX(相对与自己的电脑固定值)每一位ASCII算术右移1位的结果相加。结果的每一位ASCII要与用户名的每一位ASCII相等。
2008-11-13 13:16
0
雪    币: 564
活跃值: (12)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
21
全在这一段里面吧,爆破什么的

大家是到达这里的方法有那些额,说说那

004015B3   .  55            push    ebp
004015B4   .  57            push    edi
004015B5   .  8BE9          mov     ebp, ecx
004015B7   .  6A 01         push    1
004015B9   .  E8 6C040000   call    <jmp.&MFC42.#6334_CWnd::UpdateData>
004015BE   .  8B95 94000000 mov     edx, dword ptr [ebp+94]
004015C4   .  83C9 FF       or      ecx, FFFFFFFF
004015C7   .  8BFA          mov     edi, edx
004015C9   .  33C0          xor     eax, eax
004015CB   .  F2:AE         repne   scas byte ptr es:[edi]
004015CD   .  F7D1          not     ecx
004015CF   .  49            dec     ecx
004015D0   .  0F84 E8000000 je      004016BE
004015D6   .  8BBD 98000000 mov     edi, dword ptr [ebp+98]
004015DC   .  83C9 FF       or      ecx, FFFFFFFF
004015DF   .  F2:AE         repne   scas byte ptr es:[edi]
004015E1   .  F7D1          not     ecx
004015E3   .  49            dec     ecx
004015E4   .  0F84 D4000000 je      004016BE
004015EA   .  B9 07000000   mov     ecx, 7
004015EF   .  8D7C24 09     lea     edi, dword ptr [esp+9]
004015F3   .  884424 08     mov     byte ptr [esp+8], al
004015F7   .  53            push    ebx
004015F8   .  F3:AB         rep     stos dword ptr es:[edi]
004015FA   .  AA            stos    byte ptr es:[edi]
004015FB   .  8BFA          mov     edi, edx
004015FD   .  83C9 FF       or      ecx, FFFFFFFF
00401600   .  33C0          xor     eax, eax
00401602   .  56            push    esi
00401603   .  F2:AE         repne   scas byte ptr es:[edi]
00401605   .  F7D1          not     ecx
00401607   .  2BF9          sub     edi, ecx
00401609   .  8D5C24 10     lea     ebx, dword ptr [esp+10]
0040160D   .  8BC1          mov     eax, ecx
0040160F   .  8BF7          mov     esi, edi
00401611   .  8BFB          mov     edi, ebx
00401613   .  8D55 60       lea     edx, dword ptr [ebp+60]
00401616   .  C1E9 02       shr     ecx, 2
00401619   .  F3:A5         rep     movs dword ptr es:[edi], dword ptr [esi]
0040161B   .  8BC8          mov     ecx, eax
0040161D   .  33C0          xor     eax, eax
0040161F   .  83E1 03       and     ecx, 3
00401622   .  F3:A4         rep     movs byte ptr es:[edi], byte ptr [esi]
00401624   .  8BFA          mov     edi, edx
00401626   .  83C9 FF       or      ecx, FFFFFFFF
00401629   .  F2:AE         repne   scas byte ptr es:[edi]
0040162B   .  F7D1          not     ecx
0040162D   .  49            dec     ecx
0040162E   .  8BF1          mov     esi, ecx
00401630   .  85F6          test    esi, esi
00401632   .  7E 12         jle     short 00401646
00401634   >  8A0C02        mov     cl, byte ptr [edx+eax]
00401637   .  8A5C04 10     mov     bl, byte ptr [esp+eax+10]
0040163B   .  02D9          add     bl, cl
0040163D   .  885C04 10     mov     byte ptr [esp+eax+10], bl
00401641   .  40            inc     eax
00401642   .  3BC6          cmp     eax, esi
00401644   .^ 7C EE         jl      short 00401634
00401646   >  8D5D 74       lea     ebx, dword ptr [ebp+74]
00401649   .  83C9 FF       or      ecx, FFFFFFFF
0040164C   .  8BFB          mov     edi, ebx
0040164E   .  33C0          xor     eax, eax
00401650   .  F2:AE         repne   scas byte ptr es:[edi]
00401652   .  F7D1          not     ecx
00401654   .  49            dec     ecx
00401655   .  33F6          xor     esi, esi
00401657   .  85C9          test    ecx, ecx
00401659   .  7E 18         jle     short 00401673
0040165B   >  0FBE0433      movsx   eax, byte ptr [ebx+esi]
0040165F   .  99            cdq
00401660   .  2BC2          sub     eax, edx
00401662   .  8A5434 10     mov     dl, byte ptr [esp+esi+10]
00401666   .  D1F8          sar     eax, 1
00401668   .  02D0          add     dl, al
0040166A   .  885434 10     mov     byte ptr [esp+esi+10], dl
0040166E   .  46            inc     esi
0040166F   .  3BF1          cmp     esi, ecx
00401671   .^ 7C E8         jl      short 0040165B
00401673   >  8B85 98000000 mov     eax, dword ptr [ebp+98]
00401679   .  8D5424 10     lea     edx, dword ptr [esp+10]
0040167D   .  52            push    edx                                            ; /s2
0040167E   .  50            push    eax                                            ; |s1
0040167F   .  FF15 BC214000 call    dword ptr [<&MSVCRT._mbscmp>]                  ; \_mbscmp
00401685   .  83C4 08       add     esp, 8
00401688   .  85C0          test    eax, eax
0040168A   .  5E            pop     esi
0040168B   .  5B            pop     ebx
0040168C   .  6A 00         push    0
0040168E   .  75 17         jnz     short 004016A7                                                                                                   
00401690   .  68 64304000   push    00403064                                       ;  感谢使用
00401695   .  68 58304000   push    00403058                                       ;  注册成功!
0040169A   .  8BCD          mov     ecx, ebp
0040169C   .  E8 83030000   call    <jmp.&MFC42.#4224_CWnd::MessageBoxA>
004016A1   .  5F            pop     edi
004016A2   .  5D            pop     ebp
004016A3   .  83C4 20       add     esp, 20
004016A6   .  C3            retn
004016A7   >  68 50304000   push    00403050                                       ;  错误
004016AC   .  68 44304000   push    00403044                                       ;  注册失败!
004016B1   .  8BCD          mov     ecx, ebp
004016B3   .  E8 6C030000   call    <jmp.&MFC42.#4224_CWnd::MessageBoxA>
004016B8   .  5F            pop     edi
004016B9   .  5D            pop     ebp
004016BA   .  83C4 20       add     esp, 20
004016BD   .  C3            retn
004016BE   >  6A 00         push    0
004016C0   .  68 3C304000   push    0040303C                                       ;  提示
004016C5   .  68 20304000   push    00403020                                       ;  请正确填写用户名和序列号!
004016CA   .  8BCD          mov     ecx, ebp
004016CC   .  E8 53030000   call    <jmp.&MFC42.#4224_CWnd::MessageBoxA>
004016D1   .  5F            pop     edi
004016D2   .  5D            pop     ebp
004016D3   .  83C4 20       add     esp, 20
2008-11-17 13:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
目前只会搞这个最简单的 如何提高呢?
上传的附件:
2008-11-22 23:27
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
搞笑一下,另一种"掩耳盗铃",哈哈

上传的附件:
2008-11-28 22:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
这都看不懂,惨了,应该学什么呀???头大!
2008-11-30 14:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
我也只学会暴破哦
上传的附件:
2008-12-1 23:40
0
游客
登录 | 注册 方可回帖
返回
//