tangptr@126.com 发表于 2015-10-8 22:57:18

失败品:尝试改进Win64 Inline Hook引擎

本来想改掉T.A的Win64引擎,主要是因为其使用了并不是很安全的修改CR0寄存器方式绕过只读保护。故我就尝试用映射MDL的方式,可是却蓝屏了,提示我的正是只读内存发生写入错误。等到了下周六,我在想办法改好。

Tesla.Angela 发表于 2015-10-8 23:19:52

你的代码有问题吧。话说MDL读写内核内存的代码要两套。**** Hidden Message *****此外谁教你IOCTL可以定义为0x1和0x2的:#define IOCTL_Hook                                CTL_CODE(FILE_DEVICE_UNKNOWN, 0x1, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_UnHook                        CTL_CODE(FILE_DEVICE_UNKNOWN, 0x2, METHOD_BUFFERED, FILE_ANY_ACCESS)这个代码的范围应该是0x800~0xFFF。

tangptr@126.com 发表于 2015-10-8 23:58:59

。。。我只能说,那套代码不用测试就知道是绕不过只读保护的。我这个代码放在Win32是没有问题的啊,通吃XP~Win10
IOCTL_CODE定义成0x1和0x2我还真没遇到过问题。。。。。。

Tesla.Angela 发表于 2015-10-10 08:43:42

tangptr@126.com 发表于 2015-10-8 23:58
。。。我只能说,那套代码不用测试就知道是绕不过只读保护的。我这个代码放在Win32是没有问题的啊,通吃XP~ ...

不行是不可能的,我已经这么用上了。。。还发了个帖子:http://www.m5home.com/bbs/thread-8634-1-1.html。
但实际上,用WPOFF/WPON还是用MDL修改内存,都和“安全HOOK”无关。那个是向每个核心投递DPC来HOLD住所有线程不让执行。

gfw 发表于 2015-10-12 15:14:32

gfw,如果您要查看本帖隐藏内容请回复

284406022 发表于 2015-10-12 16:38:46

开看看源码的,因为我觉得源码更好说明问题

tangptr@126.com 发表于 2016-5-19 22:40:07

话说我貌似发现蓝屏的根本原因了,下文摘自MSDN
The MmCreateMdl routine is obselete and is exported to support existing driver binaries only. Use IoAllocateMdl instead.

ykl44222440 发表于 2016-7-9 13:44:39

学习学习

lpmjknj 发表于 2022-1-9 05:38:41

学习一下

baichimm 发表于 2023-3-6 23:56:25

学习学习

376408384 发表于 2023-12-7 17:24:18

我来向大佬学习
页: [1]
查看完整版本: 失败品:尝试改进Win64 Inline Hook引擎