Star on GitHubStar2.4k stars

THE REVERSE ENGINEERING COLLECTION

Reverse-engineering case studies

Page 19 of 21, cases 3,601–3,800. 4,025 case studies from 5,191 curated resources, with documented reconstruction methods, scope, and original evidence.

Software reconstruction artifact reviews

Review artifacts from REA workflows and independent reconstructions. Each entry retains its original sources and known limits.

Reconstruction scope
Implemented features, known gaps and required original assets.
Available artifacts
Original code, releases or demos.
Evidence and attribution
Pinned sources, review dates and documented REA roles.
About these cases

Each case appears once under its primary subject, with all its target labels.

Cases 3,601–3,800 of 4,025

Protocols

645 cases

All sections

ebkn-m61-protocol documents communication with EBKN and Realand BioFace M61 biometric access terminals and supplies a Python reference listener. Its specifications cover WebSocket with XML messages, FkWeb HTTP posts with JSON, and raw TCP XML streaming, including attendance events and supported command exchanges.

Divoom Times Frame research maps parts of the photo frame's cloud and local HTTP command interfaces and provides Python probes for login, photo listing, file upload and local display control. The author reports that the command binding an uploaded photo to the frame remains unknown; RongCloud messaging is a hypothesis.

jl-dv-viewer reconstructs the local streaming exchange of Jieli-DV-style Wi-Fi rearview and dash cameras in a Kotlin Android viewer. It sends length-prefixed CTP control messages over TCP, reassembles custom UDP chunks into MJPEG frames, and documents the command vocabulary and frame format. The app also offers crop, rotation and reconnection controls.

picoscope-libusb reconstructs PicoScope 2204A USB control from SDK traces and device experiments. Its protocol notes document endpoints, command framing, firmware upload, capture modes, and waveform transfers; a C libusb driver exposes these functions to a Wails desktop GUI and an Android JNI library. Firmware blobs must be extracted from the user's own device.

pyPredator reconstructs RGB control for the Acer Predator PH18-73 keyboard from PredatorSense USB captures. Its Python program streams 128 main-key and 16 WASD-zone pixels through documented USB control and bulk packets at 30 Hz, with a Tk GUI for effects. Ring, logo and underglow control delegates to a separate CLI submodule.

The Claude Code inbox-socket project documents the internal session messaging protocol carried over a Unix socket or Windows named pipe. It describes JSON-line frames, transport, receipts and delivery behavior, and supplies client examples and conformance checks against installed Claude Code versions.

Fujitsu FGL Type A Bus Protocol reconstructs BWR wired-remote messages of an older Fujitsu/General air conditioner from logic-analyzer captures. Its specification records 500-baud 8E1 framing, heartbeat and command frames, and temperature and fan encoding; Python tools decode stored captures or sniff the bus live.

alpha1s reconstructs the UBTECH Alpha 1S robot's Bluetooth control link as a Python SDK for telemetry, servo movement and stored actions. Its protocol layer documents FB BF frame headers, length and checksum fields, RFCOMM channel 6, a 16-servo command and optional BLE transport, with examples and tests against captured frames.

Daybreak rebuilds COLMI R09 smart-ring communication in an offline Android client. Its Kotlin protocol module handles 16-byte commands and checksum validation, reassembles multi-packet sleep records, and processes heart-rate logs, steps and SpO2 data; the app computes local sleep, recovery and activity scores from the readings.

USB-Endoscope reconstructs the i4season Usee Plus endoscope’s vendor USB video protocol in a local WebUSB viewer. The author traced the Android app’s USBDEVFS calls with Frida and documented two stream-start control transfers followed by YUYV422 frames from bulk endpoint 0x82. The application displays live video and saves photos or recordings.

NameLand reconstructs serial printing for the Casio KL-A45 label printer from communication observed between the device and Casio's Windows XP software. Its Python program sends arbitrary text as QR codes through a USB-to-serial cable with a 2.5 mm TRS connection. The README describes the cable wiring and notes that other printer models may need code changes.

dh360d reconstructs the Darkflash DH360D cooler LCD's serial protocol from traffic captured between the hardware and its Windows Electron app. Its Python Linux driver sends CPU temperature, pump speed, CPU use and RAM use through a CH340 USB-to-UART link. The protocol notes specify the 115200-baud framing, handshake, status fields and device acknowledgments.

The Kosmos CP1 toolchain reconstructs the CP2 cassette interface from a digitized real save and implements Python WAV encoding and decoding. Its documentation specifies FSK carriers, bit timing, byte order and the 256-cell memory image. An assembler and emulator support writing and tracing CP1 programs; the author reports a byte-exact encoding round trip.

pb40-bluetooth reconstructs the ISDT PB40/LIMETA EB40 power bank's BLE advertisement and GATT protocol from LiMeta app analysis and device captures. Its Home Assistant integration reads charge state without connecting, polls power and energy through GATT, and exposes a find-device command and reported settings.

Jacuzzi JB1HL Panel-Link Protocol documents the RS-485 messages between a Jacuzzi J185 hot tub's topside panel and I/O board. It identifies 38400 8N1 framing, a 34-byte poll-response burst, command bits and a checksum, then supplies an offline decoder and an ESPHome monitor for water temperature and pump or heater state.

Crypto Kakadu Alternative reconstructs the Crypto Kakadu password manager's serial database transfer and .kkd backup format from analysis of its Java manager and device behavior. Four PureBasic utilities read and upload device databases and convert between JSON and AES-encrypted .kkd files; protocol notes record commands, row layouts and encryption details.

Ideal Clima Nemo 1000 local control replaces its Wi-Fi module with an ESP32-C3 on the CN2 connector and speaks the documented Tuya MCU UART exchange. The implementation exposes power, setpoint, mode and fan control through ESPHome or MQTT, with Python tools for passive frame decoding and bench commands.

Windows-Switch2-Pro-Controller reconstructs the Switch 2 Pro Controller's USB wake and HID report behavior in a Windows bridge. It parses button and stick reports, forwards input through ViGEmBus as an Xbox 360 pad, and relays rumble back to the controller; an optional BLE path is also described.

cyberboard-cli reconstructs the AngryMiao CyberBoard R4 configuration protocol used by AM Master. Its CLI reads keymaps and writes keymap and LED configuration through USB CDC serial frames, with protocol notes describing 64-byte framing and CRC-8. The author reports hardware-tested writes and keymap reads; per-key LED authoring remains unfinished.

gm1356-recordings implements a Python client for live readings and stored logs from the Benetech GM1356 sound level meter. Its protocol notes describe eight-byte USB-HID reports, the 0xB5 import handshake, 0xC4 pull loop and packed recording samples. The author reports comparing decoded recordings with data on the device.

AstralPool Halo Cloud reconstructs cloud control of Halo chlorinators as a Home Assistant integration. BLE onboarding retrieves device-generated credentials, after which a client uses the vendor WebSocket relay and parsed device messages for telemetry and control. The security notes document authentication values extracted from the official app binary.

tinyscreen implements a Linux client for ArtInChip USB bar displays using a reconstructed device protocol. It performs the display's two-phase RSA challenge-response exchange and sends JPEG frames with 20-byte headers over USB bulk transfers. The client can present dashboards, video, web pages or an EVDI virtual monitor.

Panavox PSS-12 INV reconstructs control of a split air conditioner through its W950 UART connector. The C++ library builds command frames, handles acknowledgments and periodic status requests, and parses 150-byte status responses; a companion specification records frame layout and commands refined through physical-unit testing.

The WB-SG1-8G project documents the BG7TBL signal generator's serial protocol and implements a browser controller over Web Serial. Its protocol notes specify connection settings, $X...* command framing, frequency and sweep commands, hardware toggles and observed replies. The page controls both output channels and monitors received and transmitted traffic.

monclub-bot reconstructs MonClub app booking exchanges from intercepted HTTPS traffic. Its research notes document two-step authentication, request identifiers and endpoints for listing sessions, booking and cancellation. A Rust CLI and Discord bot use the recovered exchanges to manage reservations and export upcoming sessions.

glow-linux reconstructs the Spacetronik Glow Three 27V LED controller's USB serial exchange from captured traffic. It documents the CH340 initialization sequence and AA 55 framed handshake, color and heartbeat messages, then uses pyusb for Linux lighting control and PipeWire screen capture for ambient color sync.

KeyMission 360 Tools documents and implements USB PTP control of the Nikon KeyMission 360, including the FormatStore command for its SD card. Its protocol research records USB endpoints, PTP container layouts and command responses. The Linux toolkit also provides camera information, downloads, time sync and media controls.

Falmec Nuvola 90 remote research reconstructs the range hood's 433 MHz OOK control messages from captured signals. The documented 33-bit frame encodes fan speed and light state using 320 and 640 µs pulses; Python receiver tools decode captures, while Raspberry Pi and ATtiny85 transmitters send replacement commands.

HeronSquawk reconstructs the RYLR999 LoRa module's on-air framing from SDR captures so it can exchange packets with Heltec V3.1 SX1262 nodes. The resulting mesh system combines a Python desktop base station, MicroPython node firmware and an Android BLE client, with encrypted messages routed across nodes.

ak820-linux reconstructs USB HID control for the AJAZZ AK820 Pro keyboard from the vendor's Windows configurator. Its Linux CLI and GUI send lighting effects, per-key colors, images or GIFs to the keyboard screen, and clock updates; the protocol reference records interfaces, report sizes, opcodes, and payload layouts.

fix-whxm4-voice creates replacement voice packs for Sony WH-1000XM4 headphones and uploads them over Bluetooth. Its research notes map the pack's language layout and trace Sony's app through the Airoha FOTA upload flow over Bluetooth Classic RFCOMM. The tool can download stock packs, convert replacement audio and install the result as a selected language.

AirDrop-for-Everything reimplements Apple's AirDrop discovery and file transfer in a Rust core with command-line, desktop, Android and macOS interfaces. The documented protocol covers mDNS discovery, binary-plist /Discover and /Ask requests, and DVZip-framed cpio uploads. AWDL works where an interface exists; other platforms use LAN transport.

tinycoral reconstructs the Google Coral Edge TPU instruction set and USB runtime for a tinygrad backend. It includes decoded instruction layouts, a code generator, DarwiNN executable handling and a Python driver for firmware upload, register access and DMA transfers; the author reports byte-identical generated programs against Google's compiler for supported operations.

Edifier Speakers BLE reconstructs the M60 and M90 speakers' BLE control protocols and uses them in a Home Assistant integration. Its references describe model-specific GATT services, frame checksums, commands, responses, and limits; the integration exposes volume, source, EQ, playback, and selected device settings.

Halyard reimplements the Shadow cloud PC streaming protocol for Nintendo Switch and PS Vita homebrew. It authenticates to a subscribed user's machine, negotiates over TLS, and carries encrypted video, audio, input and cursor channels; the consoles use hardware video decoding. The repository records protocol findings and platform-specific limits.

Fiat Ducato X250: decoding the body CAN bus

Independent reconstruction project

The Fiat Ducato X250 WiCAN project decodes the 2009 vehicle's 50 kbit/s body-CAN messages into speed, RPM, lights, doors and other signals. It preserves five captures, a CAN ID reference, a Python decoder and listen-only WiCAN filters that publish values to Home Assistant over MQTT. The author reports checking signals against vehicle controls and instruments.

Unrack controls the t.racks DSP 4x4 Mini Pro through WebHID, an Android USB bridge, or an ESP32-S3 Wi-Fi bridge. It builds on earlier protocol research and provides rebuilt transport, state management, and interface code; its protocol notes detail request and reply frames carried in 64-byte USB HID reports, commands, and parameter scaling.

ArmorX Toolkit reconstructs configuration and control behavior for the BIGBIG WON ARMORX Pro controller accessory. It decodes and builds 144-byte configuration records with CRC16, records key mappings and BLE/USB command behavior, and supplies capture, CLI, and configurator tools based on the findings.

dsh-ls125-uv-probe reconstructs the UART exchange between a LinShang LS125 meter and its UVALED-X3 UV probe and implements a replacement STM32F103 host. Its protocol notes cover 9600 8N1 framing, polling and clear commands, measurement fields and CRC-16/MODBUS. Capture and decoding scripts and a sample trace accompany the agent skill.

Tapo V4 reconstructs the Tapo C510W camera’s local control and media protocols from Android app analysis and device probing. A byte-level specification and Python client cover SPAKE2+ login, AES-128-CCM /ds requests, media-port authentication and SD-card clip download. The author reports operation on a C510W and limited reports from other models.

NiimBridge reconstructs the NIIMBOT D110_M printer's Bluetooth print exchange from HCI captures of the vendor Android app. Its Kotlin driver implements packet framing, checksums, row encoding, transport, and print-state handling; a separate SDK and diagnostic app expose printing and packet inspection. The author reports byte-identical packet comparisons for two captured jobs.

The OMS fingerprint module investigation reconstructs USB communication with the 33a7:2388 match-on-chip sensor and implements it as a libfprint driver. Its notes describe USBC transport acknowledgements, EF01 frames, checksums and enrollment and identification responses; the author reports successful hardware enrollment and verification.

zwift-api maps selected private Zwift HTTP data interfaces and implements a read-only Node client for profile, achievements, events, quests and catalogue data. Its documentation records proxy-captured endpoints and protobuf wire decoding without schemas. The author reports that epic-challenge progress travels over a realtime UDP path rather than the mapped HTTP endpoints.

Gear VR Controller research decodes the Samsung ET-YO324 remote's Bluetooth LE commands and sensor stream. Its protocol notes map GATT characteristics, a command acknowledgement handshake, IMU samples, touchpad and button fields; Python captures and tests support a macOS air-mouse app and a live three.js viewer.

Powerology AM8268N reconstructs the USB display protocol used by dual-screen laptop extenders built around the Actions Micro AM8268N. A Linux userspace driver presents each panel through evdi and sends JSON-RPC control and H.264 video over vendor-defined HID interfaces; the protocol notes derive from captures of the Windows application.

SuperCam Thermal Viewer is a cross-platform client for QuanLi/LangChi thermal cameras built from investigation of their proprietary network traffic. It displays 160×120 radiometric infrared frames alongside 1920×1080 H.264 video, while research notes document UDP discovery, TCP control and stream negotiation.

ktctl reconstructs the FiiO JA11 runtime USB control protocol in a Rust CLI and TUI for five-band PEQ, presets and gain. Its protocol notes specify framing, CRC-8/MAXIM and command bytes derived from Android app analysis and device probing. The author reports a successful read, write and save round trip on a JA11.

The AppleAVE2 investigation maps the kernel driver's IOKit user-client selectors and input structures while examining the work-buffer size calculation associated with CVE-2026-64747. It includes a userspace reachability program, wire-format notes, overflow arithmetic and patched-host logs. The author reports that a hardware capability gate prevented a live overflow on that host.

Indian Thunder Stroke documents a listen-only J1939 CAN decoder for a 2017 Indian Springfield motorcycle, with ESP32-S3 firmware and an Android instrument cluster. Its findings map messages for tyre pressure and temperature, fault codes, controls and engine state, including measured PGN and byte positions; the hardware publishes decoded values over BLE.

controlvault3-linux-fingerprint reconstructs the encrypted command exchange of the Dell/Broadcom ControlVault 3 fingerprint sensor and implements enrollment and verification on Linux. It offers a libfprint TOD driver for fprintd and an alternative standalone PAM path. The author describes deriving the channel from Windows USB captures and crypto hooks and reports testing on a Dell Latitude 5531.

OpticFilm 135i reconstructs USB control of the Plustek OpticFilm 135i film scanner for Linux. Its Python driver handles calibration, film movement and 16-bit image capture at five resolutions, while a separate SANE backend exposes scanning to standard frontends; research notes record protocol and calibration findings.

The Martian Notifier toolkit reconstructs Bluetooth communication with the T200/MN200 smartwatch. Its protocol notes specify RFCOMM framing, BLE GATT identifiers and command opcodes for battery queries, time and date updates and keepalive. Python tools pair with the watch, send commands and probe additional opcodes from Linux.

Samsung Washer Monitor for ESPHome decodes the receive-only UART stream between a Samsung WW11BGA046 washer's DC92-01950B panel and main board. Its ESPHome component exposes program selections, displayed time, indicators and inferred cycle status to Home Assistant. The documentation records connector observations, wiring and the limits of the author's single-machine testing.

Fluval Connect light implements local Home Assistant control of Fluval Connect aquarium lights over Bluetooth, using commands recovered from the FluvalConnect Android app. It exposes lighting, modes, schedules and clock synchronization, with support confirmed by the author on a Roma & Shaker 2.0 light.

Citroën Connected Camera is an iOS client for browsing, downloading and managing ConnectedCAM dashcam recordings over local Wi-Fi. Its protocol reference reconstructs the camera's cleartext HTTP /virb command endpoint, media access and session handshake from traffic captured from the official app.

The Canon GM2080 macOS driver reconstructs the printer's IVEC XML and PWG Raster print stream from observed output of Canon's Linux driver. Native CUPS filters generate that stream for a GM2080, with PPDs for related GM series models. The author reports end-to-end printing on a GM2080 running firmware 1.050.

Agent Phone uses a Polycom CX300 desk phone as an attention and dictation controller for coding agents. Its HID documentation preserves earlier protocol research and adds device-probe findings on report byte layouts, the voicemail LED, and host-controlled microphone mute. The Python daemon implements those controls alongside the phone’s audio and keypad handling.

GarminHRM600 implements a direct BLE client for the Garmin HRM 600 heart-rate strap using documented Multi-Link, GFDI and protobuf FileSyncService exchanges. Its CLI streams heart rate and Running Dynamics, downloads stored FIT files and reconstructs absolute timestamps from the strap's event clock and file identifiers. A protocol reference records message layouts and the author's probe results.

Canon IVEC driver reconstructs print and maintenance commands for PIXMA and MAXIFY inkjets in an open Linux CUPS driver. Its protocol reference documents IVEC XML job framing, PWG Raster page data and USB status handling. The author reports byte-for-byte matches against Canon driver output for 1,194 checked jobs and commands.

Minitela do Positivo Vision R15M implements Linux tools for the laptop’s 240×240 secondary display. The project documents its AHMI serial frames and ACF texture container using vendor-app captures, synthetic-image output comparisons, and analysis of the Windows texture compiler. Python tools send images, change pages and brightness, update display tags, and inspect the protocol.

Truma Aventa controls a second-generation Aventa roof air conditioner from Home Assistant over BLE. The implementation uses captured TruMessageV3 and CBOR messages to expose climate, light, and diagnostic entities. Its findings document BLE framing, device addresses, routing, and pairing behavior observed on the appliance, including corrections to a prior protocol reference.

PetKit Eversweet Max 2 UVC BLE Gateway uses a local Python or ESP32-C3 client in place of the Wi-Fi PetKit device that relays the fountain’s data. It reads state and drinking history and sends Telegram alerts. Its protocol notes document BLE framing, authentication, a 42-byte state map and history flow control derived from device observations.

WalleCube UPS provides local Home Assistant monitoring and control for the W150 mini-UPS through a reconstructed BLE GATT protocol. The author used Android app strings, Frida captures, and Dart disassembly to map telemetry and encrypted settings; PROTOCOL.md records the wire format. The integration exposes power and battery readings and selected settings, with writes checked by reading them back.

toppingctl implements local control of Topping DACs through USB HID reports derived from observed WebHID traffic and the vendor web bundle. The CLI addresses registers for volume, gain, power and parametric EQ, while companion scripts read settings, inspect unsolicited meter data and probe unknown values. The author reports hardware confirmation on the DX5 II.

tuya-ipc-p2p-sdk implements a Python client for Tuya IPC cameras’ native P2P video protocol. It logs in through the mobile gateway, exchanges MQTT signaling, connects through a TCP relay with KCP conversations, authenticates a media channel, and decrypts and reassembles MJPEG frames. The implementation draws on a byte-level protocol reference in the author’s companion Go client.

The SYNA8002 investigation reconstructs the SPI transport, secure-channel setup and image capture path of the fingerprint reader in a ThinkPad X1 Tablet Gen 3. It includes a Python userspace driver and fprintd-compatible adapter; the author reports successful GDM login on one tablet, with a correlation matcher and an existing Windows-derived pairing key.

catbus99 reconstructs control of the Epomaker TH99 Pro keyboard display from captured driver WebHID traffic. Its Rust client sends USB-HID reports to display images and rendered widgets, while a protocol document maps the configuration and TFT interfaces. A daemon governs writes to the display's flash storage.

OpenWatch implements an Android companion for LJ736/LY736D-based smartwatches using BLE commands reconstructed from the LaxaFit Pro APK and captured traffic. It handles pairing, notifications and clock synchronization locally, and can buzz the watch to help locate it. Protocol notes describe packet framing and watch-face transfer; the author reports that custom watch faces still display as blank black screens.

Quntis Monitor Light for ESPHome recreates local control of a 26-inch Quntis monitor light through its observed XN297-compatible RF protocol. An ESP32-C3 and RF Nano transmit commands for power, brightness, color temperature and the separate glow light; protocol notes describe frames, CRC and rolling state.

Bosch Smart System maps the BLE diagnostic and Live Data interfaces of Bosch eBikes through captured traffic and field comparisons. It documents characteristics 0x0011 and eb21, frame structure, telemetry scaling and request behavior, with machine-readable field tables. The principal observations come from a Performance Line CX bike; comparison with a Performance Line SX is preliminary.

GreenPods is an Android app that reads AirPods BLE advertisements and offers Apple Accessory Protocol controls over L2CAP where available. Its protocol research records packet structures, transport requirements and captured device behavior for battery status, noise control, gestures and head tracking. The app exposes features according to the available Android Bluetooth path.

P215 Scan replaces the Canon imageFORMULA P-215II desktop scanning workflow on macOS and documents the scanner’s file-tunnel transport. Its reconstructed Auto Start mode exchanges SCSI command and data blocks through two files on an emulated USB volume; the main scanning mode uses the SANE canon_dr backend.

Sirius Dev Kit documents a measured investigation of the Hengbot Sirius robot dog and provides a browser control tool. Its findings map command behavior, ROS topics, sensor readings, and the robot’s RIFF/AVI action-file structure. Firmware comparisons identify changes to the ToF sensor path, while the tool uses the documented interfaces for robot control.

Huawei MateBook 13 · Linux reconstructs communication with the Goodix GXFP51A0 fingerprint reader and provides a Linux libfprint driver for it. Its research notes describe SPI packet framing, acknowledgement and response handling, and static analysis of Goodix FP Windows driver versions; the repository also manages MX250 power on the target laptop.

Halo Home for Home Assistant controls Eaton HALO Home Bluetooth mesh lights locally and targets other Avi-on lights using the same protocol. Its CSRmesh protocol document describes GATT characteristics, encrypted packet delivery and passphrase-based key derivation for on/off, brightness and color-temperature controls.

BTHackers documents the AIREC voice recorder’s BLE GATT service and command protocol from captured sessions. Its protocol reference maps characteristic handles and the 55 aa command and aa 55 response frames. The repository includes capture parsers, a Python client, and a Flutter app; the author lists connection fixes and the file-download command as open work.

The SteelSeries Apex 3 RGB Controller uses recovered USB HID reports to set the keyboard’s lighting colors from Linux. Its technical notes identify the device interface, a 32-byte report, color opcode 0x0B, and RGB values for ten zones. The repository includes a command-line program for sending color settings.

wolfmix-automation reconstructs the Wolfmix W1 .wpj project format and USB control protocol from controlled editor changes, owned project files, and device observations. It publishes a byte-level specification and Python tools to inspect, diff, round-trip, compile, and generate project files, plus a USB client.

Remote for Apple TV implements Apple TV control on Android through Kotlin modules for Companion Link pairing, encrypted OPACK commands, and an MRP-over-AirPlay media tunnel. Its protocol module and desktop CLI cover discovery, remote keys, text entry, and now-playing data; the project credits pyatv for protocol values and reference vectors.

panelbeater lets a Linux host respond to the Scan button on a ScanSnap iX1500 over Wi-Fi or USB. Over Wi-Fi it registers the host with the scanner; over USB it scans without registration. Its protocol notes document discovery, registration, document transfer and USB behavior, while the client assembles scanned pages into PDFs and can add an OCR text layer when ocrmypdf is installed.

The Goodix 55a4 project reconstructs Linux support for the 27c6:55a4 fingerprint sensor through a libfprint patch. Its research combines USB captures with examination of the vendor's Windows driver to document command behavior, image acquisition and host-side matching. Installation scripts provision the sensor key and configure fprintd.

allmiibo-sync reconstructs the Pixl.js and AmiiboLink Bluetooth LE virtual filesystem protocol to synchronize folders with NFC emulator devices. Its browser app compares local and device trees, plans transfers and deletions, and uses VFS commands documented from official web clients and checked against firmware.

EBO for Home Assistant reconstructs the EBO HOME cloud exchange to control Enabot robots from Home Assistant. Its add-on logs in with the user's account, discovers robots, sends commands through Agora RTM and converts Agora RTC video to an RTSP camera feed. The repository includes request-signing and message-routing tests.

iM.Master SDK reconstructs the iM.Master toy robot's BLE advertising commands and exposes them through a Python control API. Its protocol notes describe a 14-byte manufacturer payload under company ID 0x53A6, recovered from vendor-app captures, while the driver streams frames through Linux raw HCI to move the robot.

QUII Helper reconstructs communication with QUII and Qualvision video intercoms in a Python client for snapshots, video, RTSP forwarding, device inspection, and door commands. Its protocol notes map LAN TCP setup, encrypted play, media handling, and cloud preview flow to behavior found in inspected app builds.

KlipschRemote implements Bluetooth LE control of Klipsch The Fives, Sevens and Nines speakers through desktop, CLI, Python and browser clients. Its protocol documentation describes the shared GATT control service and an investigation of the Fives Updater Android app that maps a separate GAIA/RFCOMM firmware-update exchange. The client controls volume, inputs, equalization and device settings.

AirMini Sync reconstructs the ResMed AirMini telemetry exchange in an Android client that retrieves and exports sleep records as JSON. Its protocol reference describes Bluetooth Classic RFCOMM transport, a Diffie-Hellman pairing exchange, encrypted JSON-RPC requests and notifications, and therapy log streams.

OpenNord reconstructs Nord Stage program handling and USB transfer in a keyboard companion app. It reads Stage 2, 3 and 4 program files through a shared CBIN container and model codecs, and uses a recovered vendor bulk USB protocol to enumerate devices and transfer programs. Sample readers and a local library support inspection and playback.

fpdrv reconstructs communication with the Synaptics 06cb:00e7 fingerprint sensor as a Linux userspace driver, libfprint TOD module and diagnostic CLI. It implements host pairing and a TLS-like encrypted session for on-chip enrollment and matching. Its protocol notes map USB endpoints and captured connection flows.

Empatica E4 wristband: decoding BLE telemetry

Independent reconstruction project

Empatica E4 wristband work reconstructs the device's BLE telemetry flow and provides a local recorder and decoder for accelerometer, skin temperature, electrodermal activity, and raw photoplethysmogram data. It documents GATT services and packet layouts, preserves raw packets, and writes decoded sensor readings to CSV.

dj-midi-sender reconstructs the Pioneer Pro DJ Link tempo exchange and bridges it to MIDI clock. A shared C++ parser and state machine read beat and status packets, track the tempo master and drive a 24 PPQN clock on desktop or ESP32-S3 hardware. The repository includes packet captures, protocol offsets and replay tools.

libfprint Goodix SPI Driver reconstructs support for the Goodix GDIX51C0 fingerprint sensor on Linux. It combines SPI transport, session and capture handling with a native ChicagoHS host-side biometric matcher, integrated through libfprint and fprintd patches. The source includes protocol research, algorithm comparison tools and deterministic tests.

LIBREPODS-RS implements the AirPods Apple Accessory Protocol in Rust over Bluetooth L2CAP. Its core parses and builds AAP packets and decodes BLE advertisements, while Linux and Windows backends support battery status, noise modes, ear detection, and media actions; the project credits LibrePods as an inspiration and protocol reference.

Blue Star AC → ESPHome reconstructs the UART protocol of Blue Star smart-ready air conditioners and implements local control on an ESP32-C3. Its ESPHome component completes the Tuya MCU handshake, exchanges Blue Star DP101 key/value records and exposes climate controls to Home Assistant for tested IE518TNUR and IA318MXU models.

Intel NUC M15 Light Bar Control for Linux reconstructs the WMI commands used to set the laptop's front RGB light bar. A kernel helper invokes the F351 WMI transport, while Python tools send 0x0603 packets and expose named lighting states. The research notes map packet bytes to function, state, speed and brightness fields.

libfprint-microarray reconstructs the USB control workflow of the MicroarrayTechnology MAFP fingerprint reader as a Linux libfprint driver. Analysis of MicroarrayFingerprintDevice.dll and USB captures informs its handshake, image polling, fingerprint enrollment and verification commands. The author reports successful enrollment and verification on a physical 3274:8012 device.

ntrig-calib reconstructs the Surface Pro 3 N-Trig digitizer's calibration exchange as a Linux Python script. The project describes Ghidra analysis of CalibG4.exe and NCPTransportInterface.dll, including NCP framing, START_CALIB and GET_STATUS commands and HID report transport. The author reports a working fix on one device while documenting uncertain response behavior and calibration longevity.

The Opel Insignia A Climatronic panel project investigates control of a 2015 facelift climate panel over LIN. It records the panel's connector pinout, identifies its LIN transceiver and provides STM32G431KB code and an image of observed LIN frames. The author describes the approach as brute force and based on an earlier panel investigation.

Peugeot 3008 II air conditioning unit investigates CAN control of the vehicle's climate module using brute-force frame-ID exploration. An STM32G431KB project drives the module's flaps and includes notes on its TJA1055 transceiver, sensors and actuators. The author reports testing a unit marked 9811039380.

Simplesoft RP5-TY-101 documents the function IDs and payload layouts used by a Toyota CAN interface box for aftermarket head units. Its tables cover responses such as door, tire-pressure, climate and radar state, plus head-unit requests for data and air-conditioning controls. A Python decoder is also present.

Razer Nari Battery Level implements a USB HID exchange to read the headset's reported battery voltage through its dongle. The author captured SET_REPORT and GET_REPORT traffic and infers that two response bytes encode battery voltage in millivolts. A C program using libusb sends the requests and decodes those bytes.

GE Opal 2 research maps the ice maker's connectors, nominal voltages, plumbing and front-panel I2C communication to support an Arduino-based replacement control board. The repository includes protocol notes, a prototype schematic and firmware code. The author identifies incomplete connector documentation and unexamined front-panel and RGB behavior.

↑↓ move↵ open⌘↵ new tab