Domanda

Ho un touchpad PS/2 per il quale mi piacerebbe scrivere un driver (sono solo un ragazzo del web, quindi questo è un territorio sconosciuto per me).Il touchpad viene fornito con un driver per Windows XP, che apparentemente invia messaggi per abilitare/disabilitare il tocco per fare clic.Sto cercando di scoprire quale messaggio sta inviando ma non sono sicuro di come iniziare.Un software come "Syser Debugger" funzionerebbe?Voglio intercettare i messaggi in uscita inviati al bus PS/2.

È stato utile?

Soluzione

IDA Pro non ti sarà molto utile se vuoi scoprire quali "messaggi" vengono inviati.Dovresti capire che questo è un grande passo avanti per la maggior parte degli sviluppatori web, ma lo sapevi già?

Inizierei decidendo se è davvero necessario lavorare a livello di driver, spesso questo è il livello di kernel.Il livello della modalità utente potrebbe essere il punto in cui vuoi guardare per primo.Utilizza uno strumento come WinSpy o un altro strumento di debug di Windows per scoprire cosa messaggi vengono trasmessi dal software del driver e dall'applet di configurazione del mouse nel pannello di controllo.È possibile utilizzare la funzione API di Windows denominata Invia messaggio() per inviare i tuoi messaggi all'applicazione dalla modalità utente.

La prima tappa per lo sviluppo di driver di dispositivo dovrebbe essere il Documenti DDK di Windows E OSR in linea.

Altri suggerimenti

Suggerisco di leggere le specifiche del touchpad synaptics (la maggior parte dei touchpad installati sui notebook sono synaptics) disponibili qui http://www.synaptics.com/decaf/utilities/ACF126.pdfCredo che a pagina 18 troverai la funzionalità che stai cercando.Almeno saprai cosa aspettarti.

Quindi, molto probabilmente, il driver del touchpad "converte" il comando proveniente dalla modalità utente in questo comando PS/2.

Non conosco le specifiche del driver PS/2 del touchpad, ma vedo due modi principali in cui il pannello della modalità utente può comunicare con il driver:- Aggiorna alcune chiave nel registro (questo è in realtà molto comune) - Il driver fornisce un "canale" alternativo a cui l'app in modalità utente apre e scrive comandi specifici a

Potresti provare a utilizzare il monitoraggio del processo da sysinternals per registrare l'attività del registro durante l'impostazione/reimpostazione della funzionalità.Per quanto riguarda le opzioni 2 potresti provare il tracker IRP di OSR e vedere se c'è qualche comunicazione specifica tra il pannello e il driver (nel modulo o negli IRP che vanno avanti e indietro).In questo caso è in qualche modo necessaria la conoscenza della programmazione del kernel.Anche il debugger del kernel di Windows può essere utile per vedere se il driver PS/2 ha qualche canale alternativo.

Dai un'occhiata a IDA Pro - Il disassemblatore interattivo.È un disassemblatore straordinario.

Se desideri eseguire il debug, non solo il reverse engineering, prova PEBrowse Professional Interactive di SmidgeonSoft

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top