如何破解lockdown2000 v7.0.0.6
-----------------------------
雪椰
2000,12,25am
Email:wocy@263.net
Http://wocy.yeah.net(有本例中的補丁)
------------------------------
1,檢查檔案被壓縮過了,因為懶得脫殼,所以決定記憶體補丁
2,以前有一點資料(看雪精華2)
標 題:Lockdown2000_7.0.0.1破解手記 (3千字)
作 者:十夜
時 間:2000-5-26 12:02:17
詳細資訊:
Lockdown2000_7.0.0.1破解手記
本人屬懶派狂人,自下載Lockdown2000_7.0.0.1後一直等待破解的出現,但是始終不見其蹤影。
本著你不煩我我不破你的原則平靜的度過了十天,終於,討厭的東西出現了,看來只有按原則
辦事了,不想這東西加了殼,又臭又硬,還好在吳朝相的主頁找到了脫殼後的漢化版本,省了
一道工序,可以開始工作了。
用W32Dasm反編譯Lockdown2000.exe,找那個讓我討厭的東西(過期提示),如下所示:
:004C313D E8321CFEFF call
004A4D74
:004C3142 84C0
test al, al
:004C3144 7546
jne 004C318C
:004C3146 E8B516FEFF call
004A4800
:004C314B 48
dec eax
:004C314C 7D27
jge 004C3175
:004C314E A14C9E4D00 mov eax,
dword ptr [004D9E4C]
:004C3153 8B00
mov eax, dword ptr [eax]
:004C3155 E82AC5F8FF call
0044F684
* Possible StringData Ref from Code Obj ->"The trial period on this demo "
->"of LockDown
2000 has expired."
往上看看004C3144那一行能跳過過期提示,改為jmp 004C318C就不會過期了,但這也太那個……
注意一下call 004A4D74,看起來好像很有意思,到004A4D74去看看:
* Referenced by a CALL at Addresses:
|:004B5127 , :004B524E , :004B56FC , :004B5C0F , :004BD36D
|:004BE723 , :004C313D , :004C6AF4 , :004CBA42 , :004CCFAB
|:004CF4A3 , :004CF5FF
|
:004A4D74 55
push ebp
:004A4D75 8BEC
mov ebp, esp
:004A4D77 B905000000 mov ecx,
00000005
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004A4D81(C)
|
:004A4D7C 6A00
push 00000000
:004A4D7E 6A00
push 00000000
:004A4D80 49
dec ecx
:004A4D81 75F9
jne 004A4D7C
:004A4D83 53
push ebx
:004A4D84 56
push esi
:004A4D85 33C0
xor eax, eax
:004A4D87 55
push ebp
:004A4D88 68E0514A00 push
004A51E0
:004A4D8D 64FF30
push dword ptr fs:[eax]
《---------(1)
:004A4D90 648920
mov dword ptr fs:[eax], esp
* Possible StringData Ref from Code Obj ->"LD2KReg.ini"
|
:004A4D93 B9F8514A00 mov ecx,
004A51F8
〈-----------(2)
:004A4D98 B201
mov dl, 01
:004A4D9A A1C8A14700 mov eax,
dword ptr [0047A1C8]
:004A4D9F E8CC54FDFF call
0047A270
:004A4DA4 8BD8
mov ebx, eax
:004A4DA6 6A00
push 00000000
:004A4DA8 8D45E0
lea eax, dword ptr [ebp-20]
:004A4DAB 50
push eax
* Possible StringData Ref from Code Obj ->"Register"
|
:004A4DAC B90C524A00 mov ecx,
004A520C
* Possible StringData Ref from Code Obj ->"Register"
|
:004A4DB1 BA0C524A00 mov edx,
004A520C
:004A4DB6 8BC3
mov eax, ebx
:004A4DB8 8B30
mov esi, dword ptr [eax]
:004A4DBA FF16
call dword ptr [esi]
:004A4DBC 8D45DC
lea eax, dword ptr [ebp-24]
:004A4DBF E8B4F9FFFF call
004A4778
:004A4DC4 8B55DC
mov edx, dword ptr [ebp-24]
:004A4DC7 8B45E0
mov eax, dword ptr [ebp-20]
:004A4DCA E8BDF2F5FF call
0040408C
:004A4DCF 7537
jne 004A4E08
…………………………………………………………
好像很受歡迎的樣子,而且它還提到了LD2KReg.ini,再看看後面的程式碼,應該是判斷註冊的地方,程式很簡單,將004A4DCF的jne 004A4E08改為je
004A4E08即可成為註冊版。
3,估計7006版跟7001版差不多,關鍵是找到這個檢驗主函式
上面這段函式中(1)-(2)
這段函式估計不會變。程式碼是 64,89,20,b9
4,搜尋15f:400000 l fffffff 64,89,20,b9
find date at 15f:xxxxxx
bpx 15f:xxxxxx
5,重啟程式,中斷後跟蹤,發現這個主函式在15f:4a4a64
date:55,8b,ec,b9,05,00
改為:b8,01,00,00,00,c3(mov eax,1 ret)
6,rpp,這個世界清淨了.