首页 > 其他 > 详细

OD调试15--16

时间:2015-11-09 22:10:03      阅读:244      评论:0      收藏:0      [点我收藏+]
技术分享
可以达到不脱壳的妙用。含义:把补丁写入程序代码,就叫内嵌补丁
那我们先看看今天的程序
技术分享
是一个写DVD目录的程序,点continue就可以进入使用了      发现一个还有29天 就过期了   ,点enter reg.code的时候,乱输出现not valid的窗口  ,当然我们改一下日期  ,它的continue就会灰掉 ,然后这个程序就不能用了,需要购买或者是注册码。
技术分享
把时间改掉之后后改回来,发现还是灰色的 不能用了。   说明它把使用日期肯定写入了电脑的某个地方,可能是注册表之类的。
技术分享
我们先查壳
技术分享
发现 没有壳,是用VC6写的,那我们用OD载入,让程序跑起来
技术分享
技术分享
跑起来,试着输入一下注册码。发现OD没有反应。那我们输入好名字和注册码之后,不要点OK,返回程序,ctrl+n  搜索killtimer这个函数
技术分享
设置完断点后,点击OK,然后就会发现程被断下来了,经过观察上面跳转,来到跳转的起初
技术分享
正常的,这里传了个值给eax   只要把它改为4   这个程序就成功了,但是发现汇编之后,程序的代码都变了,于是要用到我们的内嵌补丁。什么是内嵌补丁呢?
技术分享
有一些用机器码填充的地方,我们就可以利用这些地方,我们先到上面设置个书签
技术分享
书签的作用就是可以随时回去,不至于跑丢了,那我们用二进制复制这两个代码
技术分享
到我们刚刚想去的那个被机器码填充的地方  可以提前记录一下
相当于把这部分的代码转移到另一个地方实现
技术分享
技术分享
那我们保存一下    看看行不行
发现成功运行了,,,但是这个程序死掉了
我们可以具体单步来看看
发现只有成功执行到B才能够走出程序
于是我们把之前的修改再修改下  改为mov eax,0B   试着打开程序   发现OK了。
技术分享
就是这样了。



















OD调试15--16

原文:http://www.cnblogs.com/terryue/p/4951063.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!