cjchome 发表于 2010-6-9 18:11

IE插件DLL文件的破解(以WebPage Spy 2003为例)

本帖最后由 cjchome 于 2010-6-9 19:12 编辑

经常要从别的人网页上采集一些资源,为了方便找了个网页分析软件WebPage Spy 2003,装上去后发现是试用版,在网上找了半天也没找到破解版,还是自己动手吧。

软件介绍:WebPage Spy 2003是一个帮助我们挖掘网页宝藏的工具,他能够将您想要从网页中得到的一切分门别类的呈现在您眼前!WebPage Spy有一个HTML代码分析器,它能够在网页在浏览器显示一个网页的时候自动从其中分析出该网页所含的HTML文件、Flash文件、JavaScript代码、Style Sheet代码、图像文件、Applet文件、链接等等。所有这些显示在树形列表中,点击鼠标就可以查看图像和浏览代码,可以将自己喜欢的文件保存到自己指定的目录中。WebPage Spy还提供了许多附件来增强IE的功能。

安装好这个软件后,因为是IE插件,在安装文件夹中没有.exe的可执行文件,只有一个WebPageSpy.dll文件。WebPage Spy 2003试用版只能使用30天,30天后提示试用过期,在IE中不能使用这个插件了。

WebPageSpy.dll无壳,用OD载入该DLL,查找字符串,没发现有价值的字符串,更没有试用到期的提示字串。

于是想,既然有30天的全功能试用期,30天后不能再使用,那么DLL中肯定有一个地方在执行软件安装时间和系统时间的比较工作,我们可以想办法让它跳过超出30天的动作,试用版就变正式版了,可以下GetSystemTime断点。

但这是个DLL文件,如何运行它然后下断呢?刚开始真的一点头绪都没有,思考良久才想到,WebPage Spy一个DLL文件,由IE调用,所以用OD打开IE,F9运行,IE完全运行后停下后,bp GetSystemTime下API断点,再点工具栏上的WebPage Spy调用它,程序会被断下,Alt+F9返回就来到WebPage Spy领空了,看来这个方法有效。

回到程序来,这里有几个jnz跳转,不过经试验,改了没有效果,于是再返回上层函数看看,漫长的分析尝试过程略。

最后,F8单步,从断点经过三个Retn后来到这里:

0337439E    E8 2DCDFFFF                        call WebPageS.033710D0                     ;调用GetSystemTime的地方,断下后过三个retn返回到这里
033743A3    85C0                                     test eax,eax
0033743A5   /0F8F A0000000                  jg WebPageS.0337444B                     ;关键跳,大于就跳,试用期过了就不跳了,所以改成jmp无条件跳走
033743AB   |6A 00                                    push 0
033743AD   |8D4C24 34                           lea ecx,dword ptr ss:
033743B1   |E8 FA68FFFF                         call WebPageS.0336ACB0
033743B6   |8D4C24 30                           lea ecx,dword ptr ss:
033743BA   |C68424 EC000000>             mov byte ptr ss:,7
033743C2   |E8 D0C40100                     call WebPageS.03390897
033743C7   |8D8C24 E0000000               lea ecx,dword ptr ss:
033743CE   |C68424 EC000000>             mov byte ptr ss:,9
033743D6   |E8 677A0100                        call WebPageS.0338BE42
033743DB   |8D8C24 8C000000               lea ecx,dword ptr ss:
033743E2   |C78424 8C000000>             mov dword ptr ss:,WebPageS.0339E>
033743ED   |894C24 18                           mov dword ptr ss:,ecx
033743F1   |8D8C24 D0000000               lea ecx,dword ptr ss:
033743F8   |C68424 EC000000>             mov byte ptr ss:,0B
03374400   |C78424 D0000000>             mov dword ptr ss:,WebPageS.033A2>
0337440B   |E8 E011FFFF                         call WebPageS.033655F0
03374410   |8D8C24 C8000000               lea ecx,dword ptr ss:
03374417   |C68424 EC000000>             mov byte ptr ss:,0A
0337441F   |E8 1E7A0100                        call WebPageS.0338BE42
03374424   |8D8C24 8C000000               lea ecx,dword ptr ss:
0337442B   |C68424 EC000000>             mov byte ptr ss:,8
03374433   |E8 89FC0100                        call WebPageS.033940C1
03374438   |8D4C24 30                            lea ecx,dword ptr ss:
0337443C   |C68424 EC000000>             mov byte ptr ss:,4
03374444   |E8 21C10100                        call WebPageS.0339056A
03374449   |EB 49                                    jmp short WebPageS.03374494                  ;跳过正常功能代码
0337444B   \C74424 08 00000>               mov dword ptr ss:,0                        ;正常功能开始,要让程序跳到这里来

返回来的地方下面有个jg跳转,这是调用系统时间后比较试用天数的,还有试用天数就跳过,试用期一到就不跳了,于是我们把jg改成jmp,保存成DLL替换原文件,用IE试调用一下,发现试用提示框没了,破解成功,耶!!

其实这个软件在破解上也没什么难度,这里只是想提供的是一种思路,就是如果遇到IE插件这种只有DLL动态链接库的软件,可以通过用OD载入调用它的软件运行,再激活所要调用的DLL,就可以进入DLL领空进行破解了,一个小技巧,发上来跟大家交流一下,欢迎各位大侠多多指正。

qq22183138 发表于 2010-6-9 18:26

先回复了再看

066 发表于 2012-9-7 10:30

好东西 学习

冰河世纪 发表于 2014-8-24 15:05

厉害学习了
页: [1]
查看完整版本: IE插件DLL文件的破解(以WebPage Spy 2003为例)