草庐IT

pTempBuffer

全部标签

驱动开发:内核R3与R0内存映射拷贝

在上一篇博文《驱动开发:内核通过PEB得到进程参数》中我们通过使用KeStackAttachProcess附加进程的方式得到了该进程的PEB结构信息,本篇文章同样需要使用进程附加功能,但这次我们将实现一个更加有趣的功能,在某些情况下应用层与内核层需要共享一片内存区域通过这片区域可打通内核与应用层的隔离,此类功能的实现依附于MDL内存映射机制实现。应用层(R3)数据映射到内核层(R0)先来实现将R3内存数据拷贝到R0中,功能实现所调用的API如下:IoAllocateMdl该函数用于创建MDL(类似初始化)MmProbeAndLockPages用于锁定创建的地址其中UserMode代表用户层,I

驱动开发:内核R3与R0内存映射拷贝

在上一篇博文《驱动开发:内核通过PEB得到进程参数》中我们通过使用KeStackAttachProcess附加进程的方式得到了该进程的PEB结构信息,本篇文章同样需要使用进程附加功能,但这次我们将实现一个更加有趣的功能,在某些情况下应用层与内核层需要共享一片内存区域通过这片区域可打通内核与应用层的隔离,此类功能的实现依附于MDL内存映射机制实现。应用层(R3)数据映射到内核层(R0)先来实现将R3内存数据拷贝到R0中,功能实现所调用的API如下:IoAllocateMdl该函数用于创建MDL(类似初始化)MmProbeAndLockPages用于锁定创建的地址其中UserMode代表用户层,I