Toolbox / IECS Tools

Unlock Challenge Parser

Decode IECS Unlock challenge URLs and the matching cmacResponses envelope. Each 32-byte challenge is split into its sub-function (unlock level), 16-byte ECU_ID (decoded inline), and 15-byte random seed. No HSM calls — CMAC verification needs the corresponding ECU key.

Input
Paste a request URL, one or more Base64 challenges, or a <cmacResponses> XML envelope. The shape is auto-detected.
Sample payloads
Request (APIM or direct endpoint) and response. Click to load.
Format reference

Endpoint: <base-url>/iecsapi/unlock.xml / /iecsapi/unlock.json (documented IECS path), or a gateway path such as /api-XXXX/iecsapiqa. The parser uses whatever path is in the URL and reads its challenge query params.

Challenge (32 B): [sub-fn(1) · ECU_ID(16) · random seed(15)]. Sub-function 0x01 = level 1 unlock, 0x03 = level 3, 0x07 = level 7…

Response: one <cmacResponse> per challenge, each carrying challenge, cmacValue (16 B AES-CMAC), and a per-row status.

CMAC verification is not done here. This tool is a wire-format inspector — it never contacts the HSM and never decrypts or recomputes a CMAC.

Paste an unlock payload to begin
The parser will auto-detect a request URL, a bare challenge, or a CMAC response envelope and break it down into the documented fields.