电脑室网吧集中管理软件破解过程。
crack:小球[CCG]
前言:终于和CCG的大师哥罗降神联系上了,没有想到一上来就考验老弟!呵呵......还好..搞定!
peterchen发话了,多写过程!好吧,写个简单的。不费时间又可以应付工作!
开始吧!
首先了解一下他是怎么保护的,有壳?先不要管它,不脱壳一样可以追到注册码!最糟的是它的注册方式,嘿嘿...为了防止破解,它来个先注册后判断,很是流行的注册方式哦!不管了,死马当活马医!来到注册处,看到有机器码?不好办哦!一机一码?写个注册机?想的太远了,先看看你能不能读懂算法吧!输入你的注册码,机器码是六位的我就输入六位的,不行再改嘛?改完再犯嘛!千锤百炼嘛!
下断:bpx hmemcpy
点击“填好了”程序立刻被中断。
命令:bc*
命令:pomdule
来到程序的内存空间!
按几下F10来到:
:00438823 89430C
mov dword ptr [ebx+0C], eax *****停在这儿!!!
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:004387C6(U), :00438805(U)
|
:00438826 8B03
mov eax, dword ptr [ebx]
:00438828 83F80C
cmp eax, 0000000C
:0043882B 751B
jne 00438848
:0043882D 8B5308
mov edx, dword ptr [ebx+08]
:00438830 52
push edx
:00438831 8B4B04
mov ecx, dword ptr [ebx+04]
:00438834 8BD0
mov edx, eax
:00438836 8BC6
mov eax, esi
:00438838 E8AFBEFFFF call 004346EC
:0043883D EB09
jmp 00438848
一直按F10直到你看见有用的东东:
:004EBD3A 8B45D4
mov eax, dword ptr [ebp-2C] *****这里看到了你输入的注册码!!
:004EBD3D E85684F1FF call 00404198
*****注册码长度!
:004EBD42 48
dec eax
:004EBD43 0F8CD2010000 jl 004EBF1B
:004EBD49 8D45F4
lea eax, dword ptr [ebp-0C]
:004EBD4C E8C781F1FF call 00403F18
:004EBD51 B201
mov dl, 01
:004EBD53 A164E04700 mov eax,
dword ptr [0047E064]
:004EBD58 E80724F9FF call 0047E164
:004EBD5D 8945F8
mov dword ptr [ebp-08], eax
:004EBD60 BA02000080 mov edx,
80000002
:004EBD65 8B45F8
mov eax, dword ptr [ebp-08]
:004EBD68 E89724F9FF call 0047E204
:004EBD6D B101
mov cl, 01
* Possible StringData Ref from Code Obj ->"software\microsoft\jingzu"
|
:004EBD6F BA78BF4E00 mov edx,
004EBF78
:004EBD74 8B45F8
mov eax, dword ptr [ebp-08]
:004EBD77 E8EC24F9FF call 0047E268
:004EBD7C 84C0
test al, al
:004EBD7E 0F84DE000000 je 004EBE62
:004EBD84 8D55D0
lea edx, dword ptr [ebp-30]
:004EBD87 8B45FC
mov eax, dword ptr [ebp-04]
:004EBD8A 8B8064040000 mov eax, dword
ptr [eax+00000464]
:004EBD90 E8578DF4FF call 00434AEC
:004EBD95 8B55D0
mov edx, dword ptr [ebp-30] ***这里又看到了假的注册码,赶快下断:bpm
012**** (假的注册码地址)以免它溜掉!好了放心的按F10吧!也许你会突然的来到这儿:
:004D4F66 8B45F0
mov eax, dword ptr [ebp-10] ****eax里就是你的假的注册码的第一位!
:004D4F69 8B55F8
mov edx, dword ptr [ebp-08] ****edx里是什么?好像是个‘*’嗯!有问题。所以嘛,下一个CALL一定要进入!F8
:004D4F6C E837F3F2FF call 004042A8
***就是这个!
:004D4F71 7505
jne 004D4F78
:004D4F73 895DF4
mov dword ptr [ebp-0C], ebx
:004D4F76 EB04
jmp 004D4F7C
由上面的call来的:
:004042A8 53
push ebx
:004042A9 56
push esi
:004042AA 57
push edi
:004042AB 89C6
mov esi, eax
:004042AD 89D7
mov edi, edx
:004042AF 39D0
cmp eax, edx ****看到了吗?它两个比较了!由此判断注册码的第一位可能是‘*’!
:004042B1 0F848F000000 je 00404346
****这个嘛!经过反复的研究,没有什么关系,不要管他。因为如果你输入的第一位是‘*’的话,它也是不跳的!但是爆破的时候千万不要改动哦。因为它会被其他的CALL调用的!
:004042B7 85F6
test esi, esi
:004042B9 7468
je 00404323
:004042BB 85FF
test edi, edi
:004042BD 746B
je 0040432A
:004042BF 8B46FC
mov eax, dword ptr [esi-04]
:004042C2 8B57FC
mov edx, dword ptr [edi-04]
:004042C5 29D0
sub eax, edx
:004042C7 7702
ja 004042CB
:004042C9 01C2
add edx, eax
继续按F10,注意期间的变化,多用D命令。
:004EBDF2 55
push ebp
:004EBDF3 6818BE4E00 push 004EBE18
:004EBDF8 64FF30
push dword ptr fs:[eax]
:004EBDFB 648920
mov dword ptr fs:[eax], esp
:004EBDFE 8B45F4
mov eax, dword ptr [ebp-0C] ****例如这里就是有问题!你看看?好像没有第一位。对嘛?第一位刚才不是比较过了吗?呵呵.....就是吗!
:004EBE01 E8AAD2F1FF call 004090B0
****这个CALL是把它转化成十六进制的形式!哦!你是怎么直到的?你用命令:‘?’看看不就知道了?
:004EBE06 8BD8
mov ebx, eax
:004EBE08 81F326750000 xor ebx, 00007526
****异或了。什么是异或?我倒......
:004EBE0E 33C0
xor eax, eax ****注意结果存放在哪?
:004EBE10 5A
pop edx
:004EBE11 59
pop ecx
:004EBE12 59
pop ecx
:004EBE13 648910
mov dword ptr fs:[eax], edx
:004EBE16 EB0C
jmp 004EBE24
:004EBE18 E9DF78F1FF jmp 004036FC
:004EBE1D 33DB
xor ebx, ebx
:004EBE1F E8347CF1FF call 00403A58
按F10继续--
:004D1000 8BF1
mov esi, ecx ****快看把结果取回来了!
:004D1002 8BDA
mov ebx, edx
:004D1004 33C0
xor eax, eax
:004D1006 55
push ebp
:004D1007 680E124D00 push 004D120E
:004D100C 64FF30
push dword ptr fs:[eax]
:004D100F 648920
mov dword ptr fs:[eax], esp
:004D1012 33D2
xor edx, edx
:004D1014 55
push ebp
:004D1015 68E2114D00 push 004D11E2
:004D101A 64FF32
push dword ptr fs:[edx]
:004D101D 648922
mov dword ptr fs:[edx], esp
:004D1020 C645FF00 mov
[ebp-01], 00
:004D1024 8BC6
mov eax, esi ****eax你就是!注意了!
:004D1026 3526750000 xor eax,
00007526 ****又来了!
:004D102B 3535F19303 xor eax,
0393F135 ****还来?
:004D1030 8B15D44E4F00 mov edx, dword
ptr [004F4ED4] *****猜猜edx里面是什么?
:004D1036 3B02
cmp eax, dword ptr [edx] *****比较真假了!
:004D1038 740D
je 004D1047
:004D103A 33C0
xor eax, eax
:004D103C 5A
pop edx
:004D103D 59
pop ecx
:004D103E 59
pop ecx
:004D103F 648910
mov dword ptr fs:[eax], edx
:004D1042 E9AC010000 jmp 004D11F3
到次已经搞定了!继续跟下去也行,可以看到他是怎么存放你的注册信息的!放到你的C:\windows\system下面,文件名是SR***.dat(***是你的网上邻居的标示!)
至于算码嘛?很是简单!伪装者老兄哪去了!快来.....搞定他。
至于爆破嘛?很是简单!******老兄哪去了!快来.....搞定他。
爆破的修改点就是上面所说的,可是启动时的检测在哪?试试:4d125b?你是怎么知道的?呵呵.....不告诉你!
我的破解版下载:http://www.cn778.net
cracker:小球[CCG]
2001.6.22
- 标 题:我写了!别打我!!!! (7千字)
- 作 者:小球[CCG]
- 时 间:2001-6-22 15:23:21
- 链 接:http://bbs.pediy.com