飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2493|回复: 1

浅谈脱壳中的Dump技术7

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

    [LV.2]偶尔看看I

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

    第二章.    Dump程序的改进
    “发展才是硬道理”
    ----邓小平
       正如我们上面一节所做的,一个dump的雏形已经形成了,现在要做的是给它在原来的基础上做进一步的改进。

    一.        获取Imageofsize

    相信大家也感觉到了,在前面一章介绍的获取ImageofSize的办法实在很不可靠,对于一个加壳程序随意的修改他载入了内存中的PE头,是很稀疏平常的事情。所以用读取目标进程中的PE头并不是一个好主义。
    现在我就来介绍一下一般的办法。对于LordPE他的dump是采用什么方法呢?它采用了对Module32Next来获取dump的进程的基本信息的。

    BOOL WINAPI Module32First(
    HANDLE hSnapshot, //这是先前的CreateToolhelp32Snapshot函数返回的快照
      LPMODULEENTRY32 lpme //这个是指向MODULEENTRY32结构的指针
    );

    下面是MUDULEENTRY32结构:
    typedef struct tagMODULEENTRY32 {
      DWORD dwSize;
      DWORD th32ModuleID;
      DWORD th32ProcessID;
      DWORD GlblcntUsage;
      DWORD ProccntUsage;
      BYTE *modBaseAddr;
      DWORD modBaseSize;    //这个是是我们要获取的关键
      HMODULE hModule;
      TCHAR szModule[MAX_PATH];
      TCHAR szExePath[MAX_PATH];
      DWORD dwFlags;
    } MODULEENTRY32, *PMODULEENTRY32, *LPMODULEENTRY32;

    下面就给出重新写的新的GetSizeOfImage的函数
    int GetSizeOfImage(HWND hDlg,DWORD IDProcess)
    {
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2019-2-20 15:52
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2010-5-27 10:36:58 | 显示全部楼层
    楼主很连续的发啊 谢谢了
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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