У меня есть тачпад PS/2, который я бы хотел написать для драйвера (я просто веб-парень, так что это незнакомая мне территория). Тачпад оснащен драйвером Windows XP, который, по-видимому, отправляет сообщения для включения/выключения нажатия на клик. Я пытаюсь выяснить, какое сообщение он отправляет, но я не уверен, как начать. Будет ли такое программное обеспечение, как «Syser Debugger»? Я хочу перехватить исходящие сообщения, отправляемые на шину PS/2.лучший инструмент для реверсирования драйвера сенсорной панели WinXP PS/2?
ответ
IDA Pro не будет много пользы для вас, если вы хотите узнать, что «сообщения» отправляются. Вы должны понимать, что это очень большой шаг для большинства веб-разработчиков, но вы уже это знали?
Начну с решения, действительно ли вам нужно работать на уровне водителя, часто это уровень ядра. Уровень пользовательского режима может быть таким, где вы хотите посмотреть в первую очередь. Используйте инструмент, такой как WinSpy или другой инструмент отладки Windows, чтобы узнать, что передают messages вашим программным обеспечением драйвера и апплет мыши в панели управления. Вы можете использовать функцию Windows API под названием SendMessage() для отправки сообщений в приложение из пользовательского режима.
Ваша первая остановка для разработки драйвера устройства должна быть Windows DDK docs и OSR Online.
Это не совсем так, как может показаться в этом случае, потому что у меня уже есть исходный код для драйвера, который работает с моей сенсорной панелью. Мне просто нужно изменить его, чтобы сообщить пэду об отключении «нажатия на клик», который, как представляется, обнаруживается в самом пэде. – username 2008-09-09 12:57:31
Посмотрите на IDA Pro - Интерактивный дизассемблер. Это потрясающий дизассемблер.
Если вы хотите отлаживать, а не просто перепроектировать, попробуйте PEBrowse Professional Interactive от SmidgeonSoft
Я предлагаю прочитать спецификации сенсорной панели synaptics (большинство сенсорных панелей, установленных на ноутбуках, являются синаптиками), доступные здесь http://www.synaptics.com/decaf/utilities/ACF126.pdf Я верю, что на странице 18 вы найдете функцию, которую вы ищете. По крайней мере, вы будете знать, чего ожидать.
Так что, скорее всего, драйвер тачпада «преобразует» команду, поступающую из пользовательского режима в эту команду PS/2.
Я не знаю специфики драйвера PS/2 для сенсорной панели, но я вижу два основных способа взаимодействия панели управления с драйвером: - обновите некоторые ключи в реестре (это на самом деле очень распространено) - драйвер предоставляет альтернативный «канал», который открывается приложением пользовательского режима, и записывает определенные команды в
Возможно, вы захотите попробовать использовать монитор процесса из sysinternals для регистрации активности реестра при настройке/сбросе функции. Что касается параметров 2, вы можете попробовать отследить IRP-трекер от OSR и посмотреть, нет ли какой-либо конкретной связи между панелью и драйвером (в форме или IRP, идущих туда и обратно). В этом случае требуется знание ядра программирования. Отладчик ядра Windows также может быть полезен, чтобы узнать, имеет ли драйвер PS/2 какой-то альтернативный канал.
Возможно, это не здорово, что я оставляю это здесь, поскольку это косвенно связано, но другие, читающие это, могут найти этот разговор на обратном инжиниринге * устройствам USB *, которые интересны: http://www.youtube.com/watch?v= jMf55KVDPaE – username 2012-01-04 20:38:33