能力值:
( LV9,RANK:170 )
|
-
-
2 楼
lz你的cm在我的xp和2k虚拟机上跑都出错了。。。在xp上居然直接显示已注册。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
图片不错的 还得删注册表键啊
|
能力值:
( LV7,RANK:100 )
|
-
-
4 楼
没的说,这女的真俊~~~~哈哈
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
将两个lstrcmpA 的源和目的地址改为一样后爆破了 美女真养眼
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
更新了一下附件,已修正这两个bug
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
[QUOTE=sndosej;723051]图片不错的 还得删注册表键啊
[/QUOTE]
爆破的请上传附件,因为爆破后还会有检验的,截图还不能证明破解了哦。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
[QUOTE=Nochoice;723282]没能力破解,直接取资源看美女 不知道算不算?
[/QUOTE]
..........
|
能力值:
( LV6,RANK:90 )
|
-
-
10 楼
运行就崩溃。怎么回事?
|
能力值:
( LV8,RANK:130 )
|
-
-
11 楼
运行就崩溃......
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
新更新了附件
|
能力值:
( LV9,RANK:180 )
|
-
-
13 楼
有没有酒井法子?
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
御女控
|
能力值:
( LV9,RANK:150 )
|
-
-
15 楼
1SLA18717
NRuXTANu
|
能力值:
( LV4,RANK:50 )
|
-
-
16 楼
怎么才算彻底注册?
有3楼的效果就可以了?
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
没找到安装seh的地方,怎么定位seh呢
|
能力值:
( 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
//
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
机器码: 4MT2XGYV
注册码: SAHoBFacXSuA
|
能力值:
( LV9,RANK:170 )
|
-
-
21 楼
机器码:807415814
注册码:PumcMRafPOGx
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
大致如此,呵呵
Good!!
|
能力值:
( 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
|
能力值:
( LV3,RANK:30 )
|
-
-
24 楼
楼主欺骗我的感情,就一张。我想看美女。。。
|
能力值:
( 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
……一返回 我就出不来了
|
|
|