基本知识:
有关 DDK 中的 mirror Driver:
Mirror driver是Windows NT下的一种显示驱动,系统发往物理显卡的所有命令也同样发送给Mirror driver,可以在Mirror driver中可以模拟出当前系统的显示内容,因此称之为mirror 。利用这个特性,就能很方便的捕获到当前屏幕的内容以及系统要绘制的区域(变化部分),是一种速度很快的截屏方法。不过Mirror driver也有缺陷,不支持DirectX硬件加速,因为它本来就是软的。考虑到大部分屏幕广播软件都用做教学或会议,因此有无DirectX影响不大。
从目前现有的资料来看, WinVNC 是开放源代码的,但是它的驱动部分并不公开,只是 vnchook.dll 的代码公开。
其实它的驱动程序有几天接可以把它逆向了。
驱动方式(推模式 push)Mirror Driver:
优点:占用CPU资源少(1-5%),速度快。实时性高。
缺点:a. window 2000/xp/2003支持,98不支持。
b. 装完驱动需重新启动方能使用。
HOOK方式(拉模式 poll )HOOK:
优点:系统支持广泛,装后不需要重启就能使用。
缺点:占用CPU资源大。
解决方法:两种都开发,window 2000/xp/2003系统采用驱动方动,其它系统使用HOOK方式。