_._     _,-'""`-._
(,-.`._,'(       |\`-/|
    `-.-' \ )-`( , o o)
          `-    \`_`"'-

tpbreak/

analyze fetch decrypt download · point at any TP-Link / D-Link / QNAP / Synology image, tpbreak tells you what it is and cracks it open
booting_
// select a target on the left_

For the few formats whose key isn't public — per-device (config backups) or bootloader/hardware (encrypted EAP APs, robot vacuums). Own the device? Supply what's missing and tpbreak finishes it.

// results appear here

device MAC lookup

TP-Link uses a limited set of OUI families. Enter a MAC to identify it and derive the per-device config key (HMAC-SHA256(MAC, chip target_info)). Firmware images are bootloader-keyed — not MAC-derived — so this is for config-backup decryption / device-ID.

default wifi — credential scheme analyzer

Enter a router's MAC (the BSSID is broadcast). tpbreak identifies the vendor, derives the default SSID (MAC-based, always accurate), and classifies the factory WPA password scheme from what the firmware actually does: derivable (mac/serial/fixed — a real weakness, change it) vs random-label (per-unit, printed on the sticker — not in firmware, not crackable from the MAC). This is weakness assessment — it won't invent a password for a scheme that isn't derivable.

key database

Per-vendor decryption keys, all recovered from the vendors' own published binaries — TP-Link RSA blobs (libsecurity/slpupgrade), D-Link's SHRS AES key (imgdecrypt), QNAP's PC1 ASCII secrets, and Synology's XChaCha20 masters (RE'd from get_keys). Searchable by vendor, key, or device family.

coverage tally

loading…

how tpbreak works

Streams each vendor's own public CDN firmware and decrypts it on the fly. Every key here was recovered from material the vendors themselves publish — no signing, no piracy. tpbreak resolves the formats below:

TP-Link camera / hub / lock / Cloud routerRSA-2048 + AESauto
TP-Link SG managed switchDES-CBC (strip-128)auto
D-Link DIR / COVR / DAP (SHRS)AES-128-CBCauto
QNAP QTS / QuTS NAS (icpnas)PC1 stream cipherauto
Synology DSM NAS (.pat / .spk)XChaCha20-Poly1305 + Ed25519auto
GL.iNet OpenWrt router (sysupgrade)none — plaintext tar → squashfsauto
D-Link DIR-X / EAGLE PRO (encrpted_img)AES-256-CBC (static key)auto
Dahua camera / NVR / XVR (.bin)DH→PK zip / AES-128auto
Buffalo LinkStation / TeraStation NASZipCrypto (fixed password)auto
Wecon LX/PI HMI (.osf3 / WSFI)AES-256-CFB (custom SHA KDF)auto
Samsung Tizen TV (upgrade.msd, 2016-2020)AES-128-CBC (per-chassis md5 passphrase)auto
Nokia GPON SFP ONT (G-010S-A/P)none — plaintext uImage + squashfsauto
Realtek RTL960x GPON ONT (V2801F / DFP-34X / GPON657)none — plaintext uImage + squashfsauto
TP-Link EAP config backupHMAC-SHA256(MAC, chip-info)BYO MAC
encrypted EAP / vacuum firmwarebootloader/HW keyBYO dump

Each vendor's key comes from its own published binary: TP-Link's libsecurity, D-Link's imgdecrypt, QNAP's hardcoded ASCII secrets, Synology's get_keys() table reverse-engineered out of synofwupgrade. NAS images (QNAP/Synology) are x86_64/ARM Linux; the cameras stay hardware-bound. For security research.