註冊你的Windows Commander 4.52
wincmd4.52釋出有一段時間了,我一直忙的要命,沒空去搞(實際是陪朋友們去打sc,如果不打的話,即時戰略就會變成即時真人快打,-_-所以~~~~~明白~~~?嘿嘿我的sc水平倒是大有長進哦^^),今天花了幾個小時搞定它;-)。
現在進入正題,如何註冊你的wincmd452? 先進行準備工作:wincmd是aspack壓過的,拿trw2000 ver1.23脫殼吧。用trw載入wincmd32.exe,下PNEWSEC,暈~~~~~沒反應~~~~~,看來還是偷不得懶呀^Q^。用衝擊波找到wincmd的入口點543530,用trw載入wincmd32.exe,下g
543530,下suspend,用PROCDUMP找到wincmd程式,右擊之,選dump(full)即可,這樣脫殼不完全,能改主程式就行,將就用了^^。好了,看看wincmd脫殼後還能怎麼折騰:)。大致分析了一下,它的序號產生器制同wincmd4.0-4.51一樣,根本沒有變化,hehe....,這下好辦了;-)。
準備工作完成,開始正式crack,一共需要改8處。wincmd是keyfile保護的那種軟體,沒有keyfile一樣改。先用trw2000載入wincmd32.exe,點load,停下來後下bpx
readfile,按f5執行,被攔到,下bd *,按f12直到wincmd的領空。當走到4d6b1c call 4d8cd0時停下來,記下這個地址,按f5,接著退出trw2000,換乘softice。我為什麼換成softice,原因很簡單,除錯的話用s-ice是最舒服的了,脫殼的話用trw或天意是最方便的,所以choose
s-ice沒商量。由於不是完全脫殼,不能用s-ice的loader裝載,所以~~~按ctrl+d進入softice下bpx hmemcpy,按f5返回,執行wincmd32.exe,被攔到,按數次f12,進入wincmd的領空,下bpx
4d6b1c,按f5又被攔到,按f8接著按f10來到如1.所示的程式:
1.
4d8db1 e86aa7f2ff call 403520
4d8db6 83b80c00000000 cmp dword ptr [eax+0c],00
4d8dbd 7521 ->9090 jnz 4d8de0 ->nop
4d8dbf 8d85e2feffff lea eax,[ebp-011e]
wincmd是靠比較記憶體判斷是否註冊的,所用的暫存器是ebx,需要保持為1,走到4d8de0,跳下去的話,會清掉ebx,所以不能讓他跳。按f10繼續,接著他會比較你的keyfile是否為128位元組,若是的話,提示這是舊版,讓你更新。不管他,按f10走到如2.所示的程式:
2.
4d8fd6 b966000000 mov eax,00000066
4d8fdb babca42000 mov edx,0020a4bc
4d8fe0 e84ffbffff call 4d8b34
4d8fe5 33c9 xor ecx,ecx
4d8fe7 b201 mov dl,01
4d8b34這個call有問題,跟進去如A.所示程式,把它改為B.所示的程式。其中b5e7c9f1c4a7b9ed20或7a6f6d6269657973是我註冊的名字,你可以改成別的名字,其餘的部分按B.所示的改。
004cde88->004cdf00
A.
|B.
017f:004d8b34 55 push ebp
|017f:004d8b34 0517000000 add eax,00000017
017f:004d8b35 8bec mov ebp,esp
|017f:004d8b39 c60000 mov byte ptr [eax],00
017f:004d8b37 83c4f8 add esp,-08
|017f:004d8b3c 0503000000 add eax,00000003
017f:004d8b3a 53 push ebx
|017f:004d8b43 c600b5 mov byte ptr [eax],b5
017f:004d8b3b 56 push esi
|017f:004d8b46 40 inc eax
017f:004d8b3c 57 push edi
|017f:004d8b47 c600e7 mov byte ptr [eax],e7
017f:004d8b3d 8bf9 mov edi,ecx
|017f:004d8b4a 40 inc eax
017f:004d8b3f 8945fc mov [ebp-04],eax |017f:004d8b4b
c600c9 mov byte ptr [eax],c9
.
|017f:004d8b4e
40 inc eax
.
|017f:004d8b4f
c600f1 mov byte ptr [eax],f1
.
|017f:004d8b52
40 inc eax
.
|017f:004d8b53
c600c4 mov byte ptr [eax],c4
.
|017f:004d8b56
40 inc eax
.
|017f:004d8b57
c600a7 mov byte ptr [eax],a7
.
|017f:004d8b5a
40 inc eax
.
|017f:004d8b5b
c600b9 mov byte ptr [eax],b9
.
|017f:004d8b5e
40 inc eax
.
|017f:004d8b5f
c600ed mov byte ptr [eax],ed
.
|017f:004d8b62
40 inc eax
017f:004d8ba2 ff4df8 dec dword ptr [ebp-08] |017f:004d8b63 c60020
mov byte ptr [eax],20
017f:004d8ba5 75a8 jnz 004d8b4f |017f:004d8b66
40 inc eax
017f:004d8ba7 5f pop edi
|.
017f:004d8ba8 5e pop esi
|.
017f:004d8ba9 5b pop ebx
|.
017f:004d8baa 59 pop ecx
|.
017f:004d8bab 59 pop ecx
|017f:004d8ba9 c60000 mov byte ptr [eax],00
017f:004d8bac 5d pop ebp
|017f:004d8bac 90 nop
017f:004d8bad c3 ret
|017f:004d8bad c3 ret
接著按F10來到如3.所示的程式,強制他跳過去,不跳的話會清掉ebx的。
3.
017f:004d903b e8e499f2ff call
00402a24
017f:004d9040 0f84ae000000 ->e9af000000 jz 004d90f4 ->jmp 004d90f4
017f:004d9046 33db
xor ebx,ebx
017f:004d9048 33d2
xor edx,edx
繼續跟到如4.所示的程式,按列出的方法改。
4.
017f:004d91ff 8d8558f8ffff lea eax,[ebp+fffff858]
017f:004d9205 8bd6 mov edx,esi
017f:004d9207 e81cdaf2ff ->90 call 00406c28 ->nop
->33c9 ->xor ecx,ecx
->8808 ->mov
bytes ptr [eax],cl
017f:004d920c bad0954d00 mov edx,004ce930
017f:004d9211 8d8558f8ffff lea eax,[ebp+fffff858]
當跟到5.所示的地方,這是最後一個跳轉了,強制它跳。
5.
017f:004d9456 e8c995f2ff call 00402a24
017f:004d945b 7402 ->eb02 jz 004d945f ->jmp 004d945f
017f:004d945d 33db xor ebx,ebx
接下來,按幾次f10到如6.所示的程式,按我列出的方法改。
6.
017f:00543893 a1c4f65400 mov eax,[0054f6c4]
017f:00543898 e88342edff ->eb00 call 00417b20 ->jmp 0054389a
->eb00
->jmp 0054389c
->90
->nop
017f:0054389d a1b0e65300 mov eax,[0054f6c4]
017f:005438a2 e86dadeeff call 0041e834
再按幾下f10就進入wincmd了,好了,用我的名字註冊的。別忙還沒完呢,wincmd還沒把你折騰夠呢,你晃動幾下滑鼠,wincmd就會冒出一個框框,告訴你感染virus一類的東西。這時按ctrl+d進入softice,下bpx
lockmytask,按f5返回,點確定,被攔到,下bd *,按幾次f12進入wincmd的地盤,往回倒到如7.所示的地方,將JG 4EA8EC改為nop,這是試出來的。
7.
4EA8A9 E87AC3F1FF CALL 406C28
4EA8AE 8B4304 MOV EAX,[EBX+04]
4EA8B1 83F808 CMP EAX,08
4EA8B4 7F36->9090 JG 4EA8EC ->NOP
4EA8B6 0F8456060000 JZ 4EAF12
不忙還沒完呢,當你點help,在點about時,會彈出一個註冊資訊框,你再點確定時,wincmd會自動退出。所以你在點確定之前進入softice,下bpx
lockmytask,按幾次f12到如8.所示的地方,把JZ 4F3BB7改為JMP 4F3BB7才能繼續使用它。
8.
4F3BA1 A198525400 MOV EAX,[545298]
4F3BA6 2DB9230000 SUB EAX,0023B9
4F3BAB 740A->EB0A JZ 4F3BB7 ->JMP 4F3BB7
完活:)
很麻煩吧@_@
最後就是用winhex以來的東西把wincmd改為註冊版了,機器碼我都列出來了。
說明:wincmd4.0--4.52之間的所有版本都可以這麼改,只是對應的地址不一樣。
cracked by zombieys
homepage http://zombieys.126.com
my oicq is 1789655
thanks for your supports