Reverse Engineering RET Homepage RET Members Reverse Engineering Projects Reverse Engineering Papers Reversing Challenges Reverser Tools RET Re-Search Engine Reverse Engineering Forum Reverse Engineering Links

Go Back   Reverse Engineering Team Board > Reverse Engineering Board > Reverse Code Engineering
FAQ Members List Calendar Search Today's Posts Mark Forums Read

Thread Tools Display Modes
Old 12-22-2004, 01:38 PM
rous rous is offline
Join Date: Jan 2004
Posts: 38
Default Has anyone ever tried to read the USB Specification?

It's absolutely awful, but the Apple Documents insist on pointing me towards them--"For further information, consult the Universial Serial Bus Specification blah, blah." Anyway, I'm trying to fool this application into believing a generic USB device is actually a dongle. To do this, I need to isolate and replace the dongles device descriptors (as well as some other stuff) with the matching descriptors from my generic device. I have found the dongles vendorID, productID, IOUSBDeviceUserClientTypeID, and IOUSBDeviceInterfaceID, however there is one additional index, which I can't figure out...any ideas?


PS-I know I have not explained this well, however, I'm in a hurry right now...I'll write a better one when I return later today.
Reply With Quote
Old 12-22-2004, 10:53 PM
kw kw is offline
Join Date: Dec 2002
Location: The Netherlands
Posts: 116
Send a message via Yahoo to kw

I have to admit I'm entirely lost on this one
None of the areas are things I know about, maybe someone else has ideas

"It's people like this that make you realize how little you've accomplished. It is a sobering thought, for instance, that when Mozart was my age, he had been dead for two years." - Tom Lehrer
Reply With Quote
Old 12-24-2004, 02:24 AM
rous rous is offline
Join Date: Jan 2004
Posts: 38
Default :), even I donít understand what I was saying.

Apple calls its object-oriented (C++) framework for developing device drivers, appropriately, the I/O Kit. The I/O Kit API is powerful, it abstracts and reveals the capabilities of the kernel, as well as much of the underlying system hardware, to any application that calls it. Towards that end, all device drivers, or at least the ones defined in the I/O Kit classes, exhibit very similar basic mechanics.

To find a USB device, you must first identify the IOUSBObject that represents the device in the I/O Registry. This involves using keys defined in the Universal Serial Bus Common Class Specification to create a dictionary, which you may then match to the specific device you are looking for.

So, Iím trying to replace the dongle dictionary with, say, my printerís dictionary. The thought being that when the application checks for the presence of the dongle, it will find my printer and return true. Keep in mind, right now, Iím simply tring to get past the initial check.

I was wondering if anyone was familiar with USB devices because Iím having trouble finding the last key.


Reply With Quote
Old 12-27-2004, 03:24 AM
mortalis mortalis is offline
Join Date: Dec 2004
Posts: 5
Default Hey

You might want to check RFCs

I searched for USB and found allot of good information. Good luck and have fun!
Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.