軟體名稱:Serv-U 3.0 beta build 13
從看雪上下了幾部教程看了兩天,有點手癢。正好我用的FTP伺服器軟體
serv-u 3.0 beta build 13 過期了。到網上轉了一圈沒找到破解
版,得了,就拿它開刀吧。
Serv-U 有兩個可執行檔案,ServUAdmin.exe 和ServUDaemon.exe,如果
日期超過2001.3.15,執行ServUAdmin.exe就會彈出個破框說過期了。通常
的做法是記下出錯資訊,將ServUAdmin.exe用W32dasm8.93反彙編後用出錯
資訊去定位。如果你這樣做,你就陷入萬劫不復的深淵了(just like me,
極度鬱悶),雖然可去掉破框,但當從客戶端FTP時,卻永遠上不去,鬱悶吧?
實際上,真正要下刀子的是ServUDaemon.exe,它啟動後,會產生一個後
臺服務程式。但它無論執行是否正常,都不產生任何資訊。反彙編後,去
字串引用中看一看,會發現'This trial version of Serv-U',是它,一定是它。
:004714D1 895338
mov dword ptr [ebx+38], edx
:004714D4 E9F1000000 jmp 004715CA
:004714D9 68A0000000 push
000000A0
:004714DE 8D8DE8FDFFFF lea ecx, dword
ptr [ebp+FFFFFDE8]
:004714E4 51
push ecx
* Possible Reference to String Resource ID=02075: "This trial version of Serv-U
is out-of-date! All domains are"
|
:004714E5 681B080000 push
0000081B
:004714EA FF7320
push [ebx+20]
哈,只要到004714D4就可跳過,向前看一下,沒有cmp,jnz,jz等,用
softice跟一下吧。分別設斷點為004714D1和004714D4,結果程式可以
執行到004714D4,卻到不了004714D1,說明前面有間接跳轉到004714D1
和004714D4之間某一處,向前PgUp幾次,
:00471397 FF7338
push [ebx+38]
:0047139A E875AAFEFF call
0045BE14
:0047139F 59
pop ecx
:004713A0 8BF0
mov esi, eax
:004713A2 8BC6
mov eax, esi
:004713A4 83C003
add eax, 00000003
:004713A7 83F805
cmp eax, 00000005
:004713AA 0F871A020000 ja 004715CA
:004713B0 FF2485B7134700 jmp dword ptr [4*eax+004713B7]<-----就是它了
:004713B7 D9144700
DWORD 004714D9
:004713BB 1F154700
DWORD 0047151F
:004713BF 8D154700
DWORD 0047158D
:004713C3 CA154700
DWORD 004715CA
:004713C7 D4134700
DWORD 004713D4
:004713CB 96144700
DWORD 00471496
將jmp dword ptr [4*eax+004713B7]改為
jmp 00471D43
nop
nop
儲存,搞定。