阅读:2633回复:14
Hook Driver
目前正在
|
|
最新喜欢:xhzxlq... |
沙发#
发布于:2004-08-11 16:43
我用MIRROR就很好,MIRROR和拦截是2回事,做显卡过滤,还有可能
|
|
|
板凳#
发布于:2004-08-12 01:59
我
|
|
地板#
发布于:2004-08-12 13:53
DRVBITBLT和其有关。不过不知道如何来防止截取屏幕。。。。。。
|
|
|
地下室#
发布于:2004-08-13 13:18
我在 DDK 中有看到可以 Hook DDI 但是
|
|
5楼#
发布于:2004-08-13 17:33
[quote]我在 DDK 中有看到可以 Hook DDI 但是
|
|
|
6楼#
发布于:2004-08-17 16:11
应该写一个显卡驱动过滤程序。
拦截DrvBitBlt和DrvCopyBits。受保护的程序启动后通过DrvEscape向过滤驱动注册窗口handle,过滤驱动根据这个handle创建跟踪窗口来跟踪应用程序的窗口位置及显示区域的变化。在系统调用DrvBitBlt或DrvCopyBits是再根据这些信息来判断是否允许拷贝。关键是你怎样系统正常的拷贝与用户恶意的拷贝区分开来?比较复杂! |
|
|
7楼#
发布于:2004-08-17 16:52
关键是你怎样系统正常的拷贝与用户恶意的拷贝区分开来?
|
|
|
8楼#
发布于:2004-08-17 23:28
那
|
|
9楼#
发布于:2004-08-18 09:09
所谓过滤驱动就是一个完整的GDI驱动。用它替换掉原来的显示驱动,当它启动后再动态加载原来系统中的显示驱动,和mirror类似但不相等。关于mirror sample的问题还是要你自己去找原因,我用的很正常,相信很多朋友的也一样。无非是一些系统冲突,实在不行就用softice调试,解决了自己的能力也会有所提高。
区分系统正常的拷贝与用户恶意的拷贝确实是个让人头疼得问题,首先你要区分拷贝的目的地――显存还是内存,如果是内存对其作具体区分,弹出的菜单、软鼠标等等。 如果你原来没写过显示驱动,并且你的项目有时间方面的限制,建议你还是考虑别的方法。两个原因:1、显示驱动比较复杂,需要一段时间去熟悉。2、Windows系统的封闭性,你很难保证在每中情况都能正常工作,要经过大量的测试。 |
|
|
10楼#
发布于:2004-08-18 09:19
首先你要区分拷贝的目的地――显存还是内存
如何区分????? |
|
|
11楼#
发布于:2004-08-18 09:20
了解 ...著著你的回答 ......!!
|
|
12楼#
发布于:2004-08-18 10:18
to wowocock:
SURFOBJ结构有一个成员iType,它标识surface的类型应该可以解决你的疑问。 to yn1016: 用老办法:google搜。 |
|
|
13楼#
发布于:2004-08-22 16:13
我觉得SURFOBJ结构的iType并不足以判断是显存还是内存。
STYPE_BITMAP就有可能是VM也可能是SM. 即使判断出vm/sm也不能确定哪些copy是合法那些是非法。 我想最多可以detect AP然后屏蔽该ap的copy,但是这样一改AP名就无效了,易名测试? |
|
14楼#
发布于:2004-09-22 16:29
我的mirror driver在2k下比较正常, 可在xp下,当勾选了淡入淡出效果和菜单阴影, 弹出菜单就非常慢,简直让人法忍受, 不知各位遇到过没有 |
|
|