這是我申請加入BCG的第三篇破文,本來想寫破小李登錄檔的,因為這個程式很容易,但前面已經討論過了,現在寫有抄襲的嫌疑,於是跑到華軍去找,當然要版本低一點的啦,好破嘛,還要個頭小,我用的是Modem啊,終於給我逮到了這個小精靈,呵呵
軟體名稱:網頁特效小精靈
整理日期:2001.10.6
最新版本:2.0
檔案大小:277KB
軟體授權:共享軟體
使用平臺:Win9x/Me/NT/2000
軟體簡介:
“網頁特效小精靈”作者的“小精靈”系列軟體中的一個,是一款小巧的網頁特效增強軟體增強,提供了240多種特效,使用簡單,介面優美。正式版提供了260種特效,並可無限增加新的特效,若與作者的另一軟體“抓色小精靈”配合使用效果更好。
這也是一個試用版軟體,功能上並無限制,只是時間上有限制(兩個月:2001年10月-12月),註冊後作者將寄正式版。
目的:去除其時間限制,使得2002年以後也能使用。
工具:Trw2000 v1.22、UEdit32、fi、unpecompact 1.31。
先用fi檢視exe程式,是pecompat的殼,我又不會手動脫,只好找來unpecompat試試,死馬當活馬醫嘛,一脫果然脫掉了。把系統日期調到2002年,執行程式,就會崩出一個框,說什麼什麼過期之類的話,程式不能執行。大概瞭解了一下程式之後,開始幹活了:
執行Trw2000,找到“小精靈”的exe程式,用Trw2000 load
bpx getlocaltime 下讀取系統時間斷點
F5 返回程式,很快就會被Trw2000斷下來,部分程式碼如下:
……
:004209A2 FFD3
call ebx
:004209A4 8D45CC
lea eax, dword ptr [ebp-34]
:004209A7 8D4DBC
lea ecx, dword ptr [ebp-44]
:004209AA 50
push eax
:004209AB 51
push ecx
* Reference To: MSVBVM60.rtcGetYear, Ord:0229h
|
:004209AC FF1540104000 Call dword ptr
[00401040]
:004209B2 8D559C
lea edx, dword ptr [ebp-64]
:004209B5 C78564FFFFFFD2070000 mov dword ptr [ebp+FFFFFF64], 000007D2
:004209BF 52
push edx
:004209C0 C7855CFFFFFF02800000 mov dword ptr [ebp+FFFFFF5C], 00008002
:004209CA FFD3
call ebx
:004209CC 8D459C
lea eax, dword ptr [ebp-64]
:004209CF 8D4D8C
lea ecx, dword ptr [ebp-74]
:004209D2 50
push eax
:004209D3 51
push ecx
* Reference To: MSVBVM60.rtcGetMonthOfYear, Ord:0221h
|
:004209D4 FF1550114000 Call dword ptr
[00401150]
:004209DA 8D55BC
lea edx, dword ptr [ebp-44]
:004209DD 8D855CFFFFFF lea eax, dword
ptr [ebp+FFFFFF5C]
:004209E3 52
push edx
:004209E4 8D4DAC
lea ecx, dword ptr [ebp-54]
:004209E7 50
push eax
:004209E8 51
push ecx
:004209E9 C78554FFFFFF0A000000 mov dword ptr [ebp+FFFFFF54], 0000000A
:004209F3 C7854CFFFFFF02800000 mov dword ptr [ebp+FFFFFF4C], 00008002
* Reference To: MSVBVM60.__vbaVarCmpEq, Ord:0000h
|
:004209FD FF152C114000 Call dword ptr
[0040112C]
:00420A03 50
push eax
:00420A04 8D558C
lea edx, dword ptr [ebp-74]
:00420A07 8D854CFFFFFF lea eax, dword
ptr [ebp+FFFFFF4C]
:00420A0D 52
push edx
:00420A0E 8D8D7CFFFFFF lea ecx, dword
ptr [ebp+FFFFFF7C]
:00420A14 50
push eax
:00420A15 51
push ecx
* Reference To: MSVBVM60.__vbaVarCmpLt, Ord:0000h
|
:00420A16 FF1518114000 Call dword ptr
[00401118]
:00420A1C 8D956CFFFFFF lea edx, dword
ptr [ebp+FFFFFF6C]
:00420A22 50
push eax
:00420A23 52
push edx
* Reference To: MSVBVM60.__vbaVarOr, Ord:0000h
|
:00420A24 FF159C104000 Call dword ptr
[0040109C]
:00420A2A 50
push eax
* Reference To: MSVBVM60.__vbaBoolVarNull, Ord:0000h
|
:00420A2B FF1578104000 Call dword ptr
[00401078]
:00420A31 668BD8
mov bx, ax
:00420A34 8D458C
lea eax, dword ptr [ebp-74]
:00420A37 8D4D9C
lea ecx, dword ptr [ebp-64]
:00420A3A 50
push eax
:00420A3B 8D55BC
lea edx, dword ptr [ebp-44]
:00420A3E 51
push ecx
:00420A3F 8D45CC
lea eax, dword ptr [ebp-34]
:00420A42 52
push edx
:00420A43 50
push eax
:00420A44 6A04
push 00000004
* Reference To: MSVBVM60.__vbaFreeVarList, Ord:0000h
|
:00420A46 FF151C104000 Call dword ptr
[0040101C]
:00420A4C 83C414
add esp, 00000014
:00420A4F 663BDF
cmp bx, di ;(**)比較判斷
:00420A52 0F8495000000 je 00420AED
;不跳則死
* Reference To: MSVBVM60.__vbaVarDup, Ord:0000h
|
:00420A58 8B3534114000 mov esi, dword
ptr [00401134]
:00420A5E B90A000000 mov ecx,
0000000A
:00420A63 B804000280 mov eax,
80020004
……
大家看到了吧,程式啟動時首先讀取系統日期(年和月),然後進行判斷,如果超出了日期就拒絕執行,(**)處就是比較的地方,等就跳,則活,不跳就判處死刑,到這裡大家都知道該怎麼做了吧,(少廢話,動手啊!我們大家一起來跳……舞),用UEedit32開啟原exe程式,查詢83C414663BDF,將其後面的6個位元組改為E99600000090,再把系統日期調到2003年,執行程式,YES!!!我成功了!