Frage

Ich habe ein PS/2-Touchpad, für das ich gerne einen Treiber schreiben würde (ich bin nur ein Web-Typ, daher ist das für mich Neuland).Das Touchpad wird mit einem Windows XP-Treiber geliefert, der offenbar Meldungen zum Aktivieren/Deaktivieren von Tap-to-Click sendet.Ich versuche herauszufinden, welche Nachricht gesendet wird, bin mir aber nicht sicher, wie ich anfangen soll.Würde Software wie „Syser Debugger“ funktionieren?Ich möchte ausgehende Nachrichten abfangen, die an den PS/2-Bus gesendet werden.

War es hilfreich?

Lösung

IDA Pro wird Ihnen nicht viel nützen, wenn Sie herausfinden möchten, welche „Nachrichten“ gesendet werden.Sie sollten sich darüber im Klaren sein, dass dies für die meisten Webentwickler ein sehr großer Fortschritt ist, aber wussten Sie das bereits?

Ich würde damit beginnen, zu entscheiden, ob Sie wirklich auf Treiberebene arbeiten müssen, oft ist dies die Kernel-Ebene.Möglicherweise möchten Sie zuerst auf der Ebene des Benutzermodus nachsehen.Verwenden Sie ein Tool wie WinSpy oder ein anderes Windows-Debug-Tool, um herauszufinden, was passiert Mitteilungen werden von Ihrer Treibersoftware und dem Mauskonfigurations-Applet in der Systemsteuerung herumgereicht.Sie können die aufgerufene Windows-API-Funktion verwenden Nachricht senden() um Ihre Nachrichten aus dem Benutzermodus an die Anwendung zu senden.

Ihre erste Anlaufstelle für die Entwicklung von Gerätetreibern sollte sein Windows DDK-Dokumente Und OSR Online.

Andere Tipps

Ich schlage vor, die hier verfügbaren Synaptics-Touchpad-Spezifikationen (die meisten auf Notebooks installierten Touchpads sind Synaptics-Touchpads) zu lesen http://www.synaptics.com/decaf/utilities/ACF126.pdfIch glaube, auf Seite 18 finden Sie die Funktion, die Sie suchen.Zumindest wissen Sie, was Sie erwartet.

Es ist also sehr wahrscheinlich, dass der Touchpad-Treiber den vom Benutzermodus kommenden Befehl in diesen PS/2-Befehl „konvertiert“.

Ich kenne die Besonderheiten des Touchpad-PS/2-Treibers nicht, sehe aber zwei Hauptmöglichkeiten für die Kommunikation des Benutzermodus-Panels mit dem Treiber:- Aktualisieren Sie einen Schlüssel in der Registrierung (dies ist tatsächlich sehr häufig) - Der Treiber bietet einen alternativen "Kanal", den die Benutzermodus -App öffnet und spezifische Befehle schreibt

Möglicherweise möchten Sie versuchen, den Prozessmonitor von sysinternals zu verwenden, um Registrierungsaktivitäten beim Festlegen/Zurücksetzen der Funktion zu protokollieren.Was die Option 2 betrifft, möchten Sie vielleicht den IRP-Tracker von OSR ausprobieren und sehen, ob es eine spezifische Kommunikation zwischen dem Panel und dem Treiber gibt (in Form von hin- und hergehenden IRPs).In diesem Fall sind gewisse Kernel-Programmierkenntnisse erforderlich.Der Windows-Kernel-Debugger kann auch nützlich sein, um festzustellen, ob der PS/2-Treiber über einen alternativen Kanal verfügt.

Schauen Sie mal rein IDA Pro - Der interaktive Disassembler.Es ist ein erstaunlicher Disassembler.

Wenn Sie debuggen und nicht nur ein Reverse Engineering durchführen möchten, probieren Sie PEBrowse Professional Interactive von aus SmidgeonSoft

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top