Mistial Developer and Claude Fable 5.1
e588085c10
hf mfdes sim: host driven test hook with injectable randomness
...
The DESFire simulation could only be reached over the air. A conformance
suite that has recorded a genuine card's session needs to replay it byte
for byte, which takes two things the simulation did not have: a way in
over USB, and control of the card's random draws.
CMD_HF_DESFIRE_SIM_TEST carries one operation per packet into the same
state machine the RF loop drives: BEGIN, SCAN, APDU, RANDOM, FIELDOFF,
STATE, END. SCAN runs the RF-reset path (init, reset, random id, FSD) and
APDU goes through desfire_sim_apdu(), so native and ISO 7816 wrapped
commands answer exactly as they do on air. No FPGA involvement.
Randomness goes through a small host-fed byte queue: RndB and the random
id draw from it first and fall back to the existing fixed value or tick
counter when it is short, raising a sticky underflow flag. With nothing
queued the RF simulation is byte-identical to before; SimulateDesfireTag()
clears the queue so a host session cannot leak into a reader session.
Co-Authored-By: Claude Fable 5.1 (claude-fable-5-1) <noreply@anthropic.com >
2026-09-16 22:04:01 +02:00
..
2026-09-16 19:00:50 +02:00
2026-09-16 22:04:01 +02:00
2026-08-19 15:32:39 +02:00
2026-09-05 18:09:46 +02:00
2026-09-15 23:59:01 +02:00
2026-09-14 14:50:23 +02:00
2022-01-06 02:20:38 +01:00
2022-01-06 02:20:38 +01:00
2026-08-28 13:10:24 +02:00
2026-08-28 13:10:24 +02:00
2026-09-07 00:07:07 -04:00
2026-09-07 00:07:07 -04:00
2026-09-03 01:02:38 +02:00
2026-09-03 01:02:38 +02:00
2026-09-04 06:21:20 +02:00
2026-08-31 08:41:40 +02:00
2026-09-16 19:00:50 +02:00
2026-09-12 13:29:52 +02:00
2025-12-21 02:58:56 -07:00
2025-12-21 00:34:11 -07:00
2026-03-24 14:21:54 +07:00
2026-02-09 12:44:50 +01:00
2026-09-16 10:32:48 +02:00
2026-09-16 02:14:48 +02:00
2026-09-01 17:57:31 +02:00
2025-06-19 17:26:20 +02:00
2024-05-14 12:32:57 +02:00
2026-09-15 08:36:13 +02:00
2025-02-21 15:38:33 +01:00
2026-09-16 22:04:01 +02:00
2026-09-16 22:04:01 +02:00
2026-09-15 08:36:13 +02:00
2023-08-08 23:03:34 -07:00
2026-08-25 19:30:43 +02:00
2025-03-16 01:05:55 -07:00
2026-09-15 20:41:22 +02:00
2025-03-21 11:25:31 +01:00
2026-03-29 09:38:09 +07:00
2026-09-15 08:10:09 +02:00
2023-08-08 23:38:26 -07:00
2026-08-28 22:35:08 +02:00
2026-06-12 18:31:57 +03:00
2026-08-19 15:32:39 +02:00
2026-06-12 18:31:57 +03:00
2022-01-06 02:20:38 +01:00
2022-01-06 02:20:38 +01:00
2026-09-16 19:00:50 +02:00
2022-01-06 02:20:38 +01:00
2026-09-15 08:36:13 +02:00
2023-08-09 00:03:48 -07:00
2026-09-15 08:36:13 +02:00
2022-07-09 16:45:08 +03:00
2026-09-15 08:21:25 +02:00
2024-04-26 15:38:06 +02:00
2026-09-16 19:00:50 +02:00
2026-09-04 13:20:29 +02:00
2026-09-16 19:00:50 +02:00
2026-09-16 19:00:50 +02:00
2026-09-04 13:20:29 +02:00
2026-09-04 13:20:29 +02:00
2026-09-04 13:20:29 +02:00
2026-09-04 13:20:29 +02:00
2026-08-26 23:57:47 +02:00
2024-11-21 19:23:03 +00:00
2026-09-12 23:54:39 +02:00
2026-09-16 19:00:50 +02:00
2026-09-16 11:26:16 +02:00
2026-08-29 15:00:03 +02:00
2026-09-16 19:00:50 +02:00
2026-09-12 21:18:26 +02:00
2026-09-15 22:57:37 +02:00
2026-09-15 08:10:09 +02:00
2026-09-15 08:21:25 +02:00
2026-04-17 03:00:14 +08:00
2023-08-14 22:50:25 -07:00
2023-08-14 22:50:25 -07:00
2026-08-19 15:51:18 +02:00
2026-08-19 15:51:18 +02:00
2026-08-19 15:51:18 +02:00
2026-08-19 15:51:18 +02:00
2026-08-19 15:32:39 +02:00
2024-02-02 20:51:49 +01:00
2026-09-14 15:05:31 +02:00
2022-01-06 02:20:38 +01:00
2026-09-16 19:00:50 +02:00
2026-08-19 15:32:39 +02:00
2026-09-15 08:17:05 +02:00
2026-08-29 17:38:41 +02:00
2026-09-15 22:49:41 +02:00
2026-09-14 19:56:57 +02:00
2026-08-25 19:30:43 +02:00
2022-01-06 02:20:38 +01:00
2026-09-16 10:32:48 +02:00
2026-09-16 11:00:31 +02:00
2026-08-29 16:03:00 +02:00
2026-08-29 16:50:29 +02:00
2026-08-29 16:03:00 +02:00
2026-09-12 18:49:24 +02:00
2025-01-21 23:39:25 +00:00
2026-09-15 08:36:13 +02:00
2022-01-06 11:24:04 +01:00
2026-08-19 15:32:39 +02:00
2026-06-10 01:02:14 +02:00
2022-01-06 18:18:48 +01:00
2022-01-06 20:05:26 +01:00
2023-12-07 16:44:31 +01:00
2022-01-06 02:20:38 +01:00
2024-08-26 20:55:58 +08:00
2024-08-26 20:55:58 +08:00
2024-05-14 10:10:44 +02:00
2022-01-06 15:40:11 +01:00
2022-01-06 02:20:38 +01:00
2022-01-06 02:20:38 +01:00
2026-09-14 13:06:14 +02:00
2025-03-18 08:11:06 +01:00
2025-03-25 10:12:16 +01:00
2022-01-06 02:20:38 +01:00
2026-09-16 19:00:50 +02:00
2026-08-28 13:10:24 +02:00
2026-09-15 08:21:25 +02:00
2026-09-01 13:34:02 +02:00
2025-01-07 00:04:48 +01:00
2025-01-07 00:04:48 +01:00
2026-09-15 08:36:13 +02:00
2025-01-27 20:17:43 +01:00
2026-09-08 16:04:45 +08:00
2026-09-05 22:31:52 +08:00
2026-09-15 08:17:05 +02:00
2025-01-07 00:05:41 +01:00
2026-08-30 10:12:33 +02:00
2026-04-13 09:35:02 +02:00
2026-08-19 15:32:39 +02:00
2025-12-21 04:26:44 -07:00
2022-01-06 02:20:38 +01:00
2025-02-21 15:38:33 +01:00
2024-12-26 15:04:05 +01:00
2022-01-06 02:20:38 +01:00
2025-01-14 18:01:09 -08:00
2025-01-14 18:01:09 -08:00
2022-01-06 02:20:38 +01:00
2026-09-15 08:17:05 +02:00
2026-09-12 14:58:08 +02:00
2026-08-19 15:32:39 +02:00
2026-08-19 15:51:53 +02:00
2026-09-16 01:59:27 +02:00
2022-01-06 02:20:38 +01:00
2026-09-15 08:36:13 +02:00
2026-09-12 15:09:53 +02:00
2026-09-01 13:34:23 +02:00
2025-04-21 23:17:47 +10:00
2026-09-15 10:36:09 -04:00
2026-09-01 13:32:49 +02:00
2022-01-06 02:20:38 +01:00
2022-01-06 02:20:38 +01:00
2022-01-06 15:40:11 +01:00
2022-01-06 15:40:11 +01:00