I won't get deep on describing all of the facts, since that's what Wikipedia is good at: USB (universal serial bus) is an industry standard covering cables, connectors and protocols and is pretty ubiquitous among tech products these days.
Hardware: GreatFET, Facedancer 2.0, Daisho. This is long, has many sections, and time is precious: Where next? Device Emulation, USB over IP, etc. Commercial Hardware: TotalPhase BeagleUSB. Hardware: Beaglebone Black + USBProxy (~2013?). Hardware: SerialUSB / GIMX USB Adapter (~2015, ~US$5-35). Software: Wireshark, usbmon, USBPcap, VirtualBox, etc. USB Reverse Engineering: Further Reading. USB Reverse Engineering: An Introduction. Hopefully it will help to shortcut your own journey down this path, and enlighten you to a whole new area of interesting things to hack! Overview It seems the deeper I went, the more interesting I found the content, and this post grew and grew. Or put another way: how do I hack all of the USBs?!? This time around I was inspired to look into USB reverse engineering, protocol analyis, hardware hacking, and what would be involved in implementing custom drivers for arbitrary hardware. These 'linkdump' posts are an attempt to collate at least some of that state in a way that I can hopefully restore to my brain at a later point. I tend to dive down rabbit holes a lot, and given the cost of context switching and memory deteriorating over time, sometimes the state I build up in my mind gets lost between the chances I get to dive in. It would be great if you could also head over to Hacker News, give an upvote, and join in the comments there. Looks like Hackernoon picked it up as well, make sure to check in with the comments there too. Thanks for the featured writeup Hackaday! Make sure to check out the comments over there as well. USB Reverse Engineering: Down the rabbit hole Glenn 'devalias' Grant