• 标 题:ACDSEE3.1的90天与9分钟 (2千字)
  • 作 者:esoft2001.51.net
  • 时 间:2002-2-8 8:16:59
  • 链 接:http://bbs.pediy.com

ACDSEE3.1的90天与9分钟
----ACDSEE3.1Trial Version build921时间限制破解手记
《电脑报》2000年合订本光盘上所带ACDSEE3.1有90天时间限制,最近应朋友之托只有为其破解(到处都能找到注册版,干嘛还用它?)!在此将破解过程简单说一下,希望有人能喜欢!

使用工具:冲击波(BW2000),TRW2000,W32Dasm8.93黄金版,Hiew6.40。

因为ACDSEE加了壳,所以先脱壳。
1.运行BW2000,按下Track按钮,然后运行ACDSEE,BW2000显示Entry point为004AD2FE。
2.运行TRW2000,下BPX 4AD2FE命令设断点,F5返回Windows。运行ACDSEE,程序会断在004AD2FE一行,这就是程序入口点了,下命令PEDUMP C:\1.exe,这样便在c盘根目录下生成一可执行文件1.exe,这就是脱壳后的程序。将其拷贝到ACDSEE安装目录备用。
3.关闭ACDSEE。

因为每次启动都会提示使用天数还剩几天,所以反汇编看有没有什么希望。
1.W32Dasm反汇编1.exe,在其中查找文本days(因为每次启动都会提示使用天数还剩几天就是xx days)找到好多处,其中有一处比较可疑(我是怎么知道是这里?凭感觉了。即使感觉错误也可以再试其他的嘛,哈哈^_^),就是下面
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00404558(C)
|
* Reference To: InTouchClient.?TrialPeriod_GetDaysLeft@InTouchClient@@QAEHXZ, Ord:005Dh
|                                              |-----(此处找到这个days)
:00404596 FF1564824D00            Call dword ptr [004D8264]
:0040459C 85C0                    test eax, eax--------------这里保存剩余天数
:0040459E 7F16                    jg 004045B6----------------这里只要跳就可以运行程序
2.Ctrl-n,下命令BPX 40459C,F5返回Windows,再次运行ACDSEE,TRW会拦在0040459C处,下D EAX命令,看到一个5A(5A是什么,就是十进制的90,就是还可以使用的天数了)。F5让程序运行完,关闭ACDSEE。
3.为了验证前面的猜想,将系统时间调过一年(只要大于90天就行),再运行ACDSEE。
4.依然拦在0040459C处,下D EAX命令,看到一个0,F5让程序继续运行,此时不能进入程序主界面。
5.修改程序,用Hiew打开11.exe,F4选择Decode模式,F5填入459E就到了关键处,F3修改为如下代码:
:0040459E E913000000              jmp 004045B6
6.将1.exe改名为ACDSEE.exe(如果觉得脱壳程序太大可用UPX之类的压缩程序压缩一下),并复制到ACDSEE安装目录覆盖原文件,OK,永不过期!

计时:脱壳1分钟,反汇编2分钟(受机器配置限制,否则可更快),查找关键点1分钟,验证关键点3分钟(受打字速度限制,否则可更快),修改程序并完成工作2分钟,累计用时9分钟。

总结发言:大家好,俺是菜鸟一个,Crack的水平嘛,一般般了!破了这个程序,可是让我那位“菜菜鸟”朋友佩服得五体投地,俺也赚足了面子,一个字:挺不错的!

esoft2001.51.net
2002年2月7日