WebEditor使用时间限制去除分析

步骤: 用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,收工!

相关推荐

发表评论

您的电子邮箱地址不会被公开。

QQ点我咨询