Back To Schedule
Saturday, June 25 • 2:00pm - 3:00pm
The Art of Bit-Banging: Gaining Full Control of (Nearly) Any Bus Protocol

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Most buses have dedicated hardware that a system uses to communicate with attached devices. This hardware generates the appropriate waveforms to implement the bus' protocol. Bit-Banging is the set of techniques that allows one to generate these waveforms directly from software using little to no extra hardware.

Controlling these waveforms from software has many advantages:
-Protocol Violations - transmitting sequences on the bus that the hardware would not normally permit opens up a whole new vector for attacking a system.
-Monitoring - passively observe traffic going across a bus, good for reverse engineering, and debugging.
-Packet Injection/Suppression - waiting until a device sends a packet, stopping the packet in its tracks, writing your own in its place.
-Access Non-Standard Protocols - some devices use proprietary protocols for which there is no standard hardware to interface to it.

This paper presents the primitive operations used for bit-banging, introduces some of the common strategies involved, looks at some of the common pitfalls encountered, and gives an overview of some advanced techniques that can be used when software is not fast enough to meet the required protocol.


aaron waibel

For the last six years, Aaron has worked as a Development Engineer for Quintech Electronics. A great deal of his job is writing firmware and the applications that communicate with that firmware. Outside of work, he likes to write virtual machines, assemblers, and compilers, as well... Read More →

Saturday June 25, 2016 2:00pm - 3:00pm EDT
Back Patio