2008-09-09 3 views
1

나는 드라이버를 쓰고 싶은 PS/2 터치 패드를 가지고있다. (필자는이 사람이 낯선 영역이기 때문에 나는 단지 웹 사용자이다.) 터치 패드는 Windows XP 드라이버와 함께 제공됩니다.이 드라이버는 탭 클릭을 활성화/비활성화하는 메시지를 보냅니다. 나는 그것이 보내는 메시지를 찾으려고 노력하고 있지만 시작하는 방법을 모르겠습니다. "Syser Debugger"와 같은 소프트웨어가 작동합니까? PS/2 버스로 보내는 메시지를 가로 채고 싶습니다.WinXP PS/2 터치 패드 드라이버를 리버스 엔지니어링하는 데 가장 좋은 도구는 무엇입니까?

+0

간접적으로 만 관련되어 있기 때문에 여기에 남겨 두지 않을 수도 있습니다. 그러나 이것을 읽는 다른 사람들은 리버스 엔지니어링 * USB * 장치에 대한 이야기를 재미있게 볼 수 있습니다. http://www.youtube.com/watch?v= jMf55KVDPaE – username

답변

3

IDA 프로에서 PEBrowse 전문 대화를 시도, 리버스 엔지니어링하지, 디버깅합니다. 당신은 이것이 대부분의 웹 개발자에게 매우 큰 걸음을 내디뎠다는 것을 깨달아야합니다. 그러나 당신은 이미 그것을 알고 있었습니까?

필자는 실제로 드라이버 수준에서 작업해야하는지 결정하는 것으로 시작합니다. 종종 커널 수준입니다. 사용자 모드 수준은 사용자가 먼저보고 싶은 수준 일 수 있습니다. WinSpy 또는 다른 Windows 디버그 도구와 같은 도구를 사용하여 드라이버 소프트웨어에서 전달되는 messages과 제어판의 마우스 구성 애플릿을 찾으십시오. SendMessage()이라는 Windows API 함수를 사용하여 사용자 모드에서 응용 프로그램에 메시지를 보낼 수 있습니다.

장치 드라이버 개발을위한 첫 번째 중단 점은 Windows DDK docsOSR Online입니다.

+0

내 터치 패드에서 작동하는 드라이버의 소스 코드가 이미 있기 때문에이 단계에서 보일 수있는 큰 단계는 아닙니다. 패드를 감지하여 패드 자체에서 감지되는 것처럼 보이는 "탭하여 클릭"을 비활성화하도록 수정해야합니다. – username

0

IDA Pro - 대화 형 디스어셈블러를 살펴보십시오. 그것은 놀라운 disassembler입니다.

당신은 당신이 '메시지'전송되는 것을 발견 할 경우에 많이 사용되지 않습니다 SmidgeonSoft

1

시냅스 터치 패드 사양을 읽는 것이 좋습니다. (노트북에 설치된 대부분의 터치 패드는 시냅틱 스입니다.) http://www.synaptics.com/decaf/utilities/ACF126.pdf 나는 당신이 찾고있는 기능을 찾을 것입니다. 적어도 당신은 무엇을 기대해야하는지 알 것이다.

터치 패드 드라이버는 사용자 모드에서 나오는 명령을이 PS/2 명령으로 "변환"합니다.

터치 패드 PS/2 드라이버의 특성을 모르지만 사용자 모드 패널이 드라이버와 통신하는 두 가지 주요 방법을 볼 수 있습니다. - 레지스트리에서 일부 키를 업데이트합니다 (실제로는 매우 일반적입니다) - 드라이버가 사용자 모드 앱이 열리고 특정 명령을 쓰는 대체 "채널"을 제공합니다.

기능을 설정/재설정 할 때 sysinternals의 프로세스 모니터를 사용하여 레지스트리 활동을 기록하려고 할 수 있습니다. 옵션 2에 관해서는 OSR에서 IRP 추적기를 사용해보고 패널과 드라이버 (양식 또는 IRP가 앞뒤로 이동하는) 사이에 특정 통신이 있는지 확인할 수 있습니다. 이 경우, 커널 프로그래밍 지식이 어느 정도 필요합니다. Windows 커널 디버거는 PS/2 드라이버에 대체 채널이 있는지 확인하는 데 유용 할 수 있습니다.

관련 문제