飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4123|回复: 2

浅谈脱壳中的Dump技术5

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

    [LV.2]偶尔看看I

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

    得要保存的文件名,默认的是dumped.exe。接着,使用前面在获得imageofsize的同时已经用GlobalAlloc函数申请了同样大小的堆空间,把目标进程的数据读到这个空间里面。这里面就有一个空间大小的问题,如果进程过大,我怀疑会申请失败。在这里还有尤其的注意一个地方,就是我们在申请空间的时候用了sizeoffile而不是sizeofimage,这是因为,有的时候sizeofimage的大小并不是一个文件对齐度的大小,而为了让他对齐,我使用下面的算法。
    代码:
            if(!(sizeofimage%0x1000))                          //如果是文件对齐度的整数倍的时候就不处理
                    sizeoffile=sizeofimage;
            else
                    sizeoffile=(sizeofimage/0x1000+1)*0x1000;     //如果不是就增加一个文件对齐度

         这样就能保证,imageofsize转化为一个具有文件对齐度的数值。
         最后,是使用BOOL CreateDumpFile(HWND hDlg,LPCTSTR Dump_Name,HGLOBAL hMem);这个函数,这个函数的作用是在磁盘中申请一个文件,把从刚刚读到内存空间的数据又全部的写到磁盘上,所以就用了两个函数CreateFile和WriteFile。

    三.试验
       写好了程序就如下图一样
    Snap2.gif
    下面用他来实战使用一下吧
    运行用upx压缩过的win98的notepad

    让我把他在oep处dump下来

    嘿嘿,dump下来才发现,图表都没有了。呵呵,这是因为我们没有把相对虚拟地址(RVA)
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2010-5-26 22:29:50 | 显示全部楼层
    我有点菜 没有怎么看明白
    PYG19周年生日快乐!
  • TA的每日心情

    2016-2-14 14:40
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2010-5-27 12:52:49 | 显示全部楼层
    /:good
    高人,收我做徒弟吧
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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