首页
社区
课程
招聘
[原创]性感的CrackMe,破解了开放美女性感私房照哦(更新了附件)
发表于: 2009-12-6 20:55 39423

[原创]性感的CrackMe,破解了开放美女性感私房照哦(更新了附件)

2009-12-6 20:55
39423
如题,这个是我的第一个CrackMe,汇编写的,大家有兴趣的来玩下。
破解了主界面的黑白美女图会变成性感美女的彩图,究竟有多性感,就看大家破解咯。

不多说了,上图和软件
-------------------------------------------------------
补充:不好意思,第一个CrackMe因为代码中有一处没有清空缓冲区,造成删除注册表值后一打开软件就直接显示注册了,大家也没得玩了。
      现在我修改了CrackMe重新上传了附近,更正了上面的bug,同时更正了在某些电脑上不能打开软件的错误。
      有兴趣的再下载来玩玩吧。
      爆破的请上传附件,因为爆破后还有检验的,截图并不能表示成功。追码的可以贴上注册码。

CrackMe 2.3.rar


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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (76)
雪    币: 695
活跃值: (25)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
lz你的cm在我的xp和2k虚拟机上跑都出错了。。。在xp上居然直接显示已注册。。。
2009-12-6 21:34
0
雪    币: 253
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
图片不错的 还得删注册表键啊
上传的附件:
2009-12-6 21:50
0
雪    币: 71
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
没的说,这女的真俊~~~~哈哈
2009-12-6 22:30
0
雪    币: 224
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
将两个lstrcmpA 的源和目的地址改为一样后爆破了  美女真养眼
2009-12-6 23:03
0
雪    币: 145
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
更新了一下附件,已修正这两个bug
2009-12-7 12:10
0
雪    币: 145
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
[QUOTE=sndosej;723051]图片不错的 还得删注册表键啊
[/QUOTE]

爆破的请上传附件,因为爆破后还会有检验的,截图还不能证明破解了哦。
2009-12-7 12:12
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
没能力破解,直接取资源看美女不知道算不算?


上传的附件:
2009-12-7 12:29
0
雪    币: 145
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
[QUOTE=Nochoice;723282]没能力破解,直接取资源看美女不知道算不算?


[/QUOTE]

..........
2009-12-7 14:26
0
雪    币: 1262
活跃值: (770)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
10
运行就崩溃。怎么回事?
2009-12-7 16:04
0
雪    币: 517
活跃值: (64)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
11
运行就崩溃......
2009-12-7 16:56
0
雪    币: 145
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
新更新了附件
2009-12-7 18:33
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
13
有没有酒井法子?
2009-12-7 19:25
0
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
御女控
2009-12-7 20:05
0
雪    币: 773
活跃值: (315)
能力值: ( LV9,RANK:150 )
在线值:
发帖
回帖
粉丝
15
1SLA18717
NRuXTANu
2009-12-7 20:43
0
雪    币: 56
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
怎么才算彻底注册?
有3楼的效果就可以了?
2009-12-7 21:25
0
雪    币: 224
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
没找到安装seh的地方,怎么定位seh呢
2009-12-7 21:53
0
雪    币: 500
活跃值: (200)
能力值: ( LV13,RANK:270 )
在线值:
发帖
回帖
粉丝
18
不需要定位seh啊.
它的验证原理是通过
settimer()发送wm_timer命令来验证的,
搞清楚这个就OK了.
来验证的.
一共有两个settimer(),搞清楚这个就OK了.
//settimer() timerid 为n1时

004017AA  /$  6A 20         PUSH 20                                  ; /Length = 20 (32.)
004017AC  |.  68 E0664000   PUSH CrackMe.004066E0                    ; |Destination = CrackMe.004066E0
004017B1  |.  E8 D4040000   CALL <JMP.&kernel32.RtlZeroMemory>       ; \RtlZeroMemory
//将004066E0处清零.

004017B6  |.  68 13514000   PUSH CrackMe.00405113                    ; /c:\windows\system32\option.ini
004017BB  |.  6A 20         PUSH 20                                  ; |BufSize = 20 (32.)
004017BD  |.  68 E0664000   PUSH CrackMe.004066E0                    ; |ReturnBuffer = CrackMe.004066E0
004017C2  |.  6A 00         PUSH 0                                   ; |Default = NULL
004017C4  |.  68 39514000   PUSH CrackMe.00405139                    ; |key
004017C9  |.  68 32514000   PUSH CrackMe.00405132                    ; |serial
004017CE  |.  E8 8D040000   CALL <JMP.&kernel32.GetPrivateProfileStr>; \GetPrivateProfileStringA
//把option.ini中的内容读到004066E0处

004017D3  |.  6A 40         PUSH 40                                  ; /Length = 40 (64.)
004017D5  |.  68 C0674000   PUSH CrackMe.004067C0                    ; |111111111111111
004017DA  |.  E8 AB040000   CALL <JMP.&kernel32.RtlZeroMemory>       ; \RtlZeroMemory
//把004067C0处清零.

004017DF  |.  6A 40         PUSH 40                                  ; /Length = 40 (64.)
004017E1  |.  68 00684000   PUSH CrackMe.00406800                    ; |330103301111111
004017E6  |.  E8 9F040000   CALL <JMP.&kernel32.RtlZeroMemory>       ; \RtlZeroMemory
//把00406800处清零.

004017EB  |.  68 C0674000   PUSH CrackMe.004067C0                    ;  111111111111111
004017F0  |.  68 E0664000   PUSH CrackMe.004066E0                    ;  ASCII "gggggggg"
004017F5  |.  E8 2BFFFFFF   CALL CrackMe.00401725
?
//
004017FA  |.  6A 20         PUSH 20                                  ; /Length = 20 (32.)
004017FC  |.  57            PUSH EDI                                 ; |Destination
004017FD  |.  E8 88040000   CALL <JMP.&kernel32.RtlZeroMemory>       ; \RtlZeroMemory


00401802  |.  68 00684000   PUSH CrackMe.00406800                    ;  330103301111111
00401807  |.  68 20674000   PUSH CrackMe.00406720                    ;  dnagfadu
0040180C  |.  E8 14FFFFFF   CALL CrackMe.00401725

00401811      68 00684000   PUSH CrackMe.00406800                    ;  330103301111111
00401816  |.  68 C0674000   PUSH CrackMe.004067C0                    ; |111111111111111
0040181B  |.  E8 82040000   CALL <JMP.&kernel32.lstrcmpA>            ; \lstrcmpA
//从上分析关键是调用00401725处的函数

//写入option.ini并读出来,
00401725  /$  55            PUSH EBP
00401726  |.  8BEC          MOV EBP,ESP

00401728  |.  6A 40         PUSH 40                                  ; /Length = 40 (64.)
0040172A  |.  68 80684000   PUSH CrackMe.00406880                    ; |dnaguadu
0040172F  |.  E8 56050000   CALL <JMP.&kernel32.RtlZeroMemory>       ; \RtlZeroMemory

00401734  |.  FF75 08       PUSH DWORD PTR SS:[EBP+8]                ; /String2
00401737  |.  68 80684000   PUSH CrackMe.00406880                    ; |dnaguadu
0040173C  |.  E8 67050000   CALL <JMP.&kernel32.lstrcpyA>            ; \lstrcpyA
//上面是把第一个参数的值放入00406880处
//
00401741  |.  8D15 80684000 LEA EDX,DWORD PTR DS:[406880]   
00401747  |.  8BF2          MOV ESI,EDX
00401749  |.  8A5A 06       MOV BL,BYTE PTR DS:[EDX+6]

0040174C  |.  881E          MOV BYTE PTR DS:[ESI],BL
0040174E  |.  8A5A 07       MOV BL,BYTE PTR DS:[EDX+7]
00401751  |.  885E 04       MOV BYTE PTR DS:[ESI+4],BL //

00401754  |.  33DB          XOR EBX,EBX
00401756  |>  0FB60433      /MOVZX EAX,BYTE PTR DS:[EBX+ESI]

0040175A  |.  3C 39         |CMP AL,39 
0040175C  |.  7F 0A         |JG SHORT CrackMe.00401768 //如果AL中为字母的话,跳到401768去执行.
0040175E  |.  83C0 05       |ADD EAX,5
00401761  |.  25 03000080   |AND EAX,80000003
00401766  |.  EB 0D         |JMP SHORT CrackMe.00401775

00401768  |>  83C0 03       |ADD EAX,3     //eax = eax +3;
0040176B  |.  B9 05000000   |MOV ECX,5     //ecx = 5
00401770  |.  99            |CDQ
00401771  |.  F7F9          |IDIV ECX      //edx = eax % ecx
00401773  |.  8BC2          |MOV EAX,EDX   //eax = edx

00401775  |>  50            |PUSH EAX                                ; /<%d>
00401776  |.  68 00604000   |PUSH CrackMe.00406000                   ; |%d
0040177B  |.  68 C0684000   |PUSH CrackMe.004068C0                   ; |1
00401780  |.  E8 63040000   |CALL <JMP.&user32.wsprintfA>            ; \wsprintfA
00401785  |.  83C4 0C       |ADD ESP,0C
//调用wsprintf对其格式化处理

00401788  |.  68 C0684000   |PUSH CrackMe.004068C0                   ; /1
0040178D  |.  57            |PUSH EDI                                ; |ConcatString
0040178E  |.  E8 09050000   |CALL <JMP.&kernel32.lstrcatA>           ; \lstrcatA
//最后的与EDI cat.

00401793  |.  47            |INC EDI
00401794  |.  43            |INC EBX
00401795  |.  83FB 0F       |CMP EBX,0F
00401798  |.^ 75 BC         \JNZ SHORT CrackMe.00401756
0040179A  |.  83EF 0F       SUB EDI,0F


//我们的重点是求的EDI的值.
0040179D  |.  57            PUSH EDI                                 ; /String2
0040179E  |.  FF75 0C       PUSH DWORD PTR SS:[EBP+C]                ; |String1
004017A1  |.  E8 02050000   CALL <JMP.&kernel32.lstrcpyA>            ; \lstrcpyA
//注意这里把EDI拷贝到[EBP+C]中去
004017A6  |.  C9            LEAVE
004017A7  \.  C2 0800       RETN 8
///////////////////////////////////////////////
//set timer timerid 为n2时.
//
004018A3  /$  E8 AC030000   CALL <JMP.&kernel32.GetCurrentProcess>   ; [GetCurrentProcess

004018A8  |.  6A 00         PUSH 0                                   ; /pBytesRead = NULL
004018AA  |.  6A 02         PUSH 2                                   ; |BytesToRead = 2
004018AC  |.  68 00694000   PUSH CrackMe.00406900                    ; |t/
004018B1  |.  68 20184000   PUSH CrackMe.00401820                    ; |pBaseAddress = 401820
004018B6  |.  50            PUSH EAX                                 ; |hProcess
004018B7  |.  E8 C2030000   CALL <JMP.&kernel32.ReadProcessMemory>   ; \ReadProcessMemory

004018BC  |.  66:A1 0069400>MOV AX,WORD PTR DS:[406900]
004018C2  |.  66:3B05 FF514>CMP AX,WORD PTR DS:[4051FF]
004018C9  |.  74 12         JE SHORT CrackMe.004018DD

004018CB  |.  6A 00         PUSH 0
004018CD  |.  A0 40674000   MOV AL,BYTE PTR DS:[406740]
004018D2  |.  66:0FB6C0     MOVZX AX,AL
004018D6  |.  66:50         PUSH AX                                  ; /String
004018D8  |.  E8 D7030000   CALL <JMP.&kernel32.lstrlenA>            ; \lstrlenA

004018DD  |>  E8 72030000   CALL <JMP.&kernel32.GetCurrentProcess>   ; [GetCurrentProcess

004018E2  |.  6A 00         PUSH 0                                   ; /pBytesRead = NULL
004018E4  |.  6A 02         PUSH 2                                   ; |BytesToRead = 2
004018E6  |.  68 00694000   PUSH CrackMe.00406900                    ; |t/
004018EB  |.  68 22184000   PUSH CrackMe.00401822                    ; |t/j@h@g@
004018F0  |.  50            PUSH EAX                                 ; |hProcess
004018F1  |.  E8 88030000   CALL <JMP.&kernel32.ReadProcessMemory>   ; \ReadProcessMemory

004018F6  |.  66:A1 0069400>MOV AX,WORD PTR DS:[406900]
004018FC  |.  66:3B05 01524>CMP AX,WORD PTR DS:[405201]
00401903  |.  74 12         JE SHORT CrackMe.00401917

00401905  |.  6A 00         PUSH 0
00401907  |.  A0 40674000   MOV AL,BYTE PTR DS:[406740]
0040190C  |.  66:0FB6C0     MOVZX AX,AL
00401910  |.  66:50         PUSH AX                                  ; /String
00401912  |.  E8 9D030000   CALL <JMP.&kernel32.lstrlenA>            ; \lstrlenA

00401917  \>  C3            RETN
//
2009-12-7 22:49
0
雪    币: 226
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
爆破。。。。


CrackMe_cr.rar
上传的附件:
2009-12-8 12:22
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
机器码: 4MT2XGYV
注册码: SAHoBFacXSuA
上传的附件:
  • 1.JPG (26.82kb,698次下载)
2009-12-8 12:41
0
雪    币: 695
活跃值: (25)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
21
机器码:807415814
注册码:PumcMRafPOGx
2009-12-8 20:27
0
雪    币: 145
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
大致如此,呵呵



Good!!
2009-12-9 12:05
0
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
23
前后 10分钟 破解

6RA3735V
00406708  53 4F 75 52 45 62 75 41 42 75 4D 41              SOuREbuABuMA

提示:
00401594  |.  50            push    eax                              ; /String2
00401595  |.  FF75 0C       push    dword ptr [ebp+C]                ; |String1
00401598  |.  E8 4B070000   call    <jmp.&kernel32.lstrcpyA>         ; \lstrcpyA
0040159D  |.  C9            leave
0040159E  \.  C2 0800       retn    8
2009-12-9 13:55
0
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
24
楼主欺骗我的感情,就一张。我想看美女。。。
2009-12-9 13:56
0
雪    币: 92
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
00401A33  |.  E8 DA010000   call    <jmp.&user32.EndDialog>          ; \EndDialog
00401A38  |.  EB 0C         jmp     short 00401A46
00401A3A  |>  B8 00000000   mov     eax, 0                           ;  Default case of switch 00401932
00401A3F  |.  5E            pop     esi
00401A40  |.  5F            pop     edi
00401A41  |.  5B            pop     ebx
00401A42  |.  C9            leave
00401A43  |.  C2 1000       retn    10
00401A46  |>  B8 01000000   mov     eax, 1
00401A4B  |.  5E            pop     esi
00401A4C  |.  5F            pop     edi
00401A4D  |.  5B            pop     ebx
00401A4E  |.  C9            leave
00401A4F  \.  C2 1000       retn    10

……一返回  我就出不来了
2009-12-9 20:11
0
游客
登录 | 注册 方可回帖
返回
//