首页
社区
课程
招聘
[推荐]一个适合初学者的crackme
发表于: 2007-1-13 13:02 41428

[推荐]一个适合初学者的crackme

2007-1-13 13:02
41428

测试过,推荐一下。欢迎各位贴出破解分析。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 7
支持
分享
最新回复 (59)
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
2
00401141   .  E8 4A020000   call    <jmp.&user32.GetDlgItemTextA>    ; \GetDlgItemTextA
00401146   .  83F8 03       cmp     eax, 3
00401149   .  77 18         ja      short 00401163

这里获得用户名
2007-1-13 15:25
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
name:mylove
code:1980541543

name:mylovd
code:1980541542
2007-1-13 15:32
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
4
哇考
楼上穷举
2007-1-13 15:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
呵呵~
看这边的东西
00401276   .  33DB          XOR EBX,EBX
00401278   >  8A88 48654000 MOV CL,BYTE PTR DS:[EAX+406548]
0040127E   .  888B 49674000 MOV BYTE PTR DS:[EBX+406749],CL
00401284   .  43            INC EBX
00401285   .  48            DEC EAX
00401286   .^ 75 F0         JNZ SHORT crackme.00401278
00401288   .  68 49674000   PUSH crackme.00406749                    ; /String2 = "1980541543"
0040128D   .  68 49654000   PUSH crackme.00406549                    ; |String1 = crackme.00406549
00401292   .  E8 5F010000   CALL <JMP.&kernel32.lstrcpyA>            ; \lstrcpyA

***********************************************
    这个程序只取后面的几位 来运算加密
并不是全部的name都用下去  后面相同的 code也相同 如mylove 和dylove 得到的一样
其中 00401278   >  8A88 48654000 MOV CL,BYTE PTR DS:[EAX+406548]
0040127E   .  888B 49674000 MOV BYTE PTR DS:[EBX+406749],CL
00401284   .  43            INC EBX
00401285   .  48            DEC EAX
00401286   .^ 75 F0         JNZ SHORT crackme.00401278
这边是计算 注释中的string2
将结果倒过来得到 序列号
其他运算过程不在这 不写
这个比较好做   
2007-1-13 15:51
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
6
兄弟,详细分析一下吧!
好做也要做出来哈!

2007-1-13 16:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
看来是要写一个keygen了。好
晚上把keygen写好了 传上来
现在我要看小说了  呵呵
2007-1-13 16:13
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
8
难度不高,楼上的朋友发篇破文就可以破处了

真正给初学者的 CM ,作者在最后一段算出结果后又把它的数值倒转,好像
多此一举的感觉
2007-1-13 19:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
0040116F   .  8BE8          MOV EBP,EAX
00401171   .  B9 05000000   MOV ECX,5
00401176   .  33F6          XOR ESI,ESI
00401178   .  33C0          XOR EAX,EAX
0040117A   >  8A0C16        MOV CL,BYTE PTR DS:[ESI+EDX]
0040117D   .  8AD9          MOV BL,CL
0040117F   .  3298 28634000 XOR BL,BYTE PTR DS:[EAX+406328]
00401185   .  40            INC EAX
00401186   .  83F8 05       CMP EAX,5
00401189   .  881C32        MOV BYTE PTR DS:[EDX+ESI],BL
0040118C   .  8888 27634000 MOV BYTE PTR DS:[EAX+406327],CL
00401192   .  75 02         JNZ SHORT crackme.00401196
00401194   .  33C0          XOR EAX,EAX
00401196   >  46            INC ESI
00401197   .  3BF5          CMP ESI,EBP
00401199   .^ 72 DF         JB SHORT crackme.0040117A

第一步  name 运算 第一位不运算
0040124E   .  B9 0A000000   MOV ECX,0A
00401253   .  A1 45634000   MOV EAX,DWORD PTR DS:[406345]
00401258   .  33DB          XOR EBX,EBX
0040125A   >  33D2          XOR EDX,EDX
0040125C   .  F7F1          DIV ECX
0040125E   .  80C2 30       ADD DL,30
00401261   .  8893 49654000 MOV BYTE PTR DS:[EBX+406549],DL
00401267   .  43            INC EBX
00401268   .  85C0          TEST EAX,EAX
0040126A   .^ 75 EE         JNZ SHORT crackme.0040125A

第二步  对第一步得到的 运算 得到 注册码
第三步  将第二步得到的注册码 取反  就是真正的注册码了!
有的地方有点看不懂
  本来写好了,用卑鄙手段弄好了 序列号查看的,现在传不上  郁闷。
没写过破文不知道怎么写
2007-1-13 21:14
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
zcg
10
一长串的 xor 运算
2007-1-13 23:11
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
11
happytown版主终于出个对偶们这堆新手来说像样点的crackme了`
哈哈
2007-1-15 09:18
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
12
不是他出的
2007-1-15 13:02
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
13
他没这么"好人",大多都是一些 LONG..........LONG ..... 的运算
有空我也写一个,超。。。。。。。LONG 的,说明不准爆破,又没有明码的,让大虾们见了也摇头叹息
2007-1-15 13:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
哎呀 看得眼都花了  看来要加紧入门才行了
2007-1-15 21:04
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
学习中,先收起来,在学习,step by step.
见笑了,现在看到啥都是宝一样。
2007-1-16 20:01
0
雪    币: 82
活跃值: (531)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
heimei
1695452007
好玩
明码比较
分析算法正在进行中``
汇编没学好 看不懂啥意思  
2007-1-16 22:47
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
算法是这样的:
    先把用户名的第一位去掉,再在用户名最后加一个ASCII码为0的字符组成新的字符串s1然后再进入下面的四步运算.
    第一步,ASCII码AA,89,C4,FE,46加到新字符串s1头部组成字符串s2,S1与S2各位异或得s3
    第二步,S3尾部加E7,03,D0,F0,78组成S4,S4与S3各位异或得S5
    第三步,F7,FD,F4,E7,B9加到S5头部得S6,S6与S5各位异或得S7
    第四步,S7尾部加B5,1B,C9,50,73组成S8,S8与S7各位异或得S9
做完这四步后,最后得到S9,再把S9的第一,五,九...位相加放到第一位,第二,六,十...位相加放到第二位,第三,七,十一...位相加放到第三位,第四,八,十二...位相加放到第四位,这样最后得到长度为四的字符串S10,再把S10的ASCII码看成是一个32位的无符号整数,转化为10进制数就得到注册码了.
跟踪了很久才得出这样的结论,大家看看有没有错,破解的话倒是非常简单,不用分析算法就可以看到结果了
2007-1-17 15:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
low
18
赫赫,我们真是初学者,哎,慢慢向高手看齐吧。。。

x_low
2235976648

谢谢看雪论坛,谢谢大家,
第一个不用看教程的crackme:)

赫赫,可怜哦,大家一起进步吧
2007-1-18 16:57
0
雪    币: 216
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
abcdef
1694992479
初学还只会爆破,慢慢向老大们学习
2007-1-19 13:16
0
雪    币: 3688
活跃值: (4242)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
20
00406328  AA 89 C4 FE 46 78 F0 D0  ?宁Fx鹦
00406330  03 E7 F7 FD F4 E7 B9 B5  琪?绻
00406338  1B C9 50 73 00 70 45 14  尚s.pE
00406340  00 DC 51 00 00 00 00 00  .苎.....
00406348  00 63 68 69 6E 61 00 00  .china..

以用户名china为例:

注册码计算过程用到上面406328开始到406348的表,计算过程为:

1、表内数据5个为一组参与运算(用户名长度大于5的将继续循环计算)。

2、用户名从第2位开始取HEX,跟表406328开始取值进行异或运算,结果替换当前位用户名HEX,计算用户名长度次数(用户名后+00准备转换为处理后用户名,实际结果+1位=用户名长度)。

3、从表第6位开始取值,跟倒序取第1次变换后的用户名(长度不变,新加1位)hex进行计算,结果继续替换。

4、正取第2次变换后用户名跟表后内容继续运算。

5、再倒取用户HEX,继续跟表内容计算。

6、表中最后00406345的内容00 00 00 00 跟用户名3次变换后的HEX相加(次数为用户名长度),结果替换00部分。

7、取00406345的内存值,对0xA求余,结果+30转换为10,取字符连接为注册码。

00401163   > \8D15 49634000 lea     edx, [406349]
00401169   .  52            push    edx                              ; /String => "china"
0040116A   .  E8 8D020000   call    <jmp.&kernel32.lstrlenA>         ; \lstrlenA
0040116F   .  8BE8          mov     ebp, eax                         ;  用户名长度5
00401171   .  B9 05000000   mov     ecx, 5
00401176   .  33F6          xor     esi, esi
00401178   .  33C0          xor     eax, eax
0040117A   >  8A0C16        mov     cl, [esi+edx]                    ;  开始即取第2位HEX
0040117D   .  8AD9          mov     bl, cl
0040117F   .  3298 28634000 xor     bl, [eax+406328]                 ;  查表406328 AA
00401185   .  40            inc     eax
00401186   .  83F8 05       cmp     eax, 5
00401189   .  881C32        mov     [edx+esi], bl                    ;  异或后结果C2替换用户名  63 C2 E0 AA 9F 46
0040118C   .  8888 27634000 mov     [eax+406327], cl                 ;  把HEX替换到表406328
00401192   .  75 02         jnz     short 00401196
00401194   .  33C0          xor     eax, eax
00401196   >  46            inc     esi
00401197   .  3BF5          cmp     esi, ebp
00401199   .^ 72 DF         jb      short 0040117A
0040119B   .  33FF          xor     edi, edi
0040119D   .  33C9          xor     ecx, ecx
0040119F   .  85ED          test    ebp, ebp
004011A1   .  76 26         jbe     short 004011C9
004011A3   >  8A9F 2D634000 mov     bl, [edi+40632D]                 ;  继续取表的6位开始
004011A9   .  8BF5          mov     esi, ebp                         ;  长度5
004011AB   .  2BF1          sub     esi, ecx
004011AD   .  4E            dec     esi
004011AE   .  8A0432        mov     al, [edx+esi]                    ;  倒取变换后的用户名HEX
004011B1   .  32D8          xor     bl, al                           ;  两者XOR运算
004011B3   .  47            inc     edi
004011B4   .  881C32        mov     [edx+esi], bl                    ;  结果给表第6位
004011B7   .  8887 2C634000 mov     [edi+40632C], al                 ;  变换后用户名倒序替换到表中
004011BD   .  83FF 05       cmp     edi, 5
004011C0   .  75 02         jnz     short 004011C4
004011C2   .  33FF          xor     edi, edi
004011C4   >  41            inc     ecx
004011C5   .  3BCD          cmp     ecx, ebp
004011C7   .^ 72 DA         jb      short 004011A3                   ;  用户名2次变换后结果63 25 E3 7A 6F 3E 00
004011C9   >  33F6          xor     esi, esi
004011CB   .  33FF          xor     edi, edi
004011CD   .  85ED          test    ebp, ebp
004011CF   .  76 21         jbe     short 004011F2
004011D1   >  8A043A        mov     al, [edx+edi]                    ;  正取2次变换后的用户名HEX
004011D4   .  8A8E 32634000 mov     cl, [esi+406332]                 ;  继续取表的后面字符
004011DA   .  32C8          xor     cl, al
004011DC   .  46            inc     esi
004011DD   .  880C3A        mov     [edx+edi], cl                    ;  结果替换用户名2-5位内容
004011E0   .  8886 31634000 mov     [esi+406331], al                 ;  用户名内容替换表中内容
004011E6   .  83FE 05       cmp     esi, 5
004011E9   .  75 02         jnz     short 004011ED
004011EB   .  33F6          xor     esi, esi
004011ED   >  47            inc     edi
004011EE   .  3BFD          cmp     edi, ebp
004011F0   .^ 72 DF         jb      short 004011D1
004011F2   >  33FF          xor     edi, edi
004011F4   .  33C9          xor     ecx, ecx
004011F6   .  85ED          test    ebp, ebp
004011F8   .  76 26         jbe     short 00401220
004011FA   >  8A9F 37634000 mov     bl, [edi+406337]                 ;  继续表取表内容
00401200   .  8BF5          mov     esi, ebp
00401202   .  2BF1          sub     esi, ecx
00401204   .  4E            dec     esi
00401205   .  8A0432        mov     al, [edx+esi]                    ;  3次处理后的用户名倒取63 D2 1E 8E 88 87
00401208   .  32D8          xor     bl, al                           ;  XOR 运算结果替换用户名
0040120A   .  47            inc     edi
0040120B   .  881C32        mov     [edx+esi], bl                    ;  倒序继续替换用户名内容63 A1 4E 47 93 32
0040120E   .  8887 36634000 mov     [edi+406336], al
00401214   .  83FF 05       cmp     edi, 5
00401217   .  75 02         jnz     short 0040121B
00401219   .  33FF          xor     edi, edi
0040121B   >  41            inc     ecx
0040121C   .  3BCD          cmp     ecx, ebp
0040121E   .^ 72 DA         jb      short 004011FA
00401220   >  8D3D 45634000 lea     edi, [406345]                    ;  表剩余内容D3 4E 47 93
00401226   .  33C0          xor     eax, eax
00401228   .  85ED          test    ebp, ebp
0040122A   .  C705 45634000>mov     dword ptr [406345], 0            ;  替换为00
00401234   .  76 17         jbe     short 0040124D
00401236   >  8BC8          mov     ecx, eax
00401238   .  83E1 03       and     ecx, 3
0040123B   .  8A1C0F        mov     bl, [edi+ecx]                    ;  取替换后的表剩余内容跟最后处理的用户名HEX相加
0040123E   .  8D340F        lea     esi, [edi+ecx]
00401241   .  8A0C02        mov     cl, [edx+eax]
00401244   .  02D9          add     bl, cl
00401246   .  40            inc     eax
00401247   .  3BC5          cmp     eax, ebp
00401249   .  881E          mov     [esi], bl                        ;  结果替换最后表内容D3 4E 47 93 加次数为用户名长度,故第一位加了两次
0040124B   .^ 72 E9         jb      short 00401236
0040124D   >  5D            pop     ebp
0040124E   .  B9 0A000000   mov     ecx, 0A
00401253   .  A1 45634000   mov     eax, [406345]                    ;  取表最后内容处理后结果的内存值ds:[00406345]=93474ED3
00401258   .  33DB          xor     ebx, ebx
0040125A   >  33D2          xor     edx, edx
0040125C   .  F7F1          div     ecx                              ;  A
0040125E   .  80C2 30       add     dl, 30                           ;  余数+30变为数值
00401261   .  8893 49654000 mov     [ebx+406549], dl
00401267   .  43            inc     ebx
00401268   .  85C0          test    eax, eax
0040126A   .^ 75 EE         jnz     short 0040125A
2007-2-11 21:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
值得学习.
2007-2-12 21:09
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
22
支持啊。。。。。。。。学习
2007-2-12 21:13
0
雪    币: 3688
活跃值: (4242)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
23
最初由 KAN 发布
支持啊。。。。。。。。学习


其实我是演员,而不是牛。
2007-2-12 22:11
0
雪    币: 226
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
24
004012AB   .  68 49654000   push    00406549              ; /String2 = "1626529785"
004012B0   .  68 49694000   push    00406949              ; |String1 = "76902769"
004012B5   .  E8 36010000   call    <jmp.&kernel32.lstrcm>; \lstrcmpA比较了
004012BA   .  0BC0          or      eax, eax
004012BC      74 16         je      short 004012D4     爆破作业点
004012BE   .  6A 40         push    40                    ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL
004012C0   .  68 DB624000   push    004062DB              ; |Title = "Good boy..."
004012C5   .  68 AC624000   push    004062AC              ; |Text = "Yep, thats the right code!",LF,CR,"Go write a keygen!"
004012CA   .  FF75 08       push    dword ptr [ebp+8]     ; |hOwner
004012CD   .  E8 CA000000   call    <jmp.&user32.MessageB>; \MessageBoxA

用户名 mikeyabc
注册码1626529785
2007-2-13 11:04
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
004012BC 处把jne改成je,注册里用户名任意大于四字符,密码任意填写都可以,哈哈,高手勿笑
2007-2-28 13:49
0
游客
登录 | 注册 方可回帖
返回
//