Reference

Wiki

The reference for hardware hacking: the tools, the protocols, the hardware, and the concepts behind every course and lab. Look something up, then go break it.

All Hardware Software Protocols Concepts

Hardware

25
PCB Anatomy Hardware

The layered board that ties every chip together. Learn to read its traces, vias, pads, and silkscreen before you touch a probe, because the board itself is your first recon report.

FTDI FT232RL Hardware

The reference USB-to-UART bridge for reaching a device's TTL serial console. Turns a USB port into /dev/ttyUSB0 so you can read boot logs and drop into a bootloader or root shell.

SPI Flash (SOIC-8) Hardware

The small 8-pin chip that stores a device's firmware. Clip it or desolder it, dump the whole image over SPI, and you have the firmware offline with no network and no login.

CH341A Hardware

Cheap USB programmer that reads and writes 25-series SPI flash and 24-series I2C EEPROM chips. Paired with a SOIC-8 clip and flashrom, it dumps a device's firmware for a few euros.

SOIC-8 Clip Hardware

Spring-loaded test clip that grips the eight legs of a SOIC-8 chip so you can read an SPI flash or I2C EEPROM in-circuit, without desoldering it.

MCU vs SoC Hardware

Microcontroller or system-on-chip? The distinction decides where firmware lives, how you dump it, and which attacks are even on the table.

Logic Analyzer Hardware

Samples several digital lines at once and, with sigrok/PulseView, decodes them back into UART, SPI, and I2C bytes. Turns unlabelled test points into a readable transcript of the bus.

eFuse Hardware

One-time-programmable bits blown into silicon. They store keys and set irreversible policy: Secure Boot, Flash Encryption, JTAG disable, download-mode locks. Reading the fuse map tells you which doors are still open.

Multimeter Hardware

Measures voltage, continuity, and resistance. On the hardware bench it is how you map an unknown header and confirm logic levels before you ever connect an adapter.

JTAG/SWD Pads Hardware

The hardware debug ports. If left enabled they give full halt, single-step, and memory read/write access to the CPU core, enough to dump internal flash and read keys live.

ESP32 Hardware

Espressif Wi-Fi/BLE SoC family. Boots from external flash, stores secrets in NVS, and ships with Secure Boot, Flash Encryption, and eFuses that are usually left off.

UART Header Hardware

A serial interface (TX/RX/GND) on a PCB that frequently exposes a device's debug console, boot log, or even an unauthenticated root shell, just three pins away.

Chip Packages (SOIC, QFN, BGA) Hardware

How a chip is mounted decides whether you clip it, hot-air it, or reball it. Reading the package sets your whole toolchain before you attempt to dump or probe the part.

EEPROM Hardware

Small non-volatile memory holding config, calibration, serials and sometimes secrets. Usually a tiny 8-pin I2C 24-series part, trivial to read in-circuit and to diff for stored fields.

Oscillator & Crystal Hardware

The clock source that paces the chip. A passive crystal or an active oscillator sets the beat every instruction marches to, which makes it a prime target for glitching and fault injection.

Bus Pirate Hardware

A pocket, USB-driven multi-protocol interface. Speaks SPI, I2C, UART, 1-Wire and more from a serial terminal, so one board can probe, sniff, and dump unknown chips.

RTL-SDR Hardware

The cheap USB dongle that turned a TV tuner chip into a wideband SDR receiver. RX only, roughly 24 to 1766 MHz, and the standard entry point into radio hacking.

USB-UART Adapter Hardware

A small USB dongle built around a bridge chip (FT232, CP2102, CH340) that turns a target's TX/RX/GND pins into a /dev/ttyUSB port, the standard way to reach a device's serial console.

USB-CAN Adapter Hardware

A USB interface carrying a real CAN controller and transceiver, so a Linux SocketCAN network device (can0) can sniff, decode and inject frames on a vehicle or industrial CAN bus.

JTAG/SWD Debug Probe Hardware

The USB adapter that drives a target's JTAG or SWD port so a host tool like OpenOCD can halt the CPU, read and write memory, and dump internal flash without running any of the target's own software.

CC1101 Hardware

A Texas Instruments sub-1 GHz transceiver chip, SPI-controlled and register-configured, that both receives and transmits OOK/ASK and FSK packets, which is why it sits inside remotes, sensors, the YARD Stick One and the Flipper Zero.

Flipper Zero Hardware

A pocket multi-tool that packs a sub-GHz CC1101 radio, 13.56 MHz and 125 kHz RFID, infrared, 1-Wire/iButton, BLE, USB HID and a GPIO header into one battery-powered device, convenient for field capture and replay but weaker than dedicated gear at every single one of those jobs.

nRF52840 Dongle Hardware

A cheap Nordic nRF52840 USB stick (PCA10059) that, once flashed with the right firmware, becomes a BLE or 802.15.4 sniffer feeding live packets into Wireshark, or a fully scriptable 2.4 GHz radio you program yourself.

Antenna Hardware

The transition between a wave guided in a cable and a wave travelling in space. Its length follows the wavelength, its gain is redistribution rather than amplification, and it is the cheapest variable in every capture that fails.

ChipWhisperer Hardware

An open-source capture and glitch platform for side-channel and fault-injection work, built around owning the target's clock so power traces line up sample for sample and a glitch can be aimed at a chosen clock cycle instead of a chosen microsecond.

Software

19
Ghidra Software

NSA's open-source reverse-engineering suite. Disassembles and decompiles firmware for almost any CPU into readable C-like pseudocode.

binwalk Software

Firmware triage tool. Scans a flash dump for known signatures, maps where the bootloader, kernel and filesystem live, and carves them out into a browsable tree.

flashrom Software

Reads, writes and verifies SPI/LPC/parallel flash chips through a programmer like the CH341A, an FTDI adapter or a Bus Pirate. The standard tool for out-of-band firmware extraction.

esptool.py Software

Espressif's official flashing tool. Talks to the ESP32/ESP8266 serial bootloader over UART to identify the chip and read, write, or erase its flash, no desoldering needed.

mosquitto Software

The reference MQTT broker, shipped with the mosquitto_sub / mosquitto_pub CLI clients that are the standard way to test and attack a broker.

espefuse.py Software

Espressif's eFuse tool. Reads and permanently burns the one-time-programmable bits that control Secure Boot, Flash Encryption and JTAG on ESP32 chips. Reading is safe; burning is forever.

sigrok / PulseView Software

Open-source logic-analyser stack: capture digital signals with sigrok-cli or PulseView, then decode the edges into UART, SPI, I2C, or JTAG bytes.

nmap Software

The standard network scanner. Beyond port discovery, its NSE scripting engine fingerprints and probes IoT and OT services like Modbus, MQTT, DNP3 and BACnet.

Wireshark Software

The standard network protocol analyser. Captures live or from a file and dissects hundreds of protocols field by field, including industrial ones like Modbus/TCP, DNP3 and EtherNet/IP.

pymodbus Software

Python library for Modbus TCP and RTU: script reads and writes against PLC and RTU registers and coils from your own machine.

mitmproxy Software

Interactive TLS-intercepting proxy. Sits between a device and its cloud backend to inspect, replay and rewrite encrypted API traffic, scriptable for automation.

can-utils Software

Linux SocketCAN command-line toolkit: bring up an interface, sniff, dump, replay, and inject CAN bus frames against ECUs and industrial gear.

OpenOCD Software

Open On-Chip Debugger: bridge a JTAG/SWD probe to GDB and a Telnet console to halt an MCU, read its memory and flash, and step through code.

radare2 Software

Scriptable command-line reverse-engineering framework. Opens any blob at any base address to analyse, debug, and patch firmware, with a visual graph and the Cutter GUI.

probe Software

One CLI and library for the physical layer (radio and wired buses). The same commands drive a virtual lab target and real hardware.

picocom & screen Software

Minimal serial terminal emulators to reach a device's UART console: your first interactive window into a target's bootloader and shell.

emon Software

Espilon's universal serial monitor for embedded devices: watch multiple ports at once, detect crashes by pattern, bridge a PTY without resetting the target, and stream JSON for CI.

QEMU Software

Machine emulator that runs foreign-architecture binaries and full firmware images, so you can execute and debug embedded code without the physical device.

rtl_433 Software

The decoder for the 433/868/915 MHz sensor world. It reads a live SDR or a recorded IQ file, slices bursts into bits, runs 200-odd device decoders over them, and when none of them fits it tells you the pulse timings so you can write your own.

Protocols

43
UART Protocols

Two-wire async serial link (TX/RX), the number-one hardware entry point on a board and often a direct root shell.

SPI Protocols

Fast four-wire synchronous bus. The standard way to clip onto an external flash chip and dump the firmware whole.

I2C Protocols

Two-wire addressable bus (SDA/SCL). Configuration EEPROMs, sensors, and RTCs hang off it, and the EEPROM often holds the secrets.

JTAG & SWD Protocols

On-chip debug interfaces. Halt the CPU, read and write RAM and flash directly, and defeat readout protection.

CAN Bus Protocols

Differential two-wire vehicle and industrial bus. Frames are broadcast with no addressing and no authentication, so one tap reads and spoofs everything.

Modbus Protocols

Legacy industrial request/response protocol for PLCs and RTUs. Plaintext, unauthenticated, and on TCP port 502 the only barrier is network reachability.

MQTT Protocols

Lightweight IoT pub/sub messaging: often anonymous, leaking telemetry and accepting commands.

Bluetooth Low Energy (BLE) Protocols

Low-power 2.4GHz wireless built on GATT: services and characteristics for wearables, locks, and beacons.

BLE Advertising Protocols

The connectionless broadcast layer of BLE: short length-prefixed packets a device repeats on three channels, and everything a scanner can learn about it before any connection exists.

ATT (Attribute Protocol) Protocols

The BLE wire protocol underneath GATT: every read, write, and notification is one small PDU addressed to a numeric attribute handle.

GATT (Generic Attribute Profile) Protocols

The BLE data model layered on ATT: services group characteristics, characteristics hold values and properties, and all of it is just named rows in the attribute table.

BLE Replay Protocols

Capturing BLE traffic and sending it again, which works cleanly on unencrypted advertising and on static command writes, and fails outright once the link is encrypted or the command carries any freshness.

BLE MITM Protocols

Sitting between a BLE central and a peripheral by advertising a clone of the target and forwarding every GATT operation, which requires winning the victim's connection and is defeated only by a pairing model somebody actually verifies.

Wi-Fi (802.11) Protocols

Wireless LAN standard: capture handshakes, crack keys, and stand up rogue APs.

mDNS Protocols

Zero-config LAN name resolution: enumerate and spoof local services on .local.

SSDP & UPnP Protocols

Plug-and-play device discovery: exposes SOAP control endpoints and port-mapping abuse.

USB Protocols

Host-controlled bus where a device declares what it is through descriptors. The host trusts those claims, which is the whole attack surface.

1-Wire Protocols

Single-data-line bus where every device carries a unique 64-bit ROM ID. iButton access tokens trust that ID, so cloning it clones the key.

Zigbee Protocols

Low-power 802.15.4 mesh for the smart home: sniffable, with weak default key provisioning.

LoRa Protocols

Long-range sub-GHz chirp radio: sniffable, with replayable and mis-keyed LoRaWAN joins.

OPC-UA Protocols

The modern secure-by-design industrial protocol (IEC 62541). The stack is strong; the field deployments turn the awkward parts off, so a None endpoint and a trust-any cert list undo all of it.

DNP3 Protocols

The SCADA protocol of electric and water utilities (IEEE 1815). Master and outstation, points and objects, and on TCP port 20000 the base protocol has no authentication at all.

S7comm Protocols

Siemens' proprietary PLC protocol for the S7 family, carried over ISO-on-TCP on port 102. Legacy S7comm is unauthenticated; read a data block, write a merker, stop the CPU.

SCADA / HMI Protocols

The supervisory layer that lets humans watch and steer a plant. The HMI is the most internet-exposed part of OT, and a screen that lies to the operator is a safety hazard, not just a data leak.

Z-Wave Protocols

Sub-GHz smart-home mesh. The cipher is AES-128; the break is the key bootstrap. S0 hands the network key out under an all-zero key during inclusion and has no anti-replay.

LoRaWAN Protocols

The network and security layer above LoRa. Two AES-128 keys stand in for TLS, so LoRaWAN security is a key-management problem: reused AppKeys, static ABP keys, and replayable joins.

RFID & NFC Protocols

Contactless cards and tags powered by the reader's field. LF (125 kHz) is often plain-ID and clonable; HF (13.56 MHz) carries NFC and real crypto, some of it broken.

OBD-II Protocols

The legally mandated diagnostic socket every road vehicle carries, and the small set of standard PIDs behind it. A guaranteed way in, and a deliberately narrow one.

MIFARE Classic Protocols

The 13.56 MHz card behind a generation of transit and access systems. Its proprietary CRYPTO1 cipher is broken, so keys fall to nested, darkside, and reuse attacks and the card is dumped and cloned.

UDS (ISO 14229) Protocols

The diagnostic language an ECU speaks over CAN. One-byte service ids, a positive response that echoes the service plus 0x40, and a negative response whose reason code tells you exactly which gate refused you.

ISO-TP (ISO 15765-2) Protocols

The transport layer that carries messages longer than 8 bytes over CAN. A one or two byte header per frame, a sequence counter, and a flow control frame the receiver must send or the transfer dies after the first frame.

TPMS Protocols

Tyre pressure sensors that broadcast an unauthenticated sub-GHz packet every time the wheel turns. The packet carries a unique sensor id that never changes, which makes a safety feature into a per-vehicle tracking beacon.

CCSDS Space Packet and Transfer Frames Protocols

The layered framing almost every spacecraft link runs: Space Packets carried inside Transfer Frames carried inside coded blocks. Read a downlink, or forge an uplink, and these are the headers you parse first.

GNSS signals and the navigation message Protocols

GPS, Galileo, GLONASS and BeiDou: how a satellite broadcasts a ranging code plus a navigation message, and why that message is a plain unsigned broadcast that anyone in range can imitate.

OSNMA and TESLA key chains Protocols

Galileo Open Service Navigation Message Authentication: how a 20 bit/s side channel and a hash chain disclosed on a delay let a billion receivers verify a broadcast none of them can hold a key for.

AIS (Automatic Identification System) Protocols

The VHF broadcast every large ship is required to transmit: identity, position, course and speed, in HDLC frames over a self-organising TDMA, with no authentication of any kind.

APT (NOAA weather-satellite downlink) Protocols

Automatic Picture Transmission: an analogue 137 MHz downlink where the picture is the loudness of a 2400 Hz tone. No packets, no checksum, no coding, and a decoder you can write in the standard library.

BLE Privacy and Address Resolution Protocols

The rotating-address scheme that stops a BLE device being tracked by its MAC, and the one 128-bit key that turns every rotation back into a single identity.

ZCL (Zigbee Cluster Library) Protocols

The application language every Zigbee device speaks: clusters, attributes and commands, carried in a three-byte frame.

BLE Link Layer Encryption Protocols

How a BLE connection actually protects its payloads: AES-CCM under a session key derived at LL_ENC_REQ time, with a nonce built from a packet counter that never travels on the air.

Touchlink (Zigbee Light Link) Protocols

Proximity commissioning for Zigbee lighting: hands the network key over the air, wrapped in a key the specification publishes.

BLE Pairing (SMP) Protocols

The Security Manager exchange that turns an open BLE connection into an encrypted, optionally authenticated one, and why its legacy half falls to an offline brute force in seconds.

Bluetooth HCI Protocols

The interface between a Bluetooth host stack and its controller, and the capture format that makes it the most useful place to record Bluetooth traffic.

Concepts

37
Firmware Concepts

The software baked into a device's flash. Extract it and you can audit the whole device offline, which is why it is the prize of most hardware hacks.

Bootloader Concepts

The first code to run after reset. It brings up the chip and hands control to the OS, which makes it the root of the boot chain and a prime place to break or enforce trust.

Entropy Concepts

A measure of how random data is, from 0 to 8 bits per byte. Plotted across a firmware image it reveals compression, encryption, and where interesting regions begin.

Secure Boot Concepts

Each boot stage cryptographically verifies the next before running it, anchored in an immutable root of trust, so only vendor-signed firmware runs.

SquashFS Concepts

Compressed, read-only Linux filesystem. The standard way IoT firmware packs its root filesystem, and almost always what you unpack after a carve.

Flash Encryption Concepts

Flash contents are stored encrypted under a key held on-die, so a raw chip dump yields only ciphertext. It closes the offline read that Secure Boot does not.

Root Filesystem (rootfs) Concepts

The filesystem mounted at / on a Linux device. Carve it out of the firmware and you have the whole userland on disk: binaries, configs, and secrets.

ELF Format Concepts

The container for Linux executables and libraries. Its header tells you the CPU, endianness, and linking, everything you need before opening a disassembler.

Hardcoded Secrets Concepts

Keys, passwords, certificates, and tokens baked into firmware instead of provisioned at runtime. Static, fleet-wide, and often found with a single grep.

IoT Attack Surface Concepts

The full set of entry points a connected device exposes across hardware, firmware, network, radio, and cloud. Unlike a server, it is attackable from many angles at once.

NVS (ESP32) Concepts

ESP-IDF's key-value store in a dedicated flash partition, where Wi-Fi credentials, tokens, and config persist across reboots, plaintext unless encryption is explicitly enabled.

Partition Table Concepts

The map of a flash chip. It tells you where the bootloader, app, OTA slots, and secret-bearing data partitions like NVS begin and end.

Replay Attack Concepts

Capture a valid transmission and re-send it to trigger the same action, without ever decrypting it. The default weakness of any system that authenticates by static command.

MAC Randomization Concepts

A privacy feature where a device probes or advertises from a random, locally-administered MAC instead of its real burned-in one, to resist passive tracking over Wi-Fi and BLE.

Side-Channel Attack Concepts

Recovering secrets from physical leakage, power, timing, EM, or induced faults, rather than by breaking the algorithm. The reason a mathematically sound cipher can still surrender its key.

Software-Defined Radio (SDR) Concepts

A radio whose tuning, demodulation, and decoding happen in software on raw IQ samples, so one piece of hardware can receive (and sometimes transmit) almost any protocol you can describe.

Decibel (dB, dBm, dBi) Concepts

The logarithmic unit every RF number is quoted in. A dB is a pure ratio, a dBm is an absolute power referenced to one milliwatt, a dBi is an antenna gain referenced to an isotropic radiator, and confusing the three is the classic beginner error.

Link Budget Concepts

One column of additions in decibels that decides whether a radio link works. Transmit power plus gains minus losses gives the level at the receiver; compare it to what the receiver needs and the difference is the margin.

Modulation (ASK, FSK, PSK) Concepts

A carrier is a featureless sine wave until you disturb it, and there are exactly three things you can disturb: amplitude, frequency, and phase. Every scheme from a garage remote to a satellite downlink is one of those three or a mix.

Nyquist and Aliasing Concepts

Sampling turns a wave into numbers, and it has one hard rule: anything above half the sample rate folds back and lies to you. The same folding, used on purpose, is how a receiver digitises a band far above its converter rate.

Forward Error Correction (FEC) Concepts

Adding structured redundancy at the transmitter so the receiver can repair damage alone, with nothing to ask again. The reason a deep-space downlink, a broadcast, or a capture you recorded yesterday can survive a channel that corrupts bits.

Reed-Solomon codes Concepts

The block code that repairs a noisy link by charging per corrupted symbol rather than per corrupted bit. Ubiquitous on space downlinks, and a silent failure the moment your decoder's field does not match the encoder's.

Convolutional codes and Viterbi decoding Concepts

The inner code of almost every legacy space link: a shift register that spreads each input bit across several output bits, and a decoder that finds the single most likely transmitted sequence rather than judging bits one at a time.

Time Difference of Arrival (TDOA) Concepts

Locating a transmitter from how much later its signal reaches one receiver than another. Each pair of synchronised receivers gives one hyperbola, and the crossing of several hyperbolas is the fix.

Power Analysis Concepts

Recovering a key from how much current a chip draws while it uses it. Statistics turn a noisy measurement into one key byte at a time, which is why 16 bytes cost 4096 guesses instead of 2 to the 128.

Differential Fault Analysis Concepts

Encrypt the same plaintext twice, once correctly and once with a fault, then read the key out of the difference between the two ciphertexts. The active counterpart to power analysis, and on AES it takes a handful of faults, not thousands of traces.

HMAC Concepts

A keyed hash that proves a message came from someone holding the key and was not altered on the way. Its odd nested shape exists to kill length extension, and its verification must be constant-time or the tag leaks a byte at a time.

Key Derivation Concepts

Turning something you have, a password or an existing secret, into a key of the right size and strength. Password KDFs are slow on purpose and salted per user; key-based KDFs are fast and exist to separate one secret into many.

Data whitening Concepts

A fixed pseudo-random sequence XORed over a radio frame before it is keyed, so long runs of identical bytes do not put a spike in the spectrum. It is a spectral tool, not a secret, and undoing it is a lookup, not an attack.

Zigbee install code Concepts

The per-device secret printed on a Zigbee 3.0 label, and the unique link key a coordinator derives from it instead of the well-known default.

Keystream Reuse Concepts

What happens when a stream cipher encrypts two different messages under the same key and nonce: the key cancels out and the two plaintexts are left XORed with each other.

CRC Concepts

A cyclic redundancy check: a few bytes of polynomial arithmetic appended to a frame so a receiver can spot corruption. For an analyst it is the single best oracle there is, because it tells you your decode is right without anyone confirming it.

Raw Bitmap Concepts

Pixel data with no header: a flat run of bytes whose meaning depends entirely on a width, a bit depth and a bit order that live somewhere else, usually in the firmware.

CAN Arbitration and Frame Timing Concepts

Why a CAN frame is never early and often late. Priority arbitration, bit stuffing and cycle time turn the timestamp column of a capture into evidence in its own right.

Clock Skew Fingerprinting Concepts

Every transmitter runs on its own crystal, and no two crystals agree. Measuring that disagreement from arrival timestamps attributes traffic to a physical device that carries no identity of its own.

Covert Timing Channel Concepts

Information carried by when a message is sent rather than what it contains. Every payload passes inspection, and the message is in the gaps.

DBC and CAN Signal Reverse Engineering Concepts

The file that turns eight opaque octets into named physical quantities, and what to do on the overwhelming majority of vehicles where nobody will give you one.