我有一个 PS/2 触摸板,我想为其编写一个驱动程序(我只是一个网络人员,所以这对我来说是陌生的领域)。触摸板附带一个 Windows XP 驱动程序,该驱动程序显然会发送消息以启用/禁用点击操作。我试图找出它正在发送什么消息,但我不知道如何开始。像“Syser Debugger”这样的软件可以工作吗?我想拦截发送到 PS/2 总线的传出消息。

有帮助吗?

解决方案

如果您想找出正在发送的“消息”,那么 IDA Pro 对您来说没有多大用处。您应该意识到这对于大多数 Web 开发人员来说是一个非常大的进步,但您已经知道了吗?

我首先决定您是否真的需要在驱动程序级别工作,通常这是内核级别。用户模式级别可能是您首先要查看的地方。使用 WinSpy 等工具或其他 Windows 调试工具来查找 消息 通过您的驱动程序软件和控制面板中的鼠标配置小程序传递。您可以使用名为的 Windows API 函数 发信息() 从用户模式将消息发送到应用程序。

设备驱动程序开发的第一站应该是 Windows DDK 文档OSR在线.

其他提示

我建议阅读此处提供的 synaptics 触摸板规格(笔记本电脑上安装的大多数触摸板都是 synaptics 的) http://www.synaptics.com/decaf/utilities/ACF126.pdf我相信您会在第 18 页找到您正在寻找的功能。至少你会知道会发生什么。

因此,触摸板驱动程序很可能会将来自用户模式的命令“转换”为此 PS/2 命令。

我不知道触摸板 PS/2 驱动程序的具体情况,但我看到用户模式面板与驱动程序通信的两种主要方式:- 更新注册表中的某些键(实际上这很常见) - 驱动程序提供了一个替代的“通道”,用户模式应用程序打开并将特定命令写入

在设置/重置该功能时,您可能需要尝试使用 sysinternals 中的进程监视器来记录注册表活动。至于选项 2,您可能想尝试 OSR 中的 IRP 跟踪器,看看面板和驱动程序之间是否有任何特定的通信(以来回 IRP 的形式)。在这种情况下,需要一定的内核编程知识。Windows 内核调试器也可能有助于查看 PS/2 驱动程序是否有某些备用通道。

看一下 IDA专业版 - 交互式反汇编程序。这是一个令人惊奇的反汇编程序。

如果您想要调试,而不仅仅是逆向工程,请尝试 PEBrowse Professional Interactive 中金软件

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top