28C3 - Version 2.3.5

28th Chaos Communication Congress
Behind Enemy Lines

Speakers
Drew Fisher
Schedule
Day Day 2 - 2011-12-28
Room Saal 2
Start time 14:00
Duration 00:30
Info
ID 4847
Event type Lecture
Track Hacking
Language used for presentation English
Feedback

Reverse Engineering USB Devices

While USB devices often use standard device classes, some do not. This talk is about reverse engineering the protocols some of these devices use, how the underlying USB protocol gives us some help, and some interesting patterns to look for. I'll also detail the thought processes that went into reverse engineering the Kinect's audio protocol.

This talk will narrate the process of reverse engineering the Kinect audio protocol – analyzing a set of USB logs, finding patterns, building understanding, developing hypotheses of message structure, and eventually implementing a userspace driver.

I'll also cover how the USB standard can help a reverse engineer out, some common design ideas that I've seen, and ideas for the sorts of tools that could assist in completing this kind of task more efficiently.