• 标 题:Namo WebEditor V3.0(Final beta)时间过期的解除(难度:简单) (2千字)
  • 作 者:cqzrd
  • 时 间:2000-5-25 20:22:42
  • 链 接:http://bbs.pediy.com

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,收工!