逆向工程WinXP PS/2触摸板驱动程序的最佳工具?

问题描述:

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

+0

可能并不酷,因为它只是间接相关的,所以我在这里离开这里,但其他读者可能会在逆向工程* USB *设备上找到这个话题:http://www.youtube.com/watch?v= jMf55KVDPaE – username 2012-01-04 20:38:33

IDA Pro的尝试PEBrowse专业互动将没有多大用处给你,如果你想找出正在发送的邮件。“你应该认识到这对于大多数Web开发人员来说是一个非常大的进步,但你已经知道了?

我会从决定是否真的需要在驱动程序级别工作开始,通常这是内核级别。用户模式级别可能是您想要首先查看的位置。使用像WinSpy或其他Windows调试工具这样的工具来找出驱动程序软件以及控制面板中的鼠标配置小程序正在传递什么messages。您可以使用称为SendMessage()的Windows API函数将消息从用户模式发送到应用程序。

设备驱动程序开发的第一站应该是Windows DDK docsOSR Online

+0

在这种情况下,它看起来并不像一个很大的步骤,因为我已经有一个与我的触摸板配合使用的驱动程序的源代码。我只需要修改它就可以告诉打击垫禁用“敲击 - 点击”,这似乎是在打击垫本身中检测到的。 – username 2008-09-09 12:57:31

看看IDA Pro - 交互式反编译器。这是一个惊人的反汇编。

如果你要调试,不只是反向工程,从SmidgeonSoft

我建议您阅读synaptics触控板规格(大多数安装在笔记本上的触控板都是synaptics)。http://www.synaptics.com/decaf/utilities/ACF126.pdf 我相信在第1​​8页上您会找到您要找的功能。至少你会知道会发生什么。

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

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

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