一·破解的软件简介:
软件名:VisualSite Designer
软件在启动时会跳出一个nag窗口提醒用户还有多少次的免费使用机会,当免费使用次数变为0时,就要求用户花钱购买此软件了。
然后在关闭程序的时候也会跳出一个广告窗口
二·目标:
去除软件的计次,得到免费无限次运行的效果,顺便将程序关闭时的广告窗口去除了。
三·实战:
- 先用PEID查一下有没有壳之类的:
没有壳,并且是VC++ 6.0编译的
2.然后将程序载入OD中进行分析:
然后先一路按F8,然后我们发现程序在004BD497的位置出现计次窗口:
然后在这个位置下断点,重新运行程序,然后进入F7这个call函数,再一路F8直到再次出现这个nag;
第二次出现nag的位置:004BD520
然后继续用上面的方法下断点,重新运行程序,F7进入Call,再一路F8直到再次出现这个nag;
第三次出现nag的位置:59CF6243
这个地址是再MFC的动态链接库里面,不是程序本身,所以这个位置上面我们要下硬件断点,然后再重新运行程序,F7进入Call,再一路F8直到再次出现这个nag;
第四次出现nag的位置:00489912
利用同样的方法继续进入这个call;
第五次出现nag的位置:59D23508
然后下硬件断点,继续进入这个call;
但是进入这个call后,我们发现一路F8(Ctrl+F8)后,出现了这个nag窗口,但是我们的OD却还在一直跑,没有停下来,这就说明59D23508的这个call是我们要修改的地方,但是因为这个地址是动态链接库的地址,不是我们的程序本身,所以无法修改,所以我们只能回到上一个call的位置,也就是00489912的位置进修修改。
3.call分析:
当我们在00489912的位置,出现nag窗口后,我们点击进入程序,我们发现OD中的指令来到了00489917,也就是call下一行:cmp eax,1;说明这个call函数就执行了两大件事:弹出nag并返回eax=1;
所以我们将原来的call函数直接改为令eax=1,汇编指令为:MOV EAX,1
然后保存文件,运行验证一下,程序直接进入主程序了,ok!
4.去除尾部广告窗口
将我们刚才修改的程序重新载入OD中,运行,然后关闭程序,在广告窗口出来的时候,按下OD的暂停键:
然后查看OD的调用堆栈:
然后看到:
只有紫色箭头的位置是程序本身,其他都是系统,所以我们双击黄色箭头处,来到调用函数的地方,也就是这个广告窗口出现的位置:00480C24;
然后再这个位置下断点,重新运行程序,关闭程序,发现广告窗口确实再这里断下来了:
然后,我们只需要把这个call函数去掉就可以了,这样就不会调用这个函数了;
汇编语言:nop
然后保存文件,运行验证一下,程序直接进入主程序,然后退出时也直接关闭了!
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!