Pergunta

Eu tenho um touchpad PS/2 para o qual gostaria de escrever um driver (sou apenas um cara da web, então este é um território desconhecido para mim).O touchpad vem com um driver do Windows XP, que aparentemente envia mensagens para ativar/desativar o toque para clicar.Estou tentando descobrir qual mensagem ele está enviando, mas não sei como começar.Um software como o "Syser Debugger" funcionaria?Quero interceptar mensagens enviadas para o barramento PS/2.

Foi útil?

Solução

IDA Pro não será muito útil se você quiser descobrir quais 'mensagens' estão sendo enviadas.Você deve perceber que este é um grande avanço para a maioria dos desenvolvedores web, mas você já sabia disso?

Eu começaria decidindo se você realmente precisa trabalhar no nível do driver, geralmente no nível do Kernel.O nível do modo de usuário pode ser onde você deseja olhar primeiro.Use uma ferramenta como o WinSpy ou outra ferramenta de depuração do Windows para descobrir o que mensagens estão sendo transmitidos pelo software do driver e pelo miniaplicativo de configuração do mouse no painel de controle.Você pode usar a função API do Windows chamada Enviar mensagem() para enviar suas mensagens para o aplicativo no modo de usuário.

Sua primeira parada para desenvolvimento de driver de dispositivo deve ser Documentos do Windows DDK e OSR on-line.

Outras dicas

Sugiro ler as especificações do touchpad synaptics (a maioria dos touchpads instalados em notebooks são synaptics) disponíveis aqui http://www.synaptics.com/decaf/utilities/ACF126.pdfAcredito que na página 18 você encontrará o recurso que procura.Pelo menos você saberá o que esperar.

Portanto, muito provavelmente, o driver do touchpad "converte" o comando vindo do modo de usuário para este comando PS/2.

Não conheço as especificações do driver PS/2 do touchpad, mas vejo duas maneiras principais de o painel do modo de usuário se comunicar com o driver:- Atualize alguma chave no registro (isso é realmente muito comum) - o driver fornece um "canal" alternativo que o aplicativo de modo do usuário abre e grava comandos específicos para

Você pode tentar usar o monitor de processo da sysinternals para registrar a atividade do registro ao configurar/redefinir o recurso.Quanto às opções 2, você pode tentar o rastreador IRP do OSR e ver se há alguma comunicação específica entre o painel e o driver (na forma ou IRPs indo e voltando).Neste caso, é necessário conhecimento de programação do kernel.O depurador do kernel do Windows também pode ser útil para verificar se o driver PS/2 possui algum canal alternativo.

Dê uma olhada em IDA Pro - O desmontador interativo.É um desmontador incrível.

Se você deseja depurar, não apenas fazer engenharia reversa, experimente PEBrowse Professional Interactive em SmidgeonSoft

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top