Listen to what is read / write to a usb device

Started by
7 comments, last by nobodynews 14 years, 7 months ago
Is there a way to somehow listen to the information that is written / read from a usb device? I need it to reverse engineer a unkown but I think rather simple protocol.
http://3d.benjamin-thaut.de
Advertisement
What language? I think C/C++'s fstream is capable of reading serial ports, but USB is way more complex...

I've done research on this subject and it went way over my head, though I remember hearing that Linux's libusb, or something, is much simpler than any windows implementations.

EDIT:

Hey, I just found a win32 version :D

and an example


Apparently libusb-win32 is the way to go
It's a sofa! It's a camel! No! It's Super Llama!
The problem is not to read or write to a usb port. I want to hear what another app is reading / wirting to an ceration usb device so I can monitor those packets and reverse engineer the protocol which is needed for the usb device.
http://3d.benjamin-thaut.de
I believe libusb is capable of that as well, it's the only usb library I've been able to make sense of XD
It's a sofa! It's a camel! No! It's Super Llama!
I wrote an app to do this once. You need to write a file system filter driver. It's non-trivial.
http://sourceforge.net/projects/usbsnoop/

http://www.pcausa.com/Utilities/UsbSnoop/
Quote:Original post by Ingrater
The problem is not to read or write to a usb port. I want to hear what another app is reading / wirting to an ceration usb device so I can monitor those packets and reverse engineer the protocol which is needed for the usb device.


Aren't you really asking "what is the protocol for communication with device X"? Why assume that you have to do it the roundabout way?
Well then whats the protocll for communicating with the AlienFX controller build into each alienware laptop of the mx15 and mx17 series?
http://3d.benjamin-thaut.de
Do you have any more information than 'AlienFX controller'? I'm not sure what you mean by that. The keyboard? A mouse? a joystick? The motherboard?

Anyway, if Linux can run on that device then someone probably wrote an open source driver that would communicate with that device. And it seems like someone tried it on Linux so somewhere there may be a driver for it. But not knowing what the actual USB device you're looking at is, that's all I can find. Hope this helps.

C++: A Dialog | C++0x Features: Part1 (lambdas, auto, static_assert) , Part 2 (rvalue references) , Part 3 (decltype) | Write Games | Fix Your Timestep!

This topic is closed to new replies.

Advertisement