首页
社区
课程
招聘
[讨论]新手先过了这个CM,高手千万别近来
发表于: 2008-10-26 21:40 10608

[讨论]新手先过了这个CM,高手千万别近来

2008-10-26 21:40
10608
新手先过了这个CM,高手千万别进来.

高手进来了,千万别说打击新手的话.

这是两个,小CM,我过了.

新手,要过他们的CM,就先过这两个吧!

这个简单,会长自信的.

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (32)
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
看一看
看一看
2008-10-26 21:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
1: 9527888

2: <BrD-SoB>
2008-10-27 00:05
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我贴不上图,搞定
2008-10-27 12:47
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
什么题??难道是玩人的?
004016DB    33C0            xor     eax, eax
004016DD    EB 05           jmp     short 004016E4
004016DF    1BC0            sbb     eax, eax                         ; 不等于hanyu 则跳转到这里
004016E1    83D8 FF         sbb     eax, -1
004016E4    83F8 01         cmp     eax, 1                           ;
004016E7   /75 50           jnz     short 00401739                   ; eax不等于1则跳转
靠 eax or eax 后 eax等于0 然后和1比 不等则跳 0 能得1 么?你这不是玩人么你
2008-10-27 20:49
0
雪    币: 32
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
LZ, 我爱你
2008-10-28 08:52
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
你在“hanyu”后+个字符看看吧。
2008-10-28 09:24
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
8
对于不了解的东西, 话就不要说得太满
2008-10-28 09:27
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
不好意思了 这个CRACK弄了好久才看到这一步 可是怎么也过不去了 很闹心以为是有人故意在论坛里玩人  在这里像版主道歉!
2008-10-28 12:32
0
雪    币: 403
活跃值: (29)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
10
弄了一下,呵呵呵
上传的附件:
  • 1.JPG (12.08kb,262次下载)
2008-10-28 12:34
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
就是在和hanyu比较 后面是跟9527888比较 但hanyu过不去怎么跟9527888比较?请指点下
2008-10-28 12:43
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
12
楼主要取'改人家写的CM最好注明一下出处, CM1是xiaojiam大侠的作品

http://bbs.pediy.com/showthread.php?t=72668
2008-10-28 12:44
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
有东西要学了
2008-10-29 09:03
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
过关了吧
第一个
kMe($A)...
9527888
第二个
<BrD-SoB>
2008-10-29 19:12
0
雪    币: 32
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
哥哥,给个教程好不
2008-10-31 09:47
0
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16

呵呵,运气很好。。。。
2008-10-31 21:15
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
爆破了....

3个跳转全部过了

什么都没要
2008-11-1 20:42
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
004016AC    8B87 E4000000   mov     eax, dword ptr [edi+E4]
004016B2    BE 4C304000     mov     esi, 0040304C                         ; ASCII "hanyu"
004016B7    8A10            mov     dl, byte ptr [eax]                    ; 看第一个字节是否相等,不相等则错误
004016B9    8A1E            mov     bl, byte ptr [esi]
004016BB    8ACA            mov     cl, dl                                ; dl放到了cl里
004016BD    3AD3            cmp     dl, bl
004016BF    75 1E           jnz     short 004016DF
004016C1    84C9            test    cl, cl                                ; 检查cl是否为空,为空表明ESI中的字符串已经结束
004016C3    74 16           je      short 004016DB
004016C5    8A50 01         mov     dl, byte ptr [eax+1]                  ; 比较第二个字符是否相等
004016C8    8A5E 01         mov     bl, byte ptr [esi+1]
004016CB    8ACA            mov     cl, dl
004016CD    3AD3            cmp     dl, bl
004016CF    75 0E           jnz     short 004016DF
004016D1    83C0 02         add     eax, 2                                ; 字符串索引加2
004016D4    83C6 02         add     esi, 2
004016D7    84C9            test    cl, cl
004016D9  ^ 75 DC           jnz     short 004016B7                        ; 如果字符串没有结束,回到16B7继续循环
004016DB    33C0            xor     eax, eax
004016DD    EB 05           jmp     short 004016E4
004016DF    1BC0            sbb     eax, eax                              ; 这个地方注意, 下面的jnz short 00401739会带到直接出错误对话框的地方,所以这两句必须让eax 为1, 和上面的比较结合,就知道用户名应该是hanyu加上任意一个字符.
004016E1    83D8 FF         sbb     eax, -1
004016E4    83F8 01         cmp     eax, 1
004016E7    75 50           jnz     short 00401739
004016E9    8B87 E8000000   mov     eax, dword ptr [edi+E8]
004016EF    BE 44304000     mov     esi, 00403044                         ; ASCII "9527888"
004016F4    8A10            mov     dl, byte ptr [eax]                    ; 看起来密码的验证算法和用户名验证算法类似
004016F6    8A1E            mov     bl, byte ptr [esi]
004016F8    8ACA            mov     cl, dl
004016FA    3AD3            cmp     dl, bl
004016FC    75 1E           jnz     short 0040171C
004016FE    84C9            test    cl, cl
00401700    74 16           je      short 00401718
00401702    8A50 01         mov     dl, byte ptr [eax+1]
00401705    8A5E 01         mov     bl, byte ptr [esi+1]
00401708    8ACA            mov     cl, dl
0040170A    3AD3            cmp     dl, bl
0040170C    75 0E           jnz     short 0040171C
0040170E    83C0 02         add     eax, 2
00401711    83C6 02         add     esi, 2
00401714    84C9            test    cl, cl
00401716  ^ 75 DC           jnz     short 004016F4
00401718    33C0            xor     eax, eax
0040171A    EB 05           jmp     short 00401721
0040171C    1BC0            sbb     eax, eax             ;这个地方和用户名比较正好相反,不能跳入jnz short 0040173D, 00403034里就是正确的信息,所以,和用户名比较相反,这里要让eax为0, 应该从上面的jmp short 00401721处跳;  所以密码应该和这里的明文完全一样.
0040171E    83D8 FF         sbb     eax, -1
00401721    85C0            test    eax, eax
00401723    6A 00           push    0
00401725    6A 00           push    0
00401727    75 14           jnz     short 0040173D
00401729    68 34304000     push    00403034
0040172E    8BCF            mov     ecx, edi
00401730    E8 11030000     call    <jmp.&MFC42.#4224_CWnd::MessageBoxA>
00401735    5F              pop     edi
00401736    5E              pop     esi
00401737    5B              pop     ebx
00401738    C3              retn
00401739    6A 00           push    0
0040173B    6A 00           push    0
0040173D    68 20304000     push    00403020
00401742    E8 F9020000     call    <jmp.&MFC42.#1200_AfxMessageBox>
2008-11-4 16:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
第二个比较简单了, 内存里能看到密码"<BrD-SoB>", 用的strcmp比较, 相对就pass,不等就报错.
我自己是个新手啊,给同样的新手们简单说下怎么断到这个地方的:
1. 运行一遍CM2.exe,随便输入一个序列号,看到用MessageBox弹出的对话框;确认应该断MessageBox函数.
2. BP MessageBoxA / BP MessageBoxW. 不知道是否用的 Unicode版本,两个都断.
3. OllyDbg启动CM2运行,输入一密码后,点Button被OllyDbg断住.
4. Alt + K看堆栈, 看有没有CM2空间的调用. 这一次有,点过去设置个断点.
5. 但是断的地方是一个jmp     dword ptr [<&MFC42.#4224_CWnd::MessageBoxA>],没有任何价值; 在这个地方设个断点,然后重新回到3.
6. 再看堆栈,呵呵,找到了吧?

Address    Stack      Procedure / arguments                                                             Called from                   Frame
0012F87C   004015AB   <jmp.&MFC42.#4224_CWnd::MessageBoxA>                                              cm2.004015A6                  0012F8AC
0012F8B0   73D324C0   cm2.00401512                                                                      MFC42.73D324BD                0012F8AC
0012F8C0   73D323BF   MFC42.73D3243E                                                                    MFC42.73D323BA                0012F8BC
2008-11-4 16:47
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
20
观念错误..
2008-11-4 17:22
0
雪    币: 204
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
第一个
任何第一个字母大于k 的字符串 如:i,ia,i3>,j,jer等等
9527888
第二个
<BrD-SoB>
2008-11-4 17:53
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
22
if username > 'hanyu'
2008-11-4 18:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
嗯,说的对。我只看到sub eax, -1能把eax设置为0, 没看到cmp本身也可以改变al。 确实是只要字符串大于'hanyu'就可以。
2008-11-4 18:33
0
雪    币: 88
活跃值: (25)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
24
我个人认为啊 第一个破解方式有点像易语言 ,呵呵不过还没有破解好 现在正在破那 第2个太简单了 不说了
2008-11-4 21:08
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
第一个,请问如何找到004016AC处,也就是算法开始处。谢谢!
2008-11-4 23:37
0
游客
登录 | 注册 方可回帖
返回
//