Namo WebEditor V3.0(Final beta)時間過期的解除(難度:簡單) (2千字)

看雪資料發表於2000-05-25

WebEditor 3是一個很好的網頁製作軟體,它可以使新手作出很漂亮的網頁來。但時間一過便不讓人用,便就有點那個了;)。
   
    使用的工具:TRW2000121,十六進位制文字編輯器
   
    步驟:

    用TRW2k載入WebEditor 3,按F10至

    4F7F51 Call 00518BE4

    換F8進入Call內(按F10帶過過期提示便會出現),此時看一下你所處的
位置。按F10至

    518BF4  Call Near [EAX+58]

    換F8進入Call內,再看一下你所處的位置,會發現你又處於程式中了。按F10至

    475AEB  Call 00476280
   
    換F8切入,該Call便是比較時間的程式段。下面是該Call的內容:

    0167:00476280  PUSH    EBP
    0167:00476281  MOV      EBP,ESP
    0167:00476283  PUSH    ECX
    0167:00476284  LEA      EAX,[EBP-04]
    0167:00476287  PUSH    EAX
    0167:00476288  CALL    `MSVCRT!time`
    0167:0047628E  ADD      ESP,BYTE +04
    0167:00476291  LEA      ECX,[EBP-04]
    0167:00476294  PUSH    ECX
    0167:00476295  CALL    `MSVCRT!localtime`  --->獲得當前時間。
    0167:0047629B  MOV      ECX,[EAX+14]    --->將年放入ECX,
    0167:0047629E  MOV      EDX,[EAX+10]    --->將月放入EDX,
    0167:004762A1  MOV      EAX,[EAX+0C]    --->將日放入EAX。
    0167:004762A4  ADD      ESP,BYTE +04
    0167:004762A7  ADD      ECX,076C
    0167:004762AD  INC      EDX
    0167:004762AE  CMP      ECX,07CF    --->?7CF 看看是多少?
    0167:004762B4  JG      004762CF    --->若年大於1999則去死。用code on看一下該處的程式碼並記下來。
    0167:004762B6  JNZ      004762BD
    0167:004762B8  CMP      EDX,BYTE +04
    0167:004762BB  JG      004762CF
    0167:004762BD  CMP      ECX,07CF    --->再比較一次年,
    0167:004762C3  JNZ      004762E2    --->若二者不等(則肯定是小於過期年了),則正確執行。
   
    以下程式碼請自己分析:
   
    0167:004762C5  CMP      EDX,BYTE +04 
    0167:004762C8  JNZ      004762E2
    0167:004762CA  CMP      EAX,BYTE +1E
    0167:004762CD  JNG      004762E2
    0167:004762CF  PUSH    DWORD CB38
    0167:004762D4  CALL    0044FF20
    0167:004762D9  ADD      ESP,BYTE +04
    0167:004762DC  XOR      EAX,EAX
    0167:004762DE  MOV      ESP,EBP
    0167:004762E0  POP      EBP
    0167:004762E1  RET   

    總結一下,查詢  81F9CF070000  7F 19
                                  -- --
                        改為    ==>90 90
    OK,收工!

相關文章