|
|
|
|
|
[讨论] 进程销毁回调会出现当前进程空间不是正在销毁的进程空间的情况嘛
はつゆき 想不到啥情况会触发断点,毕竟PspExitThread只有在当前线程中才会直接调用,否则全部都是通过APC确实,ZwTerminateProcess也是走APC,在对应进程里销毁。貌似还真没有 |
|
[原创]在Driver中调用I/O API的时候你考虑到了吗
紫霞星光 if (!bSuccess) { ExFreePool(lpuniImageFileName); lpuniImageFileName = NULL; } 这句会蓝屏 可以改 ... |
|
windows驱动源码推荐
不明觉厉,你很棒哦 |
|
[原创]Windows内存放血篇,突破物理内存的CopyOnWrite
低调putchar pte->Write=1 // UP version,突破COW,理论上大小页都有用pte->LargePage:&a ...可以试试手动map虚拟内存对应的物理内存,不使用api |
|
[原创]Windows内存篇Ⅱ x64内核内存布局的迁移演变
丿一叶知秋 请问一下,MmNonPagedPoolStart不应该是在MiInitMachineDependent函数中动态计算出来的吗?MmNonPagedPoolStart应该是在MmPfnDataBase后面,计算出来的 |
|
[原创]Windows内存篇Ⅱ x64内核内存布局的迁移演变
hhkqqs 毕竟是非分页内存,我一般拉高IRQL防止被切换,当然如果对方的代码也在DPC_LEVEL,照样防不住[em_10]哈哈,锁死其他核心,当前核心不允许线程切换就可以了 |
|
[原创]Windows内存篇Ⅱ x64内核内存布局的迁移演变
hhkqqs 搜poolheader虽然流程简单点,直接暴力搜效率还是比较慢的,我看了篇论文,说定位PhysicalMemoryBackupPool的Bitmap可以筛掉很多无效页面,但也要符号或特征码定位[em_ ...找到进bitmap的锁就可以了,目前这种方式最大的问题是访问内存时如果在MmIsAddressValid调用完内存被释放了就有蓝屏风险,lock内存也没用,lock了别人调用ExFreePool发现内存引用不为零也会KeBugCheck蓝屏。蓝瘦 |
|
[原创]Windows内存篇Ⅱ x64内核内存布局的迁移演变
hhkqqs windbg这个poolfind的指令在6.x版本下能正常用,到了10.0版本不知道为啥少了好多信息。我用特征码的方法找了一遍,基本能全找出来,首先找ULONG_PTR PoolHeader,使得*( ...对,win10windbg有点问题所以不太信他的处理结果,用poolheader比较舒服,小内存都能按tag找,头+0xC就是DriverObject了,没做vista xp的兼容了 |
|
扫内核钩子是越来越吃力不讨好了
win10扫内核钩子确实有点吃力不讨好,各种patch我已经弃坑了 |
|
[原创]Windows内存篇Ⅱ x64内核内存布局的迁移演变
hhkqqs 我在windbg用!poolfind Driv 只搜到零星的几个,非常奇怪,我看了眼IoDriverObjectType上面登记的个数可是一百多个 Show you my code,I don't believe windbg in some situation..
最后于 2020-10-25 11:17
被FaEry编辑
,原因:
|
|
[原创]Windows内存篇Ⅱ x64内核内存布局的迁移演变
hhkqqs win10的nonpagedpool大小应该不是巨硬pdb所说的0x100000000000,实测在这个区域搜DriverObject只能搜出零星的几个,巨硬大概率在内存管理函数里面多做了一些手脚。另 ...为啥我搜出来好多DriverObject |
|
[原创]Win10 DiSPATCH_LEVEL下读取物理内存
不对 一般情况下这种PTE都是可写的吧?实在不行就只能在低IRQ的时候请求了。。DPC_LEVEL访问PagedOut容易炸,低Level下可以,UserMode用__try__except包着,KernelMode用MmIsAddressValid包着 就很稳...
最后于 2020-4-13 09:55
被FaEry编辑
,原因:
|
|
[讨论]可否在内核申请一块内存,让应用程序直接访问?
MDL MapToUser即可 |