idaxsy
驱动大牛
驱动大牛
  • 注册日期2004-12-09
  • 最后登录2006-03-17
  • 粉丝0
  • 关注0
  • 积分386分
  • 威望54点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:1296回复:9

大家觉得hook一个驱动程序的sys文件中的例程,可行吗?

楼主#
更多 发布于:2005-02-24 17:11
问题应该是寻址。
《windows internals》的书,我暂时来不及看了。先请问个大概。大虾说说思路就行了。
[b]万水千山总是情,回个帖子行不行?[/b]
zhangshengyu
驱动老牛
驱动老牛
  • 注册日期2003-10-03
  • 最后登录2016-07-26
  • 粉丝0
  • 关注0
  • 积分792分
  • 威望696点
  • 贡献值41点
  • 好评度499点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2005-02-24 18:11
可以HOOK其IRP的处理
---内核开发合作或提供基础技术服务QQ:22863668 ---
nibblebit
驱动牛犊
驱动牛犊
  • 注册日期2004-07-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分25分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-02-24 19:01
写一个Filter程式,加在驱动的上面拦截IRP。
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
地板#
发布于:2005-02-25 09:07
当染可以了.但在完成例程要注意些,你需要在IRP里检测上层驱动的完成例程,然后保存到你自己的完成例程里,处理好以后,再调用原来的完成例程.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-02-25 09:32
问题应该是寻址。
《windows internals》的书,我暂时来不及看了。先请问个大概。大虾说说思路就行了。

要hook直接处理IRP的例程相当于写过滤驱动,要hook驱动内部的未输出的例程,恐怕就南极了
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
idaxsy
驱动大牛
驱动大牛
  • 注册日期2004-12-09
  • 最后登录2006-03-17
  • 粉丝0
  • 关注0
  • 积分386分
  • 威望54点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-02-25 10:39
要hook直接处理IRP的例程相当于写过滤驱动,要hook驱动内部的未输出的例程,恐怕就南极了

sys的例程地址是存储在DriverObject里头的,不就相当于输出了吗?
其实我觉得应该可以去hook IoCallDriver或者类似的函数,我还得仔细研究一下,不可贸然出手。
[b]万水千山总是情,回个帖子行不行?[/b]
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
6楼#
发布于:2005-03-01 11:26
[quote] 要hook直接处理IRP的例程相当于写过滤驱动,要hook驱动内部的未输出的例程,恐怕就南极了

sys的例程地址是存储在DriverObject里头的,不就相当于输出了吗?
其实我觉得应该可以去hook IoCallDriver或者类似的函数,我还得仔细研究一下,不可贸然出手。 [/quote]

的确可以,我以前做过个例子,用来hook IoCallDriver,加载后用DBGMON可以看到一些相关信息......
附件名称/大小 下载次数 最后更新
2005-03-01_IoCallDriver.sys (5KB)  16
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
freshwt
驱动牛犊
驱动牛犊
  • 注册日期2002-08-19
  • 最后登录2008-06-13
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-03-01 16:25
的确可以,我以前做过个例子,用来hook IoCallDriver,加载后用DBGMON可以看到一些相关信息......


何不把源码拿出来?
idaxsy
驱动大牛
驱动大牛
  • 注册日期2004-12-09
  • 最后登录2006-03-17
  • 粉丝0
  • 关注0
  • 积分386分
  • 威望54点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-04-15 10:43
 
的确可以,我以前做过个例子,用来hook IoCallDriver,加载后用DBGMON可以看到一些相关信息......


我已经做出来了,谢谢老大的帮助。 :)
[b]万水千山总是情,回个帖子行不行?[/b]
Astronomy
驱动小牛
驱动小牛
  • 注册日期2005-04-11
  • 最后登录2011-12-20
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望31点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-04-15 12:00
怎么不考虑修改引入表或者函数上入口点呢?
菜鸟也写Windows
游客

返回顶部