能力值:
( LV2,RANK:10 )
26 楼
正在学习驱动,标记一下
能力值:
( LV3,RANK:20 )
27 楼
值得学习!
能力值:
( LV2,RANK:10 )
28 楼
果然都是高手!
能力值:
( LV2,RANK:10 )
29 楼
mark一下 刚好在做相关方面的研究 感谢楼主分享
能力值:
( LV2,RANK:10 )
30 楼
果然是极好的。
能力值:
( LV2,RANK:10 )
31 楼
目测:循环太深了啊,容易挨骂
能力值:
( LV2,RANK:10 )
32 楼
学习一下源码
能力值:
( LV2,RANK:10 )
33 楼
在win8下运行PreDemo.exe 提示驱动加载失败
请问是如何?
能力值:
( LV4,RANK:50 )
34 楼
不清楚win8的驱动加载要求,可能和win7 64位一样需要微软认证文件签名
能力值:
( LV2,RANK:10 )
35 楼
老兄有没有可能弄一个inf形式的驱动? 我用的确实是win8 64位的系统来测试:)
能力值:
( LV4,RANK:50 )
36 楼
与那个没有关系,inf的安装形式一样需要签名验证的。
能力值:
( LV2,RANK:10 )
37 楼
不错,下来学习下
能力值:
( LV2,RANK:10 )
38 楼
学习一下,楼主代码风格还不错,能看的进去
能力值:
( LV2,RANK:10 )
39 楼
下载了代码,无法编译通过,NTDDK找不到,我用了绝对路径都找不到,求助,汗。。。
能力值:
( LV2,RANK:10 )
40 楼
如果你装了DDK的话,那就是没设置环境变量。
能力值:
( LV2,RANK:10 )
41 楼
模拟挂..不错,,有时间我也模拟你一个,呵呵
能力值:
( LV2,RANK:10 )
42 楼
你好,对你的模拟鼠标/键盘的文章很感兴趣,我觉得这应该是一个切入驱动学习的很好的例子,我下载了附件后,使用VS2008打开工程以后,可以顺利的编译出kmclass.sys, 然后我找了一个通用的安装驱动的工具安装这个驱动,把这个驱动安装在VMWARE的虚拟机上面,系统是WIN XP SP3,使用debugview观察,发现出现错误:
KEYBOARD_DEVICE ERROR, error = 0xc0000001
我加入打印后发现,是kmclass.cpp文件的第259行的变量kmDeviceObject为NULL导致返回“STATUS_UNSUCCESSFUL”。
在真实的WIN XP SP3的机器上面是完全可以运行的,可以找到鼠标和键盘的地址。
是不是虚拟机里面 有什么不一样的地方?
另外我运行了你的附件里面的Debug和Relase里面的可执行程序在虚拟机里面,发现都不能运行,不知道为什么。
另外我还有一个问题,这个驱动支持WIN 7 64位吗?我还没有来的级测试。据说WIN 7 安装驱动要什么签名,请问用什么工具来安装你这个驱动呢?
由于是初学者,一下问了这么多问题,希望见谅,谢谢!
能力值:
( LV2,RANK:10 )
43 楼
这个驱动没用的,慢
能力值:
( LV2,RANK:10 )
44 楼
为了让这个驱动支持win7 64位,需要把kmDeviceExtension[i + 1]变成kmDeviceExtension[i + 2]即可,就可以顺利找到键盘和鼠标的回调地址,然后把这个驱动编译成win 7 64位的,运行在虚拟机上面后,使用应用层模拟发送一个键盘按键消息,结果蓝屏,使用windbg调试了半天,百思不得其解,错误如下:
kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************
SYSTEM_SERVICE_EXCEPTION (3b)
An exception happened while executing a system service routine.
Arguments:
Arg1: 00000000c0000005, Exception code that caused the bugcheck
Arg2: 0000000005131990, Address of the instruction which caused the bugcheck
Arg3: fffff8800367bf00, Address of the context record for the exception that caused the bugcheck
Arg4: 0000000000000000, zero. 其他的没有贴
我想问下大牛们,是不是WIN 7 64 位不支持直接调用kbdclass的回调函数模拟键盘消息?
谢谢啊
能力值:
( LV4,RANK:50 )
45 楼
[QUOTE=vincentpra;1214204]为了让这个驱动支持win7 64位,需要把kmDeviceExtension[i + 1]变成kmDeviceExtension[i + 2]即可,就可以顺利找到键盘和鼠标的回调地址,然后把这个驱动编译成win 7 64位的,运行在虚拟机上面后,使用应用层模拟发送一个键盘按键消息,结果蓝屏,使用wi...[/QUOTE]
没有试过64位系统,XP和win732位没有问题。你要让生成的exe文件直接在虚拟机里面运行,请在vs中选择项目->项目属性->配置属性->常规->MFC的使用中选择静态链接MFC
能力值:
( LV2,RANK:10 )
46 楼
嗯,windows XP sp3和win7 32位我测试过没有问题,就是在win 7 64为上面出现了问题。
你附的那个应用程序的控制程序我编译用VC2008编译不通过,出现了一大堆错误,不知道怎么搞的,应该是我环境给的问题吧,我暂时没有管,然后我自己模拟你的源代码写了一个的发送IOCTL的上层调用驱动的程序。
对于64位我还真不知道怎么调试,你可以帮我指导下后续如何调试这个蓝屏呢?
谢谢!
我的QQ:1067739461
能力值:
( LV4,RANK:50 )
47 楼
写的还可以 鼠标模拟可以再优化下 先SetPos 再交给驱动
能力值:
( LV4,RANK:50 )
48 楼
强帖, mark。
能力值:
( LV2,RANK:10 )
49 楼
很好,mark搜藏,支持楼主
能力值:
( LV2,RANK:10 )
50 楼
标记一下