首页
社区
课程
招聘
[原创]熬了2晚上才做出来的CrackMe,希望大家都破不出来(我的第2个CM)
发表于: 2009-12-20 03:44 16229

[原创]熬了2晚上才做出来的CrackMe,希望大家都破不出来(我的第2个CM)

2009-12-20 03:44
16229
说明:为了让更多的人参与进来,本CrackMe无壳,VC++6.0编译生成,爆破为主,欢迎写注册机!感觉算法应该很难追。
个人感觉这个CrackMe够中等难度,有很弱的动态反调试,有静态反调试。大家练练手!我是一大菜鸟,一边拿汇编书查 MOVSB指令,一边用UtralEdit 和 OD 修改PE文件,整个过程都快崩溃,在电脑前一坐就是一整天,幸亏我坚持下来了,做好了!哈哈,如果大家很感兴趣的话 我会在下周写一个关于本CrackMe的制作过程!注册机已经写好了。依然记得第一次写CrackMe,那时候根本不知道什么是反调试,就认为把字符串绕的圈越多就越安全,写完了还沾沾自喜,结果被人家修改了一个跳转就破了,那个汗啊!!!!!!!!!往事不堪回首!

个人体会:做任何事情都是贵在坚持,坚持住了,就是成功了!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (26)
雪    币: 1022
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
这么晚了还在~~~
标记下~
2009-12-20 03:49
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
3
谢谢支持,好不容易周末   要多玩玩   呵呵~~
2009-12-20 04:14
0
雪    币: 388
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
机器码 601ae8df723f6bab7dbf32f6ff578841
注册码 PDzNS+SSUX7VUASSU+UlU9wRS9xlNV33
上传的附件:
  • 1.jpg (18.66kb,881次下载)
2009-12-20 10:35
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
5
Cyane 好厉害,这么快啊。。。
发现不能动态反调试,我又更新了下附件,不好意思~~~
2009-12-20 11:17
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
6
硬盘相关么?
2009-12-20 11:23
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
7
是,机器码就是取硬件的一些信息,然后做些处理就形成32位机器码了。
2009-12-20 11:31
0
雪    币: 773
活跃值: (315)
能力值: ( LV9,RANK:150 )
在线值:
发帖
回帖
粉丝
8
机器码:2e5803f3aa726aabb6373450279fe316
注册码:558BNAUeMS52UM7+lADBMXF4MAA1NV33
2009-12-20 21:57
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
9
我看谁下载里面没有你。。。你这个应该是我更新附件之前破解的吧,尴尬~~另外程序有自校验,如果没有修改PE文件单纯把注册码追出来的话 可以这样提供  如果您修改了PE文件了 最好上传一个截图
上传的附件:
2009-12-20 22:08
0
雪    币: 773
活跃值: (315)
能力值: ( LV9,RANK:150 )
在线值:
发帖
回帖
粉丝
10
40299B            lea     ecx, dword ptr [esp+60]                //[ESP+60]=注册码前4位
402B58            mov     dl, byte ptr [esp+eax+F4]            //[esp+eax+F4]=注册码5-8位
402D88            mov     cl, byte ptr [esp+eax+254]          //[esp+eax+254] =注册码9-32位
2009-12-20 23:32
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
11
[QUOTE=rainbow;730238]40299B            lea     ecx, dword ptr [esp+60]                //[ESP+60]=注册码前4位
402B58            mov     dl, byte ptr [esp+eax+F4]            //[...[/QUOTE]

对的,分析的很好! 原来我认为的“关键”代码都是错误的, 对关键的地址(这里得到机器码的地址和要对比的注册码的地址)没把握好,学习了~~ 能问下你是单步调试的,还是直接看OD的反汇编码  然后下断F9?
2009-12-21 00:30
0
雪    币: 7425
活跃值: (1997)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12


MyHWID: 5e3f13631b1c51f4ff358d1324b45619
Serial: Dpc1ngEAp42ttARspoEnt4RciRLWtW9Q
上传的附件:
2009-12-21 05:46
0
雪    币: 240
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
一堆牛人,下载玩玩儿……
2009-12-21 08:03
0
雪    币: 159
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
899d256d65c48ce13d06d2d33c32f3b0
/tJUnTRsRA1TnTnwR4/UR/RttoNsth9Q
上传的附件:
2009-12-21 16:17
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
小爆了下~
上传的附件:
  • 1.jpg (13.57kb,685次下载)
2009-12-25 20:57
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
16
搞不定,高手很多
2009-12-25 21:25
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
00402991   .  55            push ebp                                 ; /断点-F8单步走
00402992   .  E8 77190000   call <jmp.&MFC42.#825>                   ; \free
00402997   .  8B7C24 18     mov edi,dword ptr ss:[esp+18]
0040299B   .  8D4C24 60     lea ecx,dword ptr ss:[esp+60]            ;  
0040299F   .  83C4 04       add esp,4
004029A2   .  33C0          xor eax,eax
004029A4   .  2BF9          sub edi,ecx                              ;  Xoog前四位真码出现
004029A6   >  8A5404 5C     mov dl,byte ptr ss:[esp+eax+5C]
004029AA   .  8D6C04 5C     lea ebp,dword ptr ss:[esp+eax+5C]
004029AE   .  3A142F        cmp dl,byte ptr ds:[edi+ebp]
004029B1      0F85 AA040000 jnz CrackMe.00402E61                     ;  不对则跳过注册成功
004029B7   .  40            inc eax                                  ;  对就不跳
004029B8   .  83F8 04       cmp eax,4
004029BB    ^ 7C E9         jl short CrackMe.004029A6
004029BD   .  56            push esi                                 ; /block
004029BE   .  E8 4B190000   call <jmp.&MFC42.#825>                   ; \free
004029C3   .  68 00020000   push 200
004029C8   .  E8 491A0000   call <jmp.&MFC42.#823>
004029CD   .  83C4 08       add esp,8
004029D0   .  8BE8          mov ebp,eax
004029D2   .  B9 80000000   mov ecx,80
004029D7   .  33C0          xor eax,eax
004029D9   .  8BFD          mov edi,ebp
004029DB   .  68 00020000   push 200                                 ; /BufSize = 200 (512.)
004029E0   .  55            push ebp                                 ; |PathBuffer
004029E1   .  50            push eax                                 ; |hModule => NULL
004029E2   .  F3:AB         rep stos dword ptr es:[edi]              ; |
004029E4   .  FF15 30504000 call dword ptr ds:[<&KERNEL32.GetModuleF>; \GetModuleFileNameA
004029EA   .  6A 0C         push 0C
004029EC   .  E8 251A0000   call <jmp.&MFC42.#823>
004029F1   .  83C4 04       add esp,4
004029F4   .  85C0          test eax,eax
004029F6   .  74 10         je short CrackMe.00402A08
004029F8   .  8BD0          mov edx,eax
004029FA   .  33C9          xor ecx,ecx
004029FC   .  8BF0          mov esi,eax
004029FE   .  890A          mov dword ptr ds:[edx],ecx
00402A00   .  894A 04       mov dword ptr ds:[edx+4],ecx
00402A03   .  894A 08       mov dword ptr ds:[edx+8],ecx
00402A06   .  EB 02         jmp short CrackMe.00402A0A
00402A08   >  33F6          xor esi,esi
00402A0A   >  B9 0C000000   mov ecx,0C
00402A0F   .  33C0          xor eax,eax
00402A11   .  8D7C24 29     lea edi,dword ptr ss:[esp+29]
00402A15   .  C64424 28 00  mov byte ptr ss:[esp+28],0
00402A1A   .  F3:AB         rep stos dword ptr es:[edi]
00402A1C   .  AA            stos byte ptr es:[edi]
00402A1D   .  8B7C24 18     mov edi,dword ptr ss:[esp+18]
00402A21   .  8D4424 28     lea eax,dword ptr ss:[esp+28]
00402A25   .  892E          mov dword ptr ds:[esi],ebp
00402A27   .  8B2D 80524000 mov ebp,dword ptr ds:[<&USER32.PostThrea>;  USER32.PostThreadMessageA
00402A2D   .  C746 04 02000>mov dword ptr ds:[esi+4],2
00402A34   .  8946 08       mov dword ptr ds:[esi+8],eax
00402A37   .  8B4F 60       mov ecx,dword ptr ds:[edi+60]
00402A3A   .  6A 00         push 0                                   ; /lParam = 0
00402A3C   .  56            push esi                                 ; |wParam
00402A3D   .  68 04040000   push 404                                 ; |Message = WM_USER+4
00402A42   .  8B51 30       mov edx,dword ptr ds:[ecx+30]            ; |
00402A45   .  52            push edx                                 ; |ThreadId
00402A46   .  FFD5          call ebp                                 ; \PostThreadMessageA
00402A48   .  85C0          test eax,eax
00402A4A   .  75 15         jnz short CrackMe.00402A61
00402A4C   >  8B47 60       mov eax,dword ptr ds:[edi+60]
00402A4F   .  6A 00         push 0
00402A51   .  56            push esi
00402A52   .  68 04040000   push 404
00402A57   .  8B48 30       mov ecx,dword ptr ds:[eax+30]
00402A5A   .  51            push ecx
00402A5B   .  FFD5          call ebp
00402A5D   .  85C0          test eax,eax
00402A5F   .^ 74 EB         je short CrackMe.00402A4C
00402A61   >  8B15 7C984000 mov edx,dword ptr ds:[40987C]
00402A67   .  6A FF         push -1                                  ; /Timeout = INFINITE
00402A69   .  52            push edx                                 ; |hObject => 000000B4
00402A6A   .  FF15 48504000 call dword ptr ds:[<&KERNEL32.WaitForSin>; \卡住,逆着走,点暂停再运行OK
00402A70   .  A1 7C984000   mov eax,dword ptr ds:[40987C]
00402A75   .  50            push eax                                 ; /hEvent => 000000B4
00402A76   .  FF15 44504000 call dword ptr ds:[<&KERNEL32.ResetEvent>; \ResetEvent
00402A7C   .  56            push esi                                 ; /block
00402A7D   .  E8 8C180000   call <jmp.&MFC42.#825>                   ; \free
00402A82   .  8A4B 03       mov cl,byte ptr ds:[ebx+3]
00402A85   .  8A5424 2F     mov dl,byte ptr ss:[esp+2F]
00402A89   .  8A4424 3D     mov al,byte ptr ss:[esp+3D]
00402A8D   .  32CA          xor cl,dl
00402A8F   .  884C24 2C     mov byte ptr ss:[esp+2C],cl
00402A93   .  8A53 04       mov dl,byte ptr ds:[ebx+4]
00402A96   .  8A4C24 49     mov cl,byte ptr ss:[esp+49]
00402A9A   .  32D0          xor dl,al
00402A9C   .  885424 2D     mov byte ptr ss:[esp+2D],dl
00402AA0   .  8A43 05       mov al,byte ptr ds:[ebx+5]
00402AA3   .  32C1          xor al,cl
00402AA5   .  6A 0C         push 0C
00402AA7   .  884424 32     mov byte ptr ss:[esp+32],al
00402AAB   .  C64424 33 00  mov byte ptr ss:[esp+33],0
00402AB0   .  E8 61190000   call <jmp.&MFC42.#823>
00402AB5   .  83C4 08       add esp,8
00402AB8   .  85C0          test eax,eax
00402ABA   .  74 10         je short CrackMe.00402ACC
00402ABC   .  8BD0          mov edx,eax
00402ABE   .  33C9          xor ecx,ecx
00402AC0   .  8BF0          mov esi,eax
00402AC2   .  890A          mov dword ptr ds:[edx],ecx
00402AC4   .  894A 04       mov dword ptr ds:[edx+4],ecx
00402AC7   .  894A 08       mov dword ptr ds:[edx+8],ecx
00402ACA   .  EB 02         jmp short CrackMe.00402ACE
00402ACC   >  33F6          xor esi,esi
00402ACE   >  B9 0C000000   mov ecx,0C
00402AD3   .  33C0          xor eax,eax
00402AD5   .  8DBC24 F50000>lea edi,dword ptr ss:[esp+F5]
00402ADC   .  C68424 F40000>mov byte ptr ss:[esp+F4],0
00402AE4   .  F3:AB         rep stos dword ptr es:[edi]
00402AE6   .  AA            stos byte ptr es:[edi]
00402AE7   .  8B7C24 18     mov edi,dword ptr ss:[esp+18]
00402AEB   .  8D4424 28     lea eax,dword ptr ss:[esp+28]
00402AEF   .  8D8C24 F40000>lea ecx,dword ptr ss:[esp+F4]
00402AF6   .  8906          mov dword ptr ds:[esi],eax
00402AF8   .  C746 04 03000>mov dword ptr ds:[esi+4],3
00402AFF   .  894E 08       mov dword ptr ds:[esi+8],ecx
00402B02   .  8B57 60       mov edx,dword ptr ds:[edi+60]
00402B05   .  6A 00         push 0
00402B07   .  56            push esi
00402B08   .  68 01040000   push 401
00402B0D   .  8B42 30       mov eax,dword ptr ds:[edx+30]
00402B10   .  50            push eax
00402B11   .  FFD5          call ebp
00402B13   .  85C0          test eax,eax
00402B15   .  75 15         jnz short CrackMe.00402B2C
00402B17   >  8B4F 60       mov ecx,dword ptr ds:[edi+60]
00402B1A   .  6A 00         push 0
00402B1C   .  56            push esi
00402B1D   .  68 01040000   push 401
00402B22   .  8B51 30       mov edx,dword ptr ds:[ecx+30]
00402B25   .  52            push edx
00402B26   .  FFD5          call ebp
00402B28   .  85C0          test eax,eax
00402B2A   .^ 74 EB         je short CrackMe.00402B17
00402B2C   >  A1 7C984000   mov eax,dword ptr ds:[40987C]
00402B31   .  6A FF         push -1                                  ; /Timeout = INFINITE
00402B33   .  50            push eax                                 ; |hObject => 000000B4
00402B34   .  FF15 48504000 call dword ptr ds:[<&KERNEL32.WaitForSin>; \又卡住~再逆!!
00402B3A   .  8B0D 7C984000 mov ecx,dword ptr ds:[40987C]
00402B40   .  51            push ecx                                 ; /hEvent => 000000B4
00402B41   .  FF15 44504000 call dword ptr ds:[<&KERNEL32.ResetEvent>; \ResetEvent
00402B47   .  56            push esi                                 ; /block
00402B48   .  E8 C1170000   call <jmp.&MFC42.#825>                   ; \free
00402B4D   .  83C4 04       add esp,4
00402B50   .  33F6          xor esi,esi
00402B52   .  33C0          xor eax,eax
00402B54   >  8B6C24 14     mov ebp,dword ptr ss:[esp+14]
00402B58   .  8A9404 F40000>mov dl,byte ptr ss:[esp+eax+F4]          ;  4o0y后四位真码出现
00402B5F   .  3A5428 04     cmp dl,byte ptr ds:[eax+ebp+4]
00402B63      0F85 F8020000 jnz CrackMe.00402E61                     ;  不对则跳过注册成功
00402B69   .  40            inc eax
00402B6A   .  83F8 04       cmp eax,4
00402B6D    ^ 7C E5         jl short CrackMe.00402B54
00402B6F   .  B9 18000000   mov ecx,18
00402B74   .  33C0          xor eax,eax
00402B76   .  8DBC24 8D0100>lea edi,dword ptr ss:[esp+18D]
00402B7D   .  C68424 8C0100>mov byte ptr ss:[esp+18C],0
00402B85   .  F3:AB         rep stos dword ptr es:[edi]
00402B87   .  66:AB         stos word ptr es:[edi]
00402B89   .  8D8C24 900300>lea ecx,dword ptr ss:[esp+390]
00402B90   .  C74424 20 640>mov dword ptr ss:[esp+20],64
00402B98   .  AA            stos byte ptr es:[edi]
00402B99   .  E8 D2110000   call CrackMe.00403D70
00402B9E   .  6A 08         push 8
00402BA0   .  55            push ebp
00402BA1   .  8D8C24 980300>lea ecx,dword ptr ss:[esp+398]
00402BA8   .  89B424 EC1300>mov dword ptr ss:[esp+13EC],esi
00402BAF   .  E8 EC110000   call CrackMe.00403DA0
00402BB4   .  6A 01         push 1
00402BB6   .  8D8C24 940300>lea ecx,dword ptr ss:[esp+394]
00402BBD   .  E8 3E130000   call CrackMe.00403F00
00402BC2   .  8D4424 20     lea eax,dword ptr ss:[esp+20]
00402BC6   .  8D8C24 8C0100>lea ecx,dword ptr ss:[esp+18C]
00402BCD   .  50            push eax
00402BCE   .  51            push ecx
00402BCF   .  6A 20         push 20
00402BD1   .  53            push ebx
00402BD2   .  8D8C24 A00300>lea ecx,dword ptr ss:[esp+3A0]
00402BD9   .  E8 42130000   call CrackMe.00403F20
00402BDE   .  B9 18000000   mov ecx,18
00402BE3   .  33C0          xor eax,eax
00402BE5   .  8DBC24 B90200>lea edi,dword ptr ss:[esp+2B9]
00402BEC   .  C68424 B80200>mov byte ptr ss:[esp+2B8],0
00402BF4   .  F3:AB         rep stos dword ptr es:[edi]
00402BF6   .  66:AB         stos word ptr es:[edi]
00402BF8   .  AA            stos byte ptr es:[edi]
00402BF9   .  8B4424 20     mov eax,dword ptr ss:[esp+20]
00402BFD   .  8D9424 B80200>lea edx,dword ptr ss:[esp+2B8]
00402C04   .  52            push edx
00402C05   .  8D8C24 900100>lea ecx,dword ptr ss:[esp+190]
00402C0C   .  50            push eax
00402C0D   .  51            push ecx
00402C0E   .  E8 8DEEFFFF   call CrackMe.00401AA0
00402C13   .  B9 18000000   mov ecx,18
00402C18   .  33C0          xor eax,eax
00402C1A   .  8DBC24 9D0000>lea edi,dword ptr ss:[esp+9D]
00402C21   .  C68424 9C0000>mov byte ptr ss:[esp+9C],0
00402C29   .  F3:AB         rep stos dword ptr es:[edi]
00402C2B   .  83C4 0C       add esp,0C
00402C2E   .  8D9424 B80200>lea edx,dword ptr ss:[esp+2B8]
00402C35   .  66:AB         stos word ptr es:[edi]                   ;  EDX
00402C37   .  52            push edx
00402C38   .  56            push esi
00402C39   .  8D8C24 240300>lea ecx,dword ptr ss:[esp+324]
00402C40   .  AA            stos byte ptr es:[edi]
00402C41   .  E8 6A020000   call CrackMe.00402EB0
00402C46   .  8D4424 14     lea eax,dword ptr ss:[esp+14]
00402C4A   .  8D8C24 1C0300>lea ecx,dword ptr ss:[esp+31C]
00402C51   .  50            push eax
00402C52   .  C68424 E81300>mov byte ptr ss:[esp+13E8],1
00402C5A   .  E8 61100000   call CrackMe.00403CC0
00402C5F   .  8B08          mov ecx,dword ptr ds:[eax]               ;  4d70e7fad1fc0f4d5acda04151a11541
00402C61   .  8D9424 900000>lea edx,dword ptr ss:[esp+90]
00402C68   .  51            push ecx                                 ; /<%s>
00402C69   .  68 78764000   push CrackMe.00407678                    ; |%s
00402C6E   .  52            push edx                                 ; |s
00402C6F   .  FF15 38524000 call dword ptr ds:[<&MSVCRT.sprintf>]    ; \sprintf
00402C75   .  83C4 0C       add esp,0C
00402C78   .  8D4C24 14     lea ecx,dword ptr ss:[esp+14]
00402C7C   .  E8 B1160000   call <jmp.&MFC42.#800>
00402C81   .  8B7C24 18     mov edi,dword ptr ss:[esp+18]
00402C85   .  897424 10     mov dword ptr ss:[esp+10],esi
00402C89   .  8B35 34504000 mov esi,dword ptr ds:[<&KERNEL32.GetExit>;  kernel32.GetExitCodeThread
00402C8F   .  8D4424 10     lea eax,dword ptr ss:[esp+10]
00402C93   .  8B4F 60       mov ecx,dword ptr ds:[edi+60]
00402C96   .  50            push eax
00402C97   .  8B51 2C       mov edx,dword ptr ds:[ecx+2C]
00402C9A   .  52            push edx
00402C9B      FFD6          call esi
00402C9D      817C24 10 030>cmp dword ptr ss:[esp+10],103
00402CA5      74 09         je short CrackMe.00402CB0
00402CA7   ?  85C0          test eax,eax
00402CA9   .  75 05         jnz short CrackMe.00402CB0
00402CAB   .  E8 30F0FFFF   call CrackMe.00401CE0
00402CB0   >  8B4F 60       mov ecx,dword ptr ds:[edi+60]
00402CB3   .  8D4424 10     lea eax,dword ptr ss:[esp+10]
00402CB7   .  50            push eax
00402CB8   .  8B51 2C       mov edx,dword ptr ds:[ecx+2C]
00402CBB   .  52            push edx
00402CBC   .  FFD6          call esi
00402CBE   .  817C24 10 030>cmp dword ptr ss:[esp+10],103
00402CC6   .  74 09         je short CrackMe.00402CD1
00402CC8   .  85C0          test eax,eax
00402CCA   .  75 05         jnz short CrackMe.00402CD1
00402CCC   .  E8 0FF0FFFF   call CrackMe.00401CE0
00402CD1   >  33C0          xor eax,eax
00402CD3   >  8A8C04 A00000>mov cl,byte ptr ss:[esp+eax+A0]
00402CDA   .  8A9404 900000>mov dl,byte ptr ss:[esp+eax+90]
00402CE1   .  32D1          xor dl,cl
00402CE3   .  889404 900000>mov byte ptr ss:[esp+eax+90],dl
00402CEA   .  C68404 A00000>mov byte ptr ss:[esp+eax+A0],0
00402CF2   .  40            inc eax
00402CF3   .  83F8 10       cmp eax,10
00402CF6   .^ 7C DB         jl short CrackMe.00402CD3
00402CF8   .  8D5424 14     lea edx,dword ptr ss:[esp+14]
00402CFC   .  52            push edx
00402CFD   .  E8 FC160000   call <jmp.&MFC42.#3811>
00402D02   .  8B00          mov eax,dword ptr ds:[eax]
00402D04   .  6A 00         push 0
00402D06   .  8D4C24 20     lea ecx,dword ptr ss:[esp+20]
00402D0A   .  894424 20     mov dword ptr ss:[esp+20],eax
00402D0E   .  E8 E5160000   call <jmp.&MFC42.#3337>
00402D13   .  8B40 0C       mov eax,dword ptr ds:[eax+C]
00402D16   .  50            push eax                                 ; /seed
00402D17   .  FF15 2C524000 call dword ptr ds:[<&MSVCRT.srand>]      ; \srand
00402D1D   .  8B35 30524000 mov esi,dword ptr ds:[<&MSVCRT.rand>]    ;  msvcrt.rand
00402D23   .  FFD6          call esi                                 ; [rand
00402D25   .  25 FF000080   and eax,800000FF
00402D2A   .  79 07         jns short CrackMe.00402D33
00402D2C   .  48            dec eax
00402D2D   .  0D 00FFFFFF   or eax,FFFFFF00
00402D32   .  40            inc eax
00402D33   >  888424 A40000>mov byte ptr ss:[esp+A4],al
00402D3A   .  FFD6          call esi
00402D3C   .  25 FF000080   and eax,800000FF
00402D41   .  79 07         jns short CrackMe.00402D4A
00402D43   .  48            dec eax
00402D44   .  0D 00FFFFFF   or eax,FFFFFF00
00402D49   .  40            inc eax
00402D4A   >  888424 A50000>mov byte ptr ss:[esp+A5],al
00402D51   .  B9 18000000   mov ecx,18
00402D56   .  33C0          xor eax,eax
00402D58   .  8DBC24 590200>lea edi,dword ptr ss:[esp+259]
00402D5F   .  C68424 580200>mov byte ptr ss:[esp+258],0
00402D67   .  8D9424 940000>lea edx,dword ptr ss:[esp+94]
00402D6E   .  F3:AB         rep stos dword ptr es:[edi]
00402D70   .  8D8C24 580200>lea ecx,dword ptr ss:[esp+258]
00402D77   .  66:AB         stos word ptr es:[edi]
00402D79   .  51            push ecx
00402D7A   .  6A 12         push 12
00402D7C   .  52            push edx
00402D7D   .  AA            stos byte ptr es:[edi]
00402D7E   .  E8 1DEDFFFF   call CrackMe.00401AA0
00402D83   .  83C4 10       add esp,10
00402D86   .  33C0          xor eax,eax
00402D88   >  8A8C04 540200>mov cl,byte ptr ss:[esp+eax+254]
00402D8F   .  8A5428 08     mov dl,byte ptr ds:[eax+ebp+8]           ;  cBqGYzIY64vynzI64qWtc+V2最后真码的出现
00402D93   .  3ACA          cmp cl,dl
00402D95      0F85 DF000000 jnz CrackMe.00402E7A                     ;  这里肯定是对比的啦,不用说啦
00402D9B   .  40            inc eax                                  ;  这三个对比不跳就是爆破
00402D9C   .  83F8 18       cmp eax,18                               ;  全加起来就是真码了88
00402D9F   .^ 7C E7         jl short CrackMe.00402D88                ;  走下去就提示注册成功



机器码:12c179df49307dfc155aa7cb42d6e43c
注册码:Xoog4o0ycBqGYzIY64vynzI64qWtc+V2
2009-12-26 10:24
0
雪    币: 183
活跃值: (1223)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
18
怎么下断调试
2009-12-26 17:23
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
谢谢楼主,支持下楼主!
2009-12-26 18:02
0
雪    币: 76
活跃值: (27)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
20
刚刚学习反调试,还期待楼主放出制作过程观摩下
2009-12-28 16:23
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
21
虽然这个CM是我写的,其实我也不会调试,我只知道仅仅单步调试肯定不能调试出结果来,里面有线程的死锁。

这个CM感觉不够强,我一直在学习,等我学习到自认为够强的时候做一个  犀利的CM   到那时候一定写制作过程,相信不会等太久的,我一个月的时间自己博客里写了将近25篇文章,全是原创,绝大多数是关于反汇编破解 防破解  PE文件结构的  相信不久我也能开发一个壳   并且我会开源的。
2009-12-29 16:04
0
雪    币: 232
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
乖乖,都是NR
2009-12-31 18:05
0
雪    币: 29249
活跃值: (7769)
能力值: ( LV15,RANK:3306 )
在线值:
发帖
回帖
粉丝
23
偶喜欢的女优啊..
期待LZ的壳.
2009-12-31 20:03
0
雪    币: 440
活跃值: (87)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
24
楼主能公开CM源代码及制作过程吗?
我目前跟踪到程序使用了 多线程,事件内核对象,GetTickCount() ,密码学算法等技术。
不过还是不太明白程序如何工作的
2010-1-16 14:33
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
25
回楼上,我晚上写一个关于本CM的制作过程的帖子吧   谢谢支持  源文件不在这个电脑上,在家里的那个笔记本里,晚上我就弄

ps:非常感谢坛子里还有人关注我的CM,说希望看源码和制作过程。本来不想发布源码的,因为觉得保护手段太菜了,想了想还是发布的好,以后我发布的CM会都在2个周之后发布源码并附一些简单的说明。
2010-1-18 12:12
0
游客
登录 | 注册 方可回帖
返回
//