吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8273|回复: 4
收起左侧

[分享] 去除ACDSee的时间限制

[复制链接]
super-man 发表于 2010-2-26 09:34
1、首先安装ACDSee 1、首先安装ACDSee 4.0 Trial Version,第一次运行会出出现一个提示框,让你做出选择是“购买”还是“试用”,当30天试用期过后,就只有选择购买正式版或退出了。所以,只要找到这个提示框产生的CALL并去掉或绕过它就破解了。
2、运行TRW2000,载入ACDSee.exe文件,然后一路用F10,直到提示框出现,然后退出,程序就会停在某一个CALL xxxxxxxx的下面一行,此时将上面的CALL xxxxxxxx一行设断点(F6,F9结合使用),然后就不用使用TRW2000的载入功能了,而是直接运行程序,就会被TRW2000拦截在上面的断点处,F8进入,BC *,然后又是一路F10,又找到一个CALL xxxxxxxx,同样的方法处理,那么最后哪个CALL xxxxxxxx是最关键的,就看你的判断能力了,那么它一般在ACDsee.exe的程序领空,而不是MFC42.DLL或其他文件中。我跟踪的关键代码在下面:
:00406BB9 6A00 push 00000000 
:00406BBB 8D8C24DC000000 lea ecx, dword ptr [esp+000000DC] 
:00406BC2 E859720000 call 0040DE20(这个CALL出现ACDsee的LOGO图画) 

* Referenced by a (U)nconditional or (C)onditional Jump at Address: 
|:00406BB7(C) 
| 
:00406BC7 8D442430 lea eax, dword ptr [esp+30] 
:00406BCB B9605F5700 mov ecx, 00575F60 
:00406BD0 50 push eax 
:00406BD1 6A00 push 00000000 
:00406BD3 C744243800000000 mov [esp+38], 00000000 
:00406BDB E8E04C0000 call 0040B8C0(这个CALL出现提示框) 
:00406BE0 85C0 test eax, eax 
:00406BE2 7532 jne 00406C16 
:00406BE4 8D8C24D8000000 lea ecx, dword ptr [esp+000000D8] 
:00406BEB C684243405000002 mov byte ptr [esp+00000534], 02 
:00406BF3 E8A8700000 call 0040DCA0 

从:00406BDB E8E04C0000 call 0040B8C0这里往前有很多 
test xxx, xxx 
jne xxxxxxxx 
之类的跳转,试了几个也都不能跳过那个提示框,何不进去看一下!F8进入出现提示框的那个call 0040B8C0: 
:0040B8C0 81ECB0000000 sub esp, 000000B0 
:0040B8C6 A0005F5700 mov al, byte ptr [00575F00] 
:0040B8CB 56 push esi 
:0040B8CC 57 push edi 
:0040B8CD 88442418 mov byte ptr [esp+18], al 

…………(省略去一些代码) 

* Reference To: License.?IsFullVersion@CLicense@@QAEHXZ, Ord:001Fh 
| 
:0040B972 FF1578535400 Call dword ptr [00545378] 
:0040B978 85C0 test eax, eax 
:0040B97A 7416 je 0040B992(此处若不跳转则可绕过那么提示框) 
:0040B97C 39742408 cmp dword ptr [esp+08], esi 
:0040B980 7510 jne 0040B992(此处同样也不同跳转) 
:0040B982 5F pop edi 

* Possible Reference to String Resource ID=00001: "Clip" 
| 
:0040B983 B801000000 mov eax, 00000001 
:0040B988 5E pop esi 
:0040B989 81C4B0000000 add esp, 000000B0 
:0040B98F C20800 ret 0008 
………… 
:0040B992 8B9424C0000000 mov edx, dword ptr [esp+000000C0] 

* Reference To: License.?g_license@@3VCLicense@@A, Ord:0038h 
| 
:0040B999 8B0D74535400 mov ecx, dword ptr [00545374] 
:0040B99F 52 push edx 

* Reference To: License.?ShowNagDlg@CLicense@@QAEHPAH@Z, Ord:0027h 
| 
:0040B9A0 FF15C0535400 Call dword ptr [005453C0](这里调用License.dll的ShowNagDlg函数显示提示框) 
:0040B9A6 5F pop edi 
:0040B9A7 5E pop esi 
:0040B9A8 81C4B0000000 add esp, 000000B0 
:0040B9AE C20800 ret 0008 

F8进入:0040B9A0 FF15C0535400 Call dword ptr [005453C0]看到下面(License.dll领空): 
:100031F0 81EC1C070000 sub esp, 0000071C 
:100031F6 53 push ebx 
:100031F7 55 push ebp 
:100031F8 56 push esi 
:100031F9 57 push edi 
:100031FA 8BBC2430070000 mov edi, dword ptr [esp+00000730] 
:10003201 8BF1 mov esi, ecx 
:10003203 C70700000000 mov dword ptr [edi], 00000000 
* Reference To: License.?IsFirstRunAfterInstall@CLicense@@QAEHXZ 
| 
:10003209 E872FCFFFF call 10002E80 
:1000320E 85C0 test eax, eax(此处若eax=1则可跳过提示框) 
:10003210 8BCE mov ecx, esi 
:10003212 741D je 10003231 
* Reference To: License.?ShowWelcomeDlg@CLicense@@QAEHXZ 
| 
:10003214 E847FDFFFF call 10002F60 
:10003219 C70701000000 mov dword ptr [edi], 00000001 

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses: 
|:1000334F(C), :100033CF(C) 
| 
:1000321F 5F pop edi 
:10003220 5E pop esi 
:10003221 5D pop ebp 
:10003222 B801000000 mov eax, 00000001 
:10003227 5B pop ebx 
:10003228 81C41C070000 add esp, 0000071C 
:1000322E C20400 ret 

3、程序修改方法:这个版本的ACDsee没有加壳,修改比较方便,当然你可以修改ACDsee.exe也可以修改License.dll,但修改License.dll后运行程序会提示一些文件被修改,就修改ACDsee.exe吧! 

:0040B97A 7416 je 0040B992(改为两个NOP) 
:0040B97C 39742408 cmp dword ptr [esp+08], esi 
:0040B980 7510 jne 0040B992(改为两个NOP) 

使用UltraEdit打开ACDsee.exe文件 
查找:85C07416397424087510 
修改:85C09090397424089090 
,第一次运行会出出现一个提示框,让你做出选择是“购买”还是“试用”,当30天试用期过后,就只有选择购买正式版或退出了。所以,只要找到这个提示框产生的CALL并去掉或绕过它就破解了。 
2、运行TRW2000,载入ACDSee.exe文件,然后一路用F10,直到提示框出现,然后退出,程序就会停在某一个CALL xxxxxxxx的下面一行,此时将上面的CALL xxxxxxxx一行设断点(F6,F9结合使用),然后就不用使用TRW2000的载入功能了,而是直接运行程序,就会被TRW2000拦截在上面的断点处,F8进入,BC *,然后又是一路F10,又找到一个CALL xxxxxxxx,同样的方法处理,那么最后哪个CALL xxxxxxxx是最关键的,就看你的判断能力了,那么它一般在ACDsee.exe的程序领空,而不是MFC42.DLL或其他文件中。我跟踪的关键代码在下面: 

:00406BB9 6A00 push 00000000 
:00406BBB 8D8C24DC000000 lea ecx, dword ptr [esp+000000DC] 
:00406BC2 E859720000 call 0040DE20(这个CALL出现ACDsee的LOGO图画) 

* Referenced by a (U)nconditional or (C)onditional Jump at Address: 
|:00406BB7(C) 
| 
:00406BC7 8D442430 lea eax, dword ptr [esp+30] 
:00406BCB B9605F5700 mov ecx, 00575F60 
:00406BD0 50 push eax 
:00406BD1 6A00 push 00000000 
:00406BD3 C744243800000000 mov [esp+38], 00000000 
:00406BDB E8E04C0000 call 0040B8C0(这个CALL出现提示框) 
:00406BE0 85C0 test eax, eax 
:00406BE2 7532 jne 00406C16 
:00406BE4 8D8C24D8000000 lea ecx, dword ptr [esp+000000D8] 
:00406BEB C684243405000002 mov byte ptr [esp+00000534], 02 
:00406BF3 E8A8700000 call 0040DCA0 

从:00406BDB E8E04C0000 call 0040B8C0这里往前有很多 
test xxx, xxx 
jne xxxxxxxx 
之类的跳转,试了几个也都不能跳过那个提示框,何不进去看一下!F8进入出现提示框的那个call 0040B8C0: 
:0040B8C0 81ECB0000000 sub esp, 000000B0 
:0040B8C6 A0005F5700 mov al, byte ptr [00575F00] 
:0040B8CB 56 push esi 
:0040B8CC 57 push edi 
:0040B8CD 88442418 mov byte ptr [esp+18], al 

…………(省略去一些代码) 

* Reference To: License.?IsFullVersion@CLicense@@QAEHXZ, Ord:001Fh 
| 
:0040B972 FF1578535400 Call dword ptr [00545378] 
:0040B978 85C0 test eax, eax 
:0040B97A 7416 je 0040B992(此处若不跳转则可绕过那么提示框) 
:0040B97C 39742408 cmp dword ptr [esp+08], esi 
:0040B980 7510 jne 0040B992(此处同样也不同跳转) 
:0040B982 5F pop edi 

* Possible Reference to String Resource ID=00001: "Clip" 
| 
:0040B983 B801000000 mov eax, 00000001 
:0040B988 5E pop esi 
:0040B989 81C4B0000000 add esp, 000000B0 
:0040B98F C20800 ret 0008 
………… 
:0040B992 8B9424C0000000 mov edx, dword ptr [esp+000000C0] 

* Reference To: License.?g_license@@3VCLicense@@A, Ord:0038h 
| 
:0040B999 8B0D74535400 mov ecx, dword ptr [00545374] 
:0040B99F 52 push edx 

* Reference To: License.?ShowNagDlg@CLicense@@QAEHPAH@Z, Ord:0027h 
| 
:0040B9A0 FF15C0535400 Call dword ptr [005453C0](这里调用License.dll的ShowNagDlg函数显示提示框) 
:0040B9A6 5F pop edi 
:0040B9A7 5E pop esi 
:0040B9A8 81C4B0000000 add esp, 000000B0 
:0040B9AE C20800 ret 0008 

F8进入:0040B9A0 FF15C0535400 Call dword ptr [005453C0]看到下面(License.dll领空): 
:100031F0 81EC1C070000 sub esp, 0000071C 
:100031F6 53 push ebx 
:100031F7 55 push ebp 
:100031F8 56 push esi 
:100031F9 57 push edi 
:100031FA 8BBC2430070000 mov edi, dword ptr [esp+00000730] 
:10003201 8BF1 mov esi, ecx 
:10003203 C70700000000 mov dword ptr [edi], 00000000 
* Reference To: License.?IsFirstRunAfterInstall@CLicense@@QAEHXZ 
| 
:10003209 E872FCFFFF call 10002E80 
:1000320E 85C0 test eax, eax(此处若eax=1则可跳过提示框) 
:10003210 8BCE mov ecx, esi 
:10003212 741D je 10003231 
* Reference To: License.?ShowWelcomeDlg@CLicense@@QAEHXZ 
| 
:10003214 E847FDFFFF call 10002F60 
:10003219 C70701000000 mov dword ptr [edi], 00000001 

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses: 
|:1000334F(C), :100033CF(C) 
| 
:1000321F 5F pop edi 
:10003220 5E pop esi 
:10003221 5D pop ebp 
:10003222 B801000000 mov eax, 00000001 
:10003227 5B pop ebx 
:10003228 81C41C070000 add esp, 0000071C 
:1000322E C20400 ret 

3、程序修改方法:这个版本的ACDsee没有加壳,修改比较方便,当然你可以修改ACDsee.exe也可以修改License.dll,但修改License.dll后运行程序会提示一些文件被修改,就修改ACDsee.exe吧! 

:0040B97A 7416 je 0040B992(改为两个NOP) 
:0040B97C 39742408 cmp dword ptr [esp+08], esi 
:0040B980 7510 jne 0040B992(改为两个NOP) 

使用UltraEdit打开ACDsee.exe文件
查找:85C07416397424087510
修改:85C09090397424089090

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

凤歌笑 发表于 2010-10-17 16:43
很强大啊,就是看不懂
zhushini3456 发表于 2011-4-2 20:49
lionshine 发表于 2011-4-2 21:20
TRW2000 N年前98时代很好用,RING0级别的,貌似叉屁下面不是太好用。
x-style 发表于 2011-4-2 21:26
我还不太会,好羡慕啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 10:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表