這個東西從天空軟體站拉下來的,因為沒處註冊,所以只能改程式碼。
首先用FI檢視,是PECompact加的殼,自動脫殼成功。(在此感謝柯南兄,因為這個東西沒脫殼時用Exescope能正常檢視,我以為是沒加殼的,搞了半天才知道)
把時間調到過期,出現出錯資訊。用W32DASM查詢,無果。
只能用TRW跟蹤。
因為程式有時間限制,所以下斷點bpx getlocaltime,g,嘿嘿攔住了。一看領空,啊,KAV9X,媽呀,怎麼把我的金山毒霸給攔住了?把金山關了,再攔,攔住了,找不到切入點。
因為程式會彈出一個框告訴你過期,所以下斷點messageboxindirect,攔住了。
015F:00420A4C 83C414 ADD
ESP,BYTE +14
015F:00420A4F 663BDF CMP
BX,DI
015F:00420A52 0F8495000000 JZ NEAR 00420AED
就是這裡了,不跳就過期,所以改成JMP 00420AED
015F:00420A58 8B3534114000 MOV ESI,[00401134]
015F:00420A5E B90A000000 MOV ECX,0A
015F:00420A63 B804000280 MOV EAX,80020004
015F:00420A68 894D9C MOV
[EBP-64],ECX
015F:00420A6B 894DAC MOV
[EBP-54],ECX
015F:00420A6E BB08000000 MOV EBX,08
015F:00420A73 8D954CFFFFFF LEA EDX,[EBP+FFFFFF4C]
015F:00420A79 8D4DBC LEA
ECX,[EBP-44]
015F:00420A7C 8945A4 MOV
[EBP-5C],EAX
015F:00420A7F 8945B4 MOV
[EBP-4C],EAX
015F:00420A82 C78554FFFFFF68DE+MOV DWORD [EBP+FFFFFF54],0041DE68
015F:00420A8C 899D4CFFFFFF MOV [EBP+FFFFFF4C],EBX
015F:00420A92 FFD6 CALL
ESI
015F:00420A94 8D955CFFFFFF LEA EDX,[EBP+FFFFFF5C]
015F:00420A9A 8D4DCC LEA
ECX,[EBP-34]
015F:00420A9D C78564FFFFFF28DE+MOV DWORD [EBP+FFFFFF64],0041DE28
015F:00420AA7 899D5CFFFFFF MOV [EBP+FFFFFF5C],EBX
015F:00420AAD FFD6 CALL
ESI
015F:00420AAF 8D4D9C LEA
ECX,[EBP-64]
015F:00420AB2 8D55AC LEA
EDX,[EBP-54]
015F:00420AB5 51 PUSH
ECX
015F:00420AB6 8D45BC LEA
EAX,[EBP-44]
015F:00420AB9 52 PUSH
EDX
015F:00420ABA 50 PUSH
EAX
015F:00420ABB 8D4DCC LEA
ECX,[EBP-34]
015F:00420ABE 6A10 PUSH
BYTE +10
015F:00420AC0 51 PUSH
ECX
015F:00420AC1 FF1560104000 CALL `MSVBVM60!rtcMsgBox`
pmodule以後,程式停在下一行,說明就是這一行叫出過期提示框的,往上看,看看有什麼地方可以跳過這裡
用十六進位制編輯器開啟脫殼後的程式,把0F8498000000
改成E99600000000
至於為什麼要這樣改我也不知道,感謝crack007和ccak的幫助!
測試:把時間調到2002年,也能用了,破解成功。