找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1821|回复: 3

[技术交流] 内存断点原理2

[复制链接]
  • TA的每日心情
    难过
    2017-11-14 11:03
  • 签到天数: 43 天

    [LV.5]常住居民I

    19

    主题

    167

    回帖

    1830

    积分

    高级会员

    积分
    1830
    命运舞姬 发表于 2015-6-25 08:45:39 | 显示全部楼层 |阅读模式
    本帖最后由 虫虫舞动 于 2015-7-25 19:54 编辑

    由于帖子限制字数  所以分段发
    ii.如何使用内存断点来寻找OEP呢?
    要回答这个问题首先要回答这一个问题:壳是如何解压代码的?

    正如我们知道的,壳如果要把原来加密或压缩的代码运行起来就必须要解压和解密原来的代码。而这一个过程我们难道不能将他看做是对代码段(code段)的写入吗?好了,解压完毕了。我们要从壳代码的区段JMP到原来的代码段的时候,难道不正是对代码段(code段)的执行吗?

    理清了上面的关系就好办了,那么如果载入OD后,我们直接对code段下内存访问断点的时候,一定会中断在壳对code段的写入的代码的上面,就像上面的004AE247的这一行。而如果当他把code段的代码全部解压解密完毕了以后,JMPOEP的时候,我们是不是还可以停在OEP的代码上面呢?而且每按下F9都会中断,因为这时code段在执行中哦!

    相信很多人到这里已经明白了,为什么在教程中到达了某一个时候,某一行的时候。牛人们就叫我们对code段下内存访问断点了吧。

    而如果你还要继续问我为什么一定要到那个地方才可以下断呢?我难道不可以一开始就下断吗?

    正入我上面所说的,如果你在前面下断很可能壳对code段还没解压完毕呢,这时如果你不停的按F9,你将会看到OD的下方不断的在提示你,401000写入中断” “401002写入中断”“401004写入中断”.......如果你不介意按F9到他把正个code段写完的话,我除了同情你的“F9”以外,没什么其他的意见!

    那么我们就没有别更快一点的办法了吗?
    有的!那就是我们呼之欲出的两次内存断点办法。
    怎么理解两次内存断点呢?

    让我来做一个假设吧,假设我是一个壳的作者。一个EXE文件的有code段,data段,rsrc.....依次排列在你的内存空间中,那么我会怎么解码呢?呵呵~我比较笨一点,我会先将code段解码,然后再将data段解压,接着是rsrc......那么聪明的你不难发现,只要你在data断或者rsrc段下内存访问断点,那么中断的时候code段就已经解压完毕了。这时我们再对code段下内存反问断点,不就可以到达OEP了吗?

    这里注意上面虽然下了两次内存访问断点,但是本质是不一样的,目的也是不一样的。

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

    总结一下:如果我们知道壳在什么地方对code段解压完毕我们就可以使用内存断点,找到OEP。如果不知道,那么我们就依*2次内存断点去找,如果还不行就用多次内存断点。总之明白了原理在多次的内存断点其实都一样。从这个过程中我们了解的是壳在对区段解码的顺序!



  • TA的每日心情

    2019-4-25 22:31
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    10

    主题

    142

    回帖

    557

    积分

    高级会员

    积分
    557
    小云天 发表于 2015-6-26 18:09:19 | 显示全部楼层
    谢谢分享
    回复

    使用道具 举报

  • TA的每日心情

    2017-2-2 12:17
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    7

    主题

    215

    回帖

    959

    积分

    高级会员

    积分
    959
    nikkitang 发表于 2015-6-27 17:01:16 | 显示全部楼层
    每天坚持学习,慢慢进步,加油!
    回复

    使用道具 举报

  • TA的每日心情

    2017-12-22 11:24
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    2

    主题

    43

    回帖

    60

    积分

    注册会员

    积分
    60
    332936 发表于 2017-12-15 11:28:44 | 显示全部楼层
    每天坚持学习,慢慢进步,加油!
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|虫虫联盟 ( 备案号:蜀ICP备15018121号-1 )

    GMT+8, 2024-3-29 13:34 , Processed in 0.421758 second(s), 26 queries .

    Powered by Discuz! X3.5 Licensed

    © 2001-2024 Discuz! Team.

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