飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3886|回复: 1

浅谈脱壳中的Dump技术6

[复制链接]
  • TA的每日心情
    慵懒
    2019-3-12 17:25
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2010-5-26 21:34:53 | 显示全部楼层 |阅读模式
    本帖最后由 whypro 于 2010-5-27 17:34 编辑

    和文件地址对齐(RA)。
    科普一下:在文件中要节约空间,把数据紧密的存储在一切,而靠节表在load到内存中的时候,把在文件中的不同数据分别隐射到不空内存空间中,而不足的地方就用0填充。但是当我把这些数据从内存中完完整整的dump下来的时候,我们同样把这些0也dump了出来。所以我们要做的首先应该是调整节表,让他的RA=RVA。这样我们实际上做的就是把RA这个指针移动过了若干个0的空间,从而指向正确的数据。

    下面我们还是用LoadPE打开它,把RA和SIZE修改过来吧!
    Snap3.gif
    这么样,回到桌面刷新一下就会发现图标又回来了吧!
    好了,现在运行dumped.exe文件,还是不行的。对了,IAT还没有修复呢,我们停在OEP的时候文件的IAT已经全部释放了出来,而IAT只是对于本计算机的函数地址,每一个计算机都可能不一样。这样我们就要用ImportRECl来重新根据这个IAT地址反向构造一个输入表。OK,使用ImportREC修复了以后就可以运行了,不过dump出来的文件大出了好多。我们可以知道原因了。
    1.        因为文件对齐的原因我们把残留的0也dump出来了。
    2.        因为使用ImportREC他帮我们重新创建了一个区段存放输入表
    所以,我们使用LordPE的ReBuiltPe其中的一个功能就是可以把这些残留的0,自动的删除,然后修改节表让他们对齐。

    四.小结
    经过了一番的讲解,大家应该知道,LordPE的dump功能大概是怎么运作的了吧,当然从我们的程序从还有很多的不足,从上面例子也能知道了。LordPE在dump下程序的同时,直接将节表中的RA=RVA ,RS=RVS。那么在以后我们将继续改进我们的dump程序,让它增加这些功能。万事开头难,如果你有足够的耐心读完了这一章那么下面的章节就很简单了,不要怕继续吧!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-5-26 22:43:42 | 显示全部楼层
    好好参透下
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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