首 页文章中心黑客软件黑客动画绿色软件私服技术私服下载本站论坛
您当前的位置:黑客之 家文章中心脱壳破解软件破解 → 文章内容 退出登录 用户管理
本类热门文章
相关文章
站内广告
11.4.7 再加密函数(图)
作者:佚名  来源:不详  发布时间:2008-9-25 2:16:21

减小字体 增大字体

11.4.7  再加密函数

紧接着你就会看到另外一个对6DEF20的调用——即NtDelayExecution函数,然后我们好像已经到了函数的结尾处。OllyDbg为我们显示了如下这段代码

 

如果你仔细看一下004041F4处的JMP指令要跳转的地址,你会发现这个地址距离我们目前所在的地址非常远——实际上这个地址在这个函数的开头部分。为了让你回想起来一些东西,我们看看在那个地址代码

 

不知道你是否还记得这两行代码,不过没关系,就在00403401前面的一行代码把[EBP-8]置为了1,考虑到在00403401处就将它与0作比较,这看上去似乎有点可笑。好了,答案是——正是位于函数末尾的加密代码将这个变量置为零并跳转回00403401(刚好把完成置1的代码给搁在外面了)。既然这次执行了条件跳转,所以就跳转到了40346D处,此处的这段代码看上去与我们刚开始学习的解密代码非常相似。不过,还是有一些不同的地方——在调试器中考察这段代码的执行效果,你会很容易地发现:这段代码是对这个函数中的代码进行再加密。

我们没有必要再深入研究这个逻辑的细节了,但还有几个细节内容需要提一下。在加密代码执行完后,就要执行下面的代码

 

其中第一行代码将EAX中的值存放到一个全局变量中。EAX看起来好像存储的是加密代码的某种校验和。而且,这几条PUSH、POP、JMP指令与最初跳转到解密代码中的指令完全是一样的,只是这次跳转的目标地址被修改为这个函数的结尾处。

[] [返回上一页] [打 印]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 文章投稿 - 软件发布 - 购物资讯网 - _