能力值:
( LV8,RANK:130 )
|
-
-
2 楼
加个asprotect啊
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
嘿嘿,要写注册机哦
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
0040CB30 /$ 55 PUSH EBP
0040CB31 |. 8BEC MOV EBP,ESP
0040CB33 |. 57 PUSH EDI
0040CB34 |. 56 PUSH ESI
0040CB35 |. 53 PUSH EBX
0040CB36 |. 8B75 0C MOV ESI,DWORD PTR SS:[EBP+C]
0040CB39 |. 8B7D 08 MOV EDI,DWORD PTR SS:[EBP+8]
0040CB3C |. B0 FF MOV AL,0FF
0040CB3E |. 8BFF MOV EDI,EDI
0040CB40 |> 0AC0 /OR AL,AL
0040CB42 |. 74 32 |JE SHORT CrackME.0040CB76
0040CB44 |. 8A06 |MOV AL,BYTE PTR DS:[ESI]
0040CB46 |. 83C6 01 |ADD ESI,1
0040CB49 |. 8A27 |MOV AH,BYTE PTR DS:[EDI]
0040CB4B |. 83C7 01 |ADD EDI,1
0040CB4E |. 38C4 |CMP AH,AL
0040CB50 |.^ 74 EE |JE SHORT CrackME.0040CB40
0040CB52 |. 2C 41 |SUB AL,41
0040CB54 |. 3C 1A |CMP AL,1A
0040CB56 |. 1AC9 |SBB CL,CL
0040CB58 |. 80E1 20 |AND CL,20
0040CB5B |. 02C1 |ADD AL,CL
0040CB5D |. 04 41 |ADD AL,41
0040CB5F |. 86E0 |XCHG AL,AH
0040CB61 |. 2C 41 |SUB AL,41
0040CB63 |. 3C 1A |CMP AL,1A
0040CB65 |. 1AC9 |SBB CL,CL
0040CB67 |. 80E1 20 |AND CL,20
0040CB6A |. 02C1 |ADD AL,CL
0040CB6C |. 04 41 |ADD AL,41
0040CB6E |. 38E0 |CMP AL,AH
0040CB70 |.^ 74 CE \JE SHORT CrackME.0040CB40
0040CB72 |. 1AC0 SBB AL,AL
0040CB74 |. 1C FF SBB AL,0FF
0040CB76 |> 0FBEC0 MOVSX EAX,AL
0040CB79 |. 5B POP EBX
0040CB7A |. 5E POP ESI
0040CB7B |. 5F POP EDI
0040CB7C |. C9 LEAVE
0040CB7D \. C3 RETN
用这个写注册机吧,计算注册码的地方
|
能力值:
( LV13,RANK:760 )
|
-
-
5 楼
不对!不是想的那么简单
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
没仔细跟下去
|
能力值:
( LV9,RANK:180 )
|
-
-
7 楼
没人玩我玩
sessiondiy
26363B3130362C2C3A2C
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
反OD调试 ?这个有点难!反OD调试用的是什么原理?
|
能力值:
( LV13,RANK:760 )
|
-
-
9 楼
sessiondiy大侠终于做出来了,厉害啊,我还没有弄明白呢
|
能力值:
( LV4,RANK:50 )
|
-
-
10 楼
晕S,到这里不知道咋搞了。。。。。。。。。。。。 00401911 |. BA 28F94100 MOV EDX,CrackME.0041F928 ; ASCII "56585558535A"
00401916 |. 2BD0 SUB EDX,EAX
00401918 |> 8A08 /MOV CL,BYTE PTR DS:[EAX]
0040191A |. 880C02 |MOV BYTE PTR DS:[EDX+EAX],CL
0040191D |. 40 |INC EAX
0040191E |. 84C9 |TEST CL,CL
00401920 |.^ 75 F6 \JNZ SHORT CrackME.00401918
00401922 |. 8D0424 LEA EAX,DWORD PTR SS:[ESP]
00401925 |. 50 PUSH EAX
00401926 |. 68 28FA4100 PUSH CrackME.0041FA28 ; ASCII "keheng"
0040192B |. E8 40FDFFFF CALL CrackME.00401670
00401930 |. 8D4C24 08 LEA ECX,DWORD PTR SS:[ESP+8]
00401934 |. 51 PUSH ECX
00401935 |. 68 28F94100 PUSH CrackME.0041F928 ; ASCII "56585558535A"
0040193A |. E8 3FB20000 CALL CrackME.0040CB7E
0040193F |. 83C4 10 ADD ESP,10
00401942 |. 85C0 TEST EAX,EAX
00401944 75 13 JNZ SHORT CrackME.00401959
00401946 |. 6A 40 PUSH 40
00401948 |. 68 74854100 PUSH CrackME.00418574 ; 成功
0040194D |. 68 68854100 PUSH CrackME.00418568 ; 注册成功!
00401952 |. 68 00100000 PUSH 1000
00401957 |. EB 11 JMP SHORT CrackME.0040196A
00401959 |> 6A 10 PUSH 10 ; /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL
0040195B |. 68 60854100 PUSH CrackME.00418560 ; |失败
00401960 |. 68 54854100 PUSH CrackME.00418554 ; |注册失败!
00401965 |. 68 00200000 PUSH 2000 ; |hOwner = 00002000
0040196A |> FF15 30834100 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; \MessageBoxA
00401970 |. 8B8C24 000100>MOV ECX,DWORD PTR SS:[ESP+100]
00401977 |. E8 A8220000 CALL CrackME.00403C24
0040197C |. 81C4 04010000 ADD ESP,104
00401982 \. C3 RETN
|
能力值:
( LV4,RANK:50 )
|
-
-
11 楼
注册码应该是
56585558535A经过以下的注册计算算出来的,不知道是不是。
0040CB30 /$ 55 PUSH EBP
0040CB31 |. 8BEC MOV EBP,ESP
0040CB33 |. 57 PUSH EDI
0040CB34 |. 56 PUSH ESI
0040CB35 |. 53 PUSH EBX
0040CB36 |. 8B75 0C MOV ESI,DWORD PTR SS:[EBP+C]
0040CB39 |. 8B7D 08 MOV EDI,DWORD PTR SS:[EBP+8]
0040CB3C |. B0 FF MOV AL,0FF
0040CB3E |. 8BFF MOV EDI,EDI
0040CB40 |> 0AC0 /OR AL,AL
0040CB42 |. 74 32 |JE SHORT CrackME.0040CB76
0040CB44 |. 8A06 |MOV AL,BYTE PTR DS:[ESI]
0040CB46 |. 83C6 01 |ADD ESI,1
0040CB49 |. 8A27 |MOV AH,BYTE PTR DS:[EDI]
0040CB4B |. 83C7 01 |ADD EDI,1
0040CB4E |. 38C4 |CMP AH,AL
0040CB50 |.^ 74 EE |JE SHORT CrackME.0040CB40
0040CB52 |. 2C 41 |SUB AL,41
0040CB54 |. 3C 1A |CMP AL,1A
0040CB56 |. 1AC9 |SBB CL,CL
0040CB58 |. 80E1 20 |AND CL,20
0040CB5B |. 02C1 |ADD AL,CL
0040CB5D |. 04 41 |ADD AL,41
0040CB5F |. 86E0 |XCHG AL,AH
0040CB61 |. 2C 41 |SUB AL,41
0040CB63 |. 3C 1A |CMP AL,1A
0040CB65 |. 1AC9 |SBB CL,CL
0040CB67 |. 80E1 20 |AND CL,20
0040CB6A |. 02C1 |ADD AL,CL
0040CB6C |. 04 41 |ADD AL,41
0040CB6E |. 38E0 |CMP AL,AH
0040CB70 |.^ 74 CE \JE SHORT CrackME.0040CB40
0040CB72 |. 1AC0 SBB AL,AL
0040CB74 |. 1C FF SBB AL,0FF
0040CB76 |> 0FBEC0 MOVSX EAX,AL
0040CB79 |. 5B POP EBX
0040CB7A |. 5E POP ESI
0040CB7B |. 5F POP EDI
0040CB7C |. C9 LEAVE
0040CB7D \. C3 RETN
|
能力值:
( LV13,RANK:760 )
|
-
-
12 楼
楼上两位第一步就错了,不要被表面现象迷惑了!
好像是通过CreateRemoteThread方式将注册验证过程放入到explorer.exe中进行 ,难度比较大啊!
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
好難阿
試著不讓IsDebug 那個function跑
不過還是躲不過 方向錯了嗎@@
|
能力值:
( LV9,RANK:180 )
|
-
-
14 楼
同样的一句话
用 ring0 debugger 可以秒破的东东
|
能力值:
( LV13,RANK:760 )
|
-
-
15 楼
强大的sessiondiy大侠,呵呵,你用的工具也十分的强大啊,我用OD跟得头晕眼花也没跟出来结果。
|
能力值:
( LV9,RANK:180 )
|
-
-
16 楼
OD也行, 较麻烦就是了.
你也须熟一套. syser应该是不错的选择.
|
能力值:
( LV13,RANK:760 )
|
-
-
17 楼
大侠能否指点一二呀? 诚恳请教!
|
能力值:
( LV9,RANK:180 )
|
-
-
18 楼
首先 序号长度为 2*Len(Username)
在 Exploer 内配置一块mem
004014D0 |. FFD5 call ebp ; KERNEL32.VirtualAllocEx
将 username 写过去
004014F0 |. FF15 04F94100 call [41F904] ; KERNEL32.WriteProcessMemory
在 Exploer 内配置一块mem
0040151A |. FFD5 call ebp ; KERNEL32.VirtualAllocEx
将 注册码 写过去
00401533 |. FF15 04F94100 call [41F904]; KERNEL32.WriteProcessMemory
在 Exploer 内配置一块mem
00401594 |. FFD5 call ebp ; KERNEL32.VirtualAllocEx
将 在Exploer内执行时所需用到的数据 写过去
004015A3 |. FF15 04F94100 call [41F904] ; KERNEL32.WriteProcessMemory
在 Exploer 内配置一块mem
004015B8 |. FFD5 call ebp ; KERNEL32.VirtualAllocEx
/--将 检查注册码的程序码 写过去--\
在按F8之前, 请将第1个Byte改成 CC, 亦即 [401380] 由 53 改为 CC
并将 OllyDbg 设为系统预设调试器
004015CA |. FF15 04F94100 call [41F904]; KERNEL32.WriteProcessMemory
然后是这条=> 004015DB |. FF15 44824100 call [<&KERNEL32.CreateRemoteThread>]
这条按 F8 后将会开启另一个 OllyDbg, 并停在 CC
请将 CC 改回 53 , 此即为真正检查注册码之程序码.
要知道你分析的注册码正不正确最简单最好的方法就是再直接执行一个 Crackme
这一题你不应该问人的, 应该自己研究.
Ring0 调试器的话..咬着注册码就直达那里了.
|
能力值:
( LV15,RANK:2473 )
|
-
-
19 楼
可以这样修改吧:
00401456 BE FFFFFFFF MOV ESI,-1
0040145B 90 NOP
|
能力值:
( LV9,RANK:180 )
|
-
-
20 楼
他不可以..
|
能力值:
( LV9,RANK:180 )
|
-
-
21 楼
LZ为何你满天星?
善事我也常做为何...
|
能力值:
( LV13,RANK:760 )
|
-
-
22 楼
谢谢大侠指点,我是确实没有思路了才问你的,呵呵,大侠不要见怪呀
晚上继续研究了半天,终于调试通过了,不得不佩服作者的设计思路,太强大了:
CM注入到explore.exe验证后又通过远程对象来修改自身数据,真的很精彩!
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
思路好啊,但是不太喜欢钩子。。
|
能力值:
( LV4,RANK:50 )
|
-
-
24 楼
哪位大侠能不能写个破文,详细点的。。。。。。。。。。。。谢谢
|
能力值:
( LV6,RANK:90 )
|
-
-
25 楼
认真学习了~
向你膜拜,2007年的ID发了处女贴
|
|
|