通过修改API函数开始前5字节,跳转到自定义API的方式,截获函数调用.
支持Win95,Win32等系统,在WinXp sp2或以后系统中使用,会出现蓝屏,原因是程序修改了代码的页面权限为PAGE_READWRITE,导至WinXP Sp2的系统保护功能出现蓝屏,只需将源代码里的所有PAGE_READWRITE修改为 PAGE_READWRITE_EXECUTE即可正常使用.
即使长时间开发 Win32 应用程序和库的开发人员,在首次编写内核驱动程序时,也会感觉像是一个绝对的初学者。这是因为,内核模式下的代码运行在一个完全不同的操作系统环境中。 Win32 开发人员的工作仅局限在属于 Windows 2000 Win32 子系统的几个系统组件上。其他开发人员可能编写 POSI 或 OS/2 应用程序, Windows 2000 的附加子系统为它们提供支持。感谢子系统这个概念, Windows 2000 就像一个变色龙 --- 它可通过这些子系统(前面提及的)导出不同的应用程序开发接口来模拟不同的操作系统。与此相反,内核模式的代码可以看到“真实”的 Windows 2000 操作系统。它们使用的接口可以称之为“最终边界”。当然,这并不是说,内核模式完全摆脱了子系统。在第二章中,我们看到 win32k.sys 就是 Win32 GUI 和窗口管理器在内核模式下的分支,将它们放在内核是出于性能考虑。然而, win32k.sys 导出的 API 函数集合中只有一小部分出现在了 gdi32.dll 和 user32.dll 中,这也意味着只有这一小部分函数可以作为 Win32 API 函数来使用,因此, Win32K 决不只是 Win32 踏入内核世界的一脚,实际上,应把它看作是一个高性能的内核模式的图形引擎。
一部学习windows编程的经典书籍。
Windows 源码发送,Part one——ErrorShow
本人没分,只是想要点分下别的资料
Up one
Up one
Windows监控程序的核心编程原理及设计方法,感觉很好,对初学windows编程很有用。
基于windows的语音识别系统 c++