找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1918|回复: 5

内存断点原理3

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

    [LV.5]常住居民I

    19

    主题

    167

    回帖

    1830

    积分

    高级会员

    积分
    1830
    命运舞姬 发表于 2015-6-25 08:49:33 | 显示全部楼层 |阅读模式
    iii.实战
    好吧,来弄一个猛壳怎么样:
    这个壳是一个hying的旧版,我们用他来实验一下我们内存断点法。
    OD
    载入以后来到这里
    CODE:
    0040D000 u> 56     push esi    //
    这里
    0040D001 52     push edx
    0040D002 51     push ecx
    0040D003 53     push ebx
    0040D004 55     push ebp
    0040D005 E8 15010000    call unpackme.0040D11F
    [Copy to clipboard]
    根据跟过一次的经验我们将先设置,除int3异常以外忽略其他异常,SHIFT+F9
    CODE:
    003725B9 90     nop     //
    到这里
    003725BA 8BCD     mov ecx,ebp
    [Copy to clipboard]
    然后再设置除除零异常外,忽略其他异常。SHIFT+F9
    CODE:
    00372660 F7F3     div ebx    //
    到这里
    00372662 90     nop
    [Copy to clipboard]
    下面是多的单步异常,太麻烦我们不管他,现在开始用内存断点的方法。
    code段下内存访问断点,希望他已经解压完毕。F9
    CODE:
    0040D19D A4     movs byte ptr es:[edi],byte ptr ds:[esi]    //
    还没解完呢
    0040D19E B3 02    mov bl,2
    [Copy to clipboard]
    data段下内存写入断点,试试看他是不是要写data段。
    CODE:
    00372712 F3:A4    rep movs byte ptr es:[edi],byte ptr ds:[esi] //
    断到这里
    00372714 5E     pop esi
    [Copy to clipboard]
    下面再对code段下内存访问断点。F9
    CODE:
    00372855 8907     mov dword ptr ds:[edi],eax       ; SHELL32.DragFinish //
    这里是对IAT加密的地方了!!!
    00372857 5A     pop edx
    00372858 0FB642 FF    movzx eax,byte ptr ds:[edx-1]
    0037285C 03D0     add edx,eax
    0037285E 42     inc edx
    0037285F 83C7 04    add edi,4
    00372862 59     pop ecx
    00372863 ^ E2 A9    loopd short 0037280E
    00372865 ^ E9 63FFFFFF    jmp 003727CD
    0037286A 8BB5 93060000    mov esi,dword ptr ss:[ebp+693]       //
    到这里下断F2
    [Copy to clipboard]
    现在如果再对data下访问断点已经是没用了。这时应该格外的小心。
    我们现在就想既然这一段是对code解码的,那么我们就绕过他吧!
    0037286A下断F2,然后清除内存断点!!!!
    F9
    以后停在这里,继续对code下内存访问断点。
    看看左下角还在解码,哎~真是麻烦!
    CODE:
    003728E1 /EB 1D    jmp short 00372900
    003728E3 |25 FFFFFF7F    and eax,7FFFFFFF
    003728E8 |0385 83060000    add eax,dword ptr ss:[ebp+683]
    003728EE |2B85 8F060000    sub eax,dword ptr ss:[ebp+68F]
    003728F4 |8BDE     mov ebx,esi
    003728F6 |2BD8     sub ebx,eax
    003728F8 |8958 FC    mov dword ptr ds:[eax-4],ebx       //
    停在这里
    003728FB |83C7 08    add edi,8
    003728FE ^|EB DB    jmp short 003728DB
    00372900 \64:FF35 30000000 push dword ptr fs:[30]       //
    清除内存断点以后到这里下断,F9
    [Copy to clipboard]
    又一段解码的代码,再次使用上面的办法手动跳出去。
    现在继续对code段下内存访问断点!!F9以后到达这里。
    CODE:
    004010CC FFD7     call edi        ; unpackme.004010CE //OEP

    004010CE 58     pop eax
    004010CF 83EC 44    sub esp,44
    004010D2 56     push esi
    004010D3 90     nop
    004010D4 E8 B518F7FF    call 0037298E
    004010D9 8BF0     mov esi,eax
    [Copy to clipboard]
    呵呵~虽然不是我们熟悉的OEP,但是地址是没错了,况且根据我们的步骤,我可以很肯定的说这是code段的第一次执行中断!
    所以这就是OEP
    总结一下:当我们在寻找OEP的时候,要多次对code下断他解压完毕,如果不是就对别的段试试~如果程序跑飞了,那就没办法了,重来呗~其实说起来要赌的是:当data段,idata段,rsrc段摆在你的面前,你会好好珍惜那个段,不过还好上天还会给我们从来一次的机会(ctrl+F2 ^_^),那么我们会对那个不会跑飞的段说3个字----“先断你如果非要在上面加一个次数,我希望是一次内存断点就好了


  • TA的每日心情
    难过
    2017-11-4 19:40
  • 签到天数: 2 天

    [LV.1]初来乍到

    60

    主题

    508

    回帖

    5470

    积分

    钻石会员

    学无止境

    积分
    5470

    卓越会员

    QQ
    海潮 发表于 2015-6-25 13:41:26 来自手机 | 显示全部楼层
    沙发,学习!
    回复

    使用道具 举报

  • TA的每日心情

    2018-9-13 16:03
  • 签到天数: 351 天

    [LV.8]以坛为家I

    44

    主题

    599

    回帖

    1139

    积分

    高级会员

    积分
    1139
    woaijiang1 发表于 2015-6-26 11:20:52 来自手机 | 显示全部楼层
    谢谢老师,辛苦了了
    回复

    使用道具 举报

  • TA的每日心情

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

    [LV.2]偶尔看看I

    10

    主题

    142

    回帖

    557

    积分

    高级会员

    积分
    557
    小云天 发表于 2015-6-26 17:57:08 | 显示全部楼层
    谢谢分享好好学习天天向上
    回复

    使用道具 举报

  • TA的每日心情

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

    [LV.3]偶尔看看II

    7

    主题

    215

    回帖

    959

    积分

    高级会员

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

    使用道具 举报

  • TA的每日心情

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

    [LV.2]偶尔看看I

    2

    主题

    43

    回帖

    60

    积分

    注册会员

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-11-23 18:23 , Processed in 0.399687 second(s), 27 queries .

    Powered by Discuz! X3.5 Licensed

    © 2001-2024 Discuz! Team.

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