提示:以下是本篇文章正文内容,下面案例可供参考
一、前言
由于上一章节中的MsgBox已经被抹去PE头、断链隐藏了DLL,导致将无法正常遍历出当前进程的所有模块,这时候就需要用到暴力内存的方法了。因为断链这种方法只能欺骗常规的CreateToolhelp32Snapshot、Module32First、Module32Next、EnumProcessModules这些API函数。当我们真正使用暴力扫描内存的方法后,这个”隐藏“的MsgBox.dll一样也能被扫描出来。
这里我们得用前面章节介绍的 Native API ZwQueryVirtualMemory 函数,其中关键的一个关键的结构体参数 MEMORY_BASIC_INFORMATION,我们根据BaseAddress、AllocationBase、RegionSize三个成员变量来获取模块信息,结