首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

求大侠解救啊 如何Hook 系统内核层的函数

2013-03-10 
求大侠解救啊 怎么Hook 系统内核层的函数?我现在遇到个问题,就是想把系统内核里面I/O操作函数里面把操作0X

求大侠解救啊 怎么Hook 系统内核层的函数?
我现在遇到个问题,就是想把系统内核里面I/O操作函数里面把操作0X378地址的操作给拦截下来从而执行自己的代码,大概就是WRITE_PORT_UCHAR、READ_PORT_UCHAR、ULONG USHORT这几个函数了,求大神支招啊,谢谢了
[解决办法]
如果人家没有用in out直接读写端口就行了。inline hook满大街了,网上找个例子临摩下吧,
用MDL或者改CR0都行,总得来说,就是先设内存属性为可写。另外,定位函数地址可以用MmGetSystemRoutineAddress.

引用:
先获取SSDT或者ShadowSSDT函数表,然后呢,你应该懂的...
如果你不懂,请你先去看看书,把基础打好。


楼上,人家要hook的hal的端口读写函数,关SSDT毛事?
[解决办法]
指令应该hook不着了。
但不是没办法。可以使用硬件虚拟化。

硬件虚拟化依赖于Intel 80386+的几个特性。其中一个是I/O许可掩码,使操作系统可能诱捕(Trap)对任何一个端口的所有IN/OUT指令。

可这局限性仍然存在。CPU必须支持硬件虚拟化。而且AMD,intel的CPU下硬件虚拟实现方式也有不同。

热点排行