MemImager 1.0下载地址

点这里下载 → 下载地址
相关Tags:

MemImager 1.0软件简介

执行内存转储使用NtSystemDebugControl

在MemImager应用程序的设计是一个工具,进行内存转储,使用NtSystemDebugControl。

倾倒的使用NtSystemDebugControl
控制代码10,我们使用结构作为输入缓冲区下面的布局:
- DWORD PhysicalAddress;
- DWORD预留;
- void *的神器出山:www.shenqi73.com缓冲;
- DWORD长度;

接下来,我们可以例如malloc一个页面大小的缓冲区,我们点缓冲,写长度4096点和PhysicalAddress我们要复制的内容的页面的地址。然后我们执行NtSystemDebugControl的和,如果一切顺利的话,我们的缓冲区现在包含的物理页中的数据的副本。其实相当简单。

内NtSystemDebugControl
如果要了解,如果又如何,NtSystemDebugControl处理缓存的问题,我们必须采取深入到内核。内核导出的日常称为NtSystemDebugControl,其中包含一个switch语句负责调度的正确功能的控制代码的基础上的。下面我将描述每一个微小的细节的代码。第一个原因是,有很多细节我们正在寻找不相关的。其次,我没有反编译的代码,但只有遵循有关部分的拆卸(从Windows Server 2003 SP0内核的)。

代码处理控制代码10要求无证的日常_ExLockUserBuffer这使得我们的缓冲区(Buffer)中居民中的页面锁定在内存中,并返回系统空间虚拟地址指向它的指针作为参数传递。另一个未公开的函数调用名为_KdpCopyMemoryChunks的。传递给它的参数,其中包括系统空间的虚拟地址指向到我们的缓冲液,要复制的字节的数目(长度),和地址复制(PhysicalAddress)。

现在,又一个未公开的函数被称为:_MmDbgCopyMemory。这个函数执行实际的数据复制。但在此之前它可以做任何复制,它需要有一个虚拟的源地址而不是一个物理地址。因此,它要求我们的最后一个未公开的函数:_MiDbgTranslatePhysicalAddress。现在,我们真的关闭在回答我们的问题。

_MiDbgTranslatePhysicalAddress接收我们的物理地址作为参数。然后,它使用一个变量称为_ValidKernelPte,作为一种模板为核心PTE:S。从模板相结合,形成的物理地址指向的页面,我们要复制一个PTE的标志。然后PFN数据库索引到我们的源页面找到对应的条目。在此项目中的核心看起来在的标志的u3.e1成员的CacheAttribute。然后CacheAttribute标志用于设置在PTE的PAT索引。现在,我们有我们的答案真的,但我会继续进一步反正一点点。现在被复制的核心有内建的PTE指出由内核变量_MmDebugPte的的位置。最后,该函数返回的虚拟地址将使用PTE映射。现在可以把_MmDbgCopyMemory是免费的物理源“页面中的数据复制到我们的缓冲区只使用虚拟地址。

上一个软件:魔方求解器1.0_Rubik's Cube Solver 1.0

下一个软件:ExTemp 1.05

随便看看

软件简略信息
  • 软件大小:7.00 KB
  • 下载次数:99
  • 更新时间:2013-03-08 10:44:00
  • 不能下载请报告错误,谢谢
本类热门软件