[2023]PiDqSerializationWrite 内核SEH安全的拷贝函数 huoji 内核 2023-05-05 1413 次浏览 0 次点赞 在某些情况下我们不能使用SEH进行memcpy(比如驱动是manual map的情况下),很容易造成蓝屏 这个函数由ntos实现,能实现具有SEH的安全memcpy ![](https://key08.com/usr/uploads/2023/05/4134132757.png) ```cpp PiDqSerializationWriteFn = (u64)FindPattern(Kbase2, "48 89 5C 24 ? 48 89 4C 24 ? 57 48 83 EC 20 41", E("PAGE")); struct bullshit { u64 dst_addr; u32 _0xffffffff; char zero[17]; bool error; }; typedef NTSTATUS(__fastcall* memcp1)(bullshit* _shitDst, pv src, u32 size); auto g = (memcp1)PiDqSerializationWriteFn; bullshit call_data{}; call_data.dst_addr = (u64)dst; call_data._0xffffffff = 0xffffffff; g(&call_data, src, sz); //call_data.error == 1 -> RW failed! ``` 来源: @busybox10 本文由 huoji 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。 点赞 0
好像这个MmCopyMemory也可以安全读写物理地址和虚拟地址
MmCopyMemory必须在win8.1后才有