kcynice
驱动牛犊
驱动牛犊
  • 注册日期2008-03-03
  • 最后登录2010-08-28
  • 粉丝1
  • 关注0
  • 积分43分
  • 威望138点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分2分
阅读:2551回复:3

在驱动里面调用PsGetCurrentProcess的问题

楼主#
更多 发布于:2008-09-18 17:16
首先, 我不是一个驱动开发人员,在这一方面,我了解的很少.只是最近手上一个软件,有自己的驱动(与光驱打交道),我想它在驱动程序里面做了手脚:反调试.所以想要解开这个限制.我调试它的驱动,发现在IRP_MJ_DEVICE_CONTROL中一个PsGetCurrentProcessId的调用,我想请教一下熟悉驱动编写的同仁们,这个函数(还有相关的PsGetCurrentProcess等一族函数),它返回的进程ID是这个驱动的客户程序(DeviceIoControl的调用者)的进程ID还是Windows处理这个IRP请求的进程的进程ID?
谢谢
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2008-09-19 09:10
同步就是调用者的进程ID,异步就难说了,可能在SYSTEM里。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
kcynice
驱动牛犊
驱动牛犊
  • 注册日期2008-03-03
  • 最后登录2010-08-28
  • 粉丝1
  • 关注0
  • 积分43分
  • 威望138点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分2分
板凳#
发布于:2008-09-19 11:29
那就再问一句,一个调用DeviceIoControl的客户程序,怎么知道它是同步还是同步?
bruclan
驱动牛犊
驱动牛犊
  • 注册日期2007-10-23
  • 最后登录2009-07-14
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望26点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-10-08 20:22
看是否设置了overlapped参数,如果设置了就是异步,否则就是同步
游客

返回顶部