註冊你的Windows Commander 4.51
最近忙得要命,好久沒來看學論壇灌水了,今天要淹他一下^-^。感謝JOHNSON也就是c-pen的幫助,有空到大陸來玩呀。再有謝謝各位cracker的支援。
現在進入正題,如何註冊你的wincmd451? 你可以去download一個序號產生器,叫wc451_kg.exe,到處都是。我用wincmd,只用它的比較功能。作為一個cracker,用別人crack過的東西,尤其是序號產生器,非常的不爽,還是自己來吧。先進行準備工作:wincmd是aspack壓過的,解壓縮吧,咦?
unas1091竟然不管用,看來還是偷不得懶:(。拿trw2000 ver1.22脫殼,用trw載入wincmd32.exe,下PNEWSEC再下MakePE即可,wincmd目錄下會生成一個叫NEWPE.EXE的檔案,這就是脫殼後的wincmd32.exe,把NEWPE.EXE改名為wincmd32.exe。好了,看看wincmd脫殼後還能怎麼折騰:)。仔細分析了一下,它的序號產生器制同wincmd4.0一樣,根本沒有變化,hehe....,這下好辦了。
準備工作完成,開始正式crack,一共需要改8處。wincmd是keyfile保護的那種軟體,沒有keyfile一樣改。先用trw2000載入wincmd32.exe,點load,停下來後下bpx
readfile,按f5執行,被攔到,下bd *,按f12直到wincmd的領空。當走到如下1.所示的4ce105時停下來,記下這個數,按f5,接著退出trw2000,換乘sooftice。我為什麼換成softice,原因很簡單,因為我不會用trw:(。按ctrl+d進入softice下bpx
hmemcpy,按f5返回,執行wincmd32.exe,被攔到,按8此f12,進入wincmd的領空,下bpx 4ce105,按f5又被攔到,按f10來到如1.所示的程式:
1.
017f:004ce105 e8fe53f3ff call 00403508
017f:004ce10a 83b80c00000000 cmp dword ptr [eax+0c],00
017f:004ce111 7521 ->9090 jnz 004ce134 ->nop
017f:004ce113 8d85e2feffff lea eax,[ebp-011e]
wincmd是靠比較記憶體判斷是否註冊的,所用的暫存器是ebx,需要保持為1,走到4ce111,跳下去的話,會清掉ebx,所以不能讓他跳。按f10繼續,接著他會比較你的keyfile是否為128位元組,若是的話,提示這是舊版,讓你更新。不管他,按f10走到如2.所示的程式:
2.
017f:004ce32a b966000000 mov ecx,0066
017f:004ce32f babca42000 mov edx,0020a4bc
017f:004ce334 e84ffbffff call 004cde88
017f:004ce339 33c9 xor ecx,ecx
017f:004ce33b b201 mov dl,01
4cde88這個call有問題,跟進去如A.所示程式,把它改為B.所示的程式。其中b5e7c9f1c4a7b9ed20是我註冊的名字,你可以改成別的名字,其餘的部分按B.所示的改。
004cde88->004cdf00
A.
|B.
017f:004cde88 55 push ebp
|017f:004cde88 0517000000 add eax,00000017
017f:004cde89 8bec mov ebp,esp |017f:004cde8d
c60000 mov byte ptr [eax],00
017f:004cde8b 83c4f8 add esp,-08 |017f:004cde90
0503000000 add eax,00000003
017f:004cde8e 53 push ebx
|017f:004cde95 c600b5 mov byte ptr [eax],b5
017f:004cde8f 56 push esi
|017f:004cde98 40 inc eax
017f:004cde90 57 push edi
|017f:004cde99 c600e7 mov byte ptr [eax],e7
017f:004cde91 8bf9 mov edi,ecx |017f:004cde9c
40 inc eax
017f:004cde93 8945fc mov [ebp-04],eax |017f:004cde9d
c600c9 mov byte ptr [eax],c9
.
|017f:004cdea0 40
inc eax
.
|017f:004cdea1 c600f1 mov byte ptr [eax],f1
.
|017f:004cdea4 40 inc eax
.
|017f:004cdea5 c600c4 mov byte ptr [eax],c4
.
|017f:004cdea8 40
inc eax
.
|017f:004cdea9 c600a7 mov byte ptr [eax],a7
.
|017f:004cdeac 40 inc eax
.
|017f:004cdead c600b9 mov byte ptr [eax],b9
.
|017f:004cdeb0 40 inc eax
.
|017f:004cdeb1 c600ed mov byte ptr [eax],ed
.
|017f:004cdeb4 40 inc eax
017f:004cdef6 ff4df8 dec dword ptr [ebp-08] |017f:004cdeb5 c60020
mov byte ptr [eax],20
017f:004cdef9 75a8 jnz 004cdea3 |017f:004cdeb8
40 inc eax
017f:004cdefb 5f pop edi
|.
017f:004cdefc 5e pop esi
|.
017f:004cdefe 59 pop ecx
|.
017f:004cdeff 59 pop ecx
|017f:004cdefd c60000 mov byte ptr [eax],00
017f:004cdf00 5d pop ebp
|017f:004cdf00 90 nop
017f:004cdf01 c3 ret
|017f:004cdf01 c3 ret
接著按F10來到如3.所示的程式,強制他跳過去,不跳的話會清掉ebx的。
3.
017f:004ce38f e87846f3ff call 00402a0c
017f:004ce394 0f84ae000000 ->e9af000000 jz 004ce448 ->jmp 004ce448
繼續跟到如4.所示的程式,按列出的方法改。
4.
017f:004ce5c6 8d8558f8ffff lea eax,[ebp+fffff858]
017f:004ce5cc e8a786f3ff ->90 call 00406c78 ->nop
->33c9 ->xor ecx,ecx
->8808 ->mov bytes ptr [eax],cl
017f:004ce5d1 ba30e94c00 mov edx,004ce930
017f:004ce5d6 8d8558f8ffff lea eax,[ebp+fffff858]
當跟到5.所示的地方,這是最後一個跳轉了,強制它跳。
5.
017f:004ce7aa e85d42f3ff call 00402a0c
017f:004ce7af 7402 ->eb02 jz 004ce7b3 ->jmp 004ce7b3
017f:004ce7b1 33db xor ebx,ebx
接下來,按幾次f10到如6.所示的程式,按我列出的方法改。
6.
017f:00532d13 a1b0e65300 mov eax,[0053e6b0]
017f:00532d18 e8f340eeff ->eb00 call 00416e10 ->jmp 00532d1a
->eb00
->jmp 00532d1c
->90
->nop
017f:00532d1d a1b0e65300 mov eax,[0053e6b0]
017f:00532d22 e86dadeeff call 0041da94
再按幾下f10就進入wincmd了,好了,用我的名字註冊的。別忙還沒完呢,wincmd還沒把你折騰夠呢,你晃動幾下滑鼠,wincmd就會冒出一個框框,告訴你感染virus一類的東西。這時按ctrl+d進入softice,下bpx
lockmytask,按f5返回,點確定,被攔到,下bd *,按幾次f12進入wincmd的地盤,往回倒到如7.所示的地方,將jg 004df5b0改為jmp
004df5b0,這是試出來的。
7.
017f:004df56d e83e76f2ff call 00406bb0
017f:004df572 8b4302 mov eax,dword ptr [ebx+04]
017f:004df575 83f808 cmp eax,08
017f:004df578 7f36 ->9090 jg 004df5b0 ->jmp 004df5b0
017f:004df57a 0f8444060000 je 004dfbc4
不忙還沒完呢,當你點help,在點about時,會彈出一個註冊資訊框,你再點確定時,wincmd會自動退出。所以你在點確定之前進入softice,下bpx
lockmytask,按幾次f12到如8.所示的地方,把je 004e8578改為jmp 004e8578才能繼續使用它。
8.
017f:004e8562 a148405300 mov eax,dword ptr[00534048]
017f:004e8567 2db9230000 sub eax,00000023b9
017f:004e856c 740a ->eb0a je 004e8578 ->jmp 004e8578
017f:004e8573 e86cbff1ff call 004044e4
完活:)
最後就是用winhex以來的東西把wincmd改為註冊版了,機器碼我都列出來了。
說明:wincmd4.0--4.51之間的所有版本都可以這麼改,只是對應的地址不一樣。
cracked by 電神魔鬼
my oicq is 1789655
thanks for your supports
我貼出的改免註冊版的Winhex Ver9.52有一點問題,竟然沒人告訴我,真是太~!@#$%^&(.......
我更正一下
winhex ver9.52
免註冊
*[45759d]
017f:00450041 jnz 00450064 ->nop
017f:00450062 jz 00450068 ->jmp 00450068
017f:0043e26a jz 43e277 ->jmp 43e277
017f:0043e31b jl 0043e372 ->nop
017f:0043e36b jz 0043e37d ->jmp 0043e37d
7521B85C524500
9090B85C524500
3B027404
3B02eb04
740bb8b0754500
eb0bb8b0754500
7C55A13C764500
9090A13C764500
741083F954
eb1083F954
改的方法不唯一,主要是讓[45759d]永遠置一就行。