吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5085|回复: 4
收起左侧

[分享] lenushj老调重谈之内存镜像

[复制链接]
lenush 发表于 2008-12-4 17:44
内存镜像法讲解

好,上次说了ESP定律,今天就说说内存镜像法吧!(同样这次主要是说理论的东西,就不做录像了,大家将就着看吧!)

内存镜像法,以前是叫做二次内存法,那么什么是内存镜像法了?这里先引用一段前辈的文章:“壳如果要把原来加密或压缩的代码运行起来就必须要解压和解密原来的代码。这一个过程我们可以将他看做是对代码段(code段)的写入,一个EXE文件的有code段,data段,rsrc段.....依次排列在你的内存空间中,只要你在data断或者rsrc段下内存访问断点,那么中断的时候code段就已经解压完毕了。这时我们再对code段下内存访问断点,不就可以到达OEP了吗?

1.对data段下内存访问断点而中断是因为内存写入中断,目的是断在对对data段的解压时,这时壳要对data段写数据,但是code段已经解压
完毕。
2.对code段下内存访问断点而中断是因为内存执行中断,目的当然就是寻找OEP了“

(应该有人会晕以吧!说的有点专业啊!)
我们还是来实例操作吧!一个简单的记事本程序,加了ASPack 1.08.03 -> Alexey Solodovnikov的壳。

首先了我们用OD打开软件,程序停在这里:


这之后,点击选项——调试选项——异常,然后把里面的勾全打上,


为确保设置生效,CTRL+F2重载一下程序,接下来我们点击查看——内存(或者是直接ALT+M快捷键来查看内存),我们找到.RSRC上面的CODE,按F2下断点,


然后按SHIFT+F9运行一下(或者是按运行也可在这里没区别,其他地方是有差别的),来到这里



好,我们再次打开内存镜像,在.code处下F2断点:



同样的步骤运行一下,来到这里:



有点眼熟了。脱壳检验一下吧!直接用OD的插件。脱壳后PEID检验是:
Microsoft Visual C++ 6.0 SPx Method 1
脱壳成功!
下期我们讲讲最后一次异常法!
谢谢大家支持!

                        

lenushj

08-11-11 凌晨01:42

[ 本帖最后由 lenush 于 2008-12-4 17:56 编辑 ]

内在镜像.rar

21.37 KB, 下载次数: 11, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 1威望 +1 收起 理由
Hmily + 1 精品文章

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

鬼手 发表于 2008-12-4 17:47
看不怎么明白额.学习.谢谢分享
半瓶水 发表于 2008-12-4 18:56
呵,这样的讲解清析明了,学习了!
可有疑问:1、“我们找到.RSRC上面的CODE,按F2下断点”,什么叫上面的CODE?上面是什么?是.rsrc处的代码吗?
2、“好,我们再次打开内存镜像,在.code处下F2断点:”中的.code怎么变成在.text处下断?

[ 本帖最后由 半瓶水 于 2008-12-4 19:12 编辑 ]
Hmily 发表于 2008-12-7 20:30
加密解密3上有很详细,内存断点主要是依靠壳的解压代码顺序先后来脱壳的~
fuma255 发表于 2009-6-9 18:04
加密解密3上有很详细教程,不妨看看
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 01:11

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表