砍掉WaveSurround 3.2 Demo版的过期毛病
Passion
2001.9.x
WaveSurround 3.2是毛毛虫推荐的一个WINAMP环绕立体声插件,其Demo版本的时间限制形式比其老版本来说有了点变化,变成只允许使用14天,无NAG窗口。
安装的时候用一下Regmon,得知其安装的时间信息保存在
HKLM/SoftWare/Wave Arts/WaveSurround for Winamp/Expiration处,启动时检测系统时间,超过14天就过期,不过不留暗桩,时间调回来又能运行。
反反winamp的plugins目录下的dsp_wa3d.dll,查GetLocalTime字串,就一个。追到其上层是:
1000BDE7 Call 1000C930
于是就看这儿附近。
* Possible Indirect StringData Ref from Data Obj ->"Software/Wave Arts/WaveSurround
"
->"for Winamp"
|
:1000BDE2 68B8D00110 push 1001D0B8
:1000BDE7 E8440B0000 call 1000C930
:1000BDEC 83C404
add esp, 00000004
:1000BDEF 83F804
cmp eax, 00000004
:1000BDF2 0F84C1000000 je 1000BEB9
//跳到正确处。
:1000BDF8 83F801
cmp eax, 00000001
:1000BDFB 754D
jne 1000BE4A
…………
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:1000BDF2(C)
//1001E708是个比较重要的全局变量,为0时大概报错,1才正常。
:1000BEB9 C70508E7011001000000 mov dword ptr [1001E708], 00000001
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:1000BC4D(C)
|
:1000BEC3 33C0
xor eax, eax
:1000BEC5 81C480020000 add esp, 00000280
:1000BECB C3
ret
于是只有用暴力改字节了。
1000BDF2处:
0F 84 C1 00 00 00 ->
E9 C2 00 00 00 90
也就是je 1000BEB9变成jmp 1000BEB9 去掉过期限制。
要完美的话查找“Demostration Version”,全改成了空格“20”,哈,不仅内容是正式版,连形式也是了。
- 标 题:砍掉WaveSurround 3.2 Demo版的过期毛病 (1千字)
- 作 者:Passion
- 时 间:2001-9-6 23:27:29
- 链 接:http://bbs.pediy.com