Commit Graph

  • 907522f0ae feat(lf): test-mode T55xx write (opcode 01) for recovery main michael 2026-07-16 20:01:24 -07:00
  • a990d725ef feat(lf): NRZ + biphase raw physical-layer demod, with a fallback in identify_lf michael 2026-07-16 19:13:36 -07:00
  • e3a394859c docs: correct the T5577 block-order finding — MAXBLK=1 test is the decisive one michael 2026-07-16 18:27:07 -07:00
  • 4226c9a11c docs: C client oracle + LF demod parity notes michael 2026-07-16 17:59:14 -07:00
  • 8833753c45 fix(lf): detect_clock keys off the shortest well-supported interval, not the min michael 2026-07-16 17:59:14 -07:00
  • 8f136e7dc4 feat(rawcli): finish T5577 catalog — page/password, RESET, hex data words michael 2026-07-16 17:20:11 -07:00
  • 218e6dfc2a docs(rawcli): record ICODE DNA catalog sourcing plan + datasheet pointers michael 2026-07-16 13:43:19 -07:00
  • 4684d0cc83 feat(rawcli): identify NTAG5 and ICODE DNA (READ_CONFIG probe) michael 2026-07-16 13:33:41 -07:00
  • 9e18a10274 feat(rawcli): NTAG 5 datasheet catalog (config + SRAM + pick-random-UID) michael 2026-07-16 13:14:33 -07:00
  • d0339bceb5 fix(clientcli): right-arrow help in the dropdown, selection-restoring LEFT, delete refresh michael 2026-07-16 13:11:48 -07:00
  • 72815e34eb feat(rawcli): full INVENTORY_READ request body (mask + AFI) — 15693 complete michael 2026-07-16 13:08:27 -07:00
  • 251e276fbb feat(rawcli): complete the 15693 request-flags byte in iso15_frame michael 2026-07-16 13:01:54 -07:00
  • 7b028f4ddc feat(rawcli): INVENTORY_READ / FAST_INVENTORY_READ for the SLIX catalogs michael 2026-07-16 12:56:00 -07:00
  • a61e9724a6 feat(rawcli): ICODE SLIX2 datasheet catalog michael 2026-07-16 12:51:12 -07:00
  • 2ba570a7ef test(rawcli): guard Ctrl-t breadcrumb flips 0x<->0b + redraw michael 2026-07-16 12:43:58 -07:00
  • 4b5df12a76 test(rawcli): end-to-end live-session regression for byte-line entry + completion michael 2026-07-16 12:41:34 -07:00
  • 6e46916dd9 fix(rawcli): raw byte-line autocomplete fires in hex and binary michael 2026-07-16 12:31:28 -07:00
  • c675f6b278 fix(transport): handle CMD_WTX wait-extension frames, don't misread them as replies michael 2026-07-16 12:15:06 -07:00
  • 6ab8582308 feat(rawcli): ICODE SLIX datasheet catalog — 15693 header builder + position-aware completion michael 2026-07-16 09:32:09 -07:00
  • 9c54015735 feat(iso15): hf.iso15.raw() — send an arbitrary ISO15693 request frame michael 2026-07-16 09:14:44 -07:00
  • 3b4ec4541b feat(rawcli): full MIFARE Classic datasheet command set + value blocks michael 2026-07-16 08:47:22 -07:00
  • fd16fa8f90 feat(trace): live terminal output under bpython via a shared emit() michael 2026-07-15 21:25:16 -07:00
  • 0586e2a41a fix(sim): break the transponders<->sim circular import via lazy re-exports michael 2026-07-15 21:23:12 -07:00
  • d59a3c017b docs(readme): pure-Python LF demod, rawcli memory map + per-byte base entry michael 2026-07-15 21:10:10 -07:00
  • 0f77eb9b83 docs: document pm3py client in the README michael 2026-07-15 21:06:02 -07:00
  • 4f66a93de9 feat(cli): add pm3py client — autocompleting console over the stock proxmark3 client michael 2026-07-15 21:05:53 -07:00
  • 925d2c92f0 docs: pyws integration section; fix hf.mfc -> hf.mf in the quick-ref michael 2026-07-15 21:04:04 -07:00
  • 2b087a302a feat(rawcli): per-byte base intermixed entry; fix MFC hf.mf; help + strict mixing michael 2026-07-15 20:43:04 -07:00
  • f04703c309 feat(rawcli): MIFARE Classic authenticated read/write/chk michael 2026-07-15 19:41:53 -07:00
  • 260c1adad8 feat(rawcli): MIFARE Classic block-level memory map michael 2026-07-15 19:35:33 -07:00
  • 56fcfec648 docs(rawcli): roadmap — MVP transponders, binary-autocomplete bug, MFC-first michael 2026-07-15 19:30:47 -07:00
  • a5c7702398 feat(rawcli): complete + family-accurate NTAG21x / Ultralight EV1 memory map michael 2026-07-15 19:18:05 -07:00
  • 65be53da8c fix(rawcli): all hints live in the completion dropdown, not the bottom bar michael 2026-07-15 19:09:16 -07:00
  • a3cef180d2 fix(rawcli): memory locations live only in suggestions; base-10 call args michael 2026-07-15 18:38:53 -07:00
  • 899142f23a fix(rawcli): memory annotations survive a flaky/absent GET_VERSION michael 2026-07-15 18:23:38 -07:00
  • 33e713549d feat(rawcli): annotate raw hex/binary commands with datasheet memory regions too michael 2026-07-15 17:03:37 -07:00
  • c53c087e84 feat(rawcli): render page-argument completion in the active entry mode michael 2026-07-15 16:29:37 -07:00
  • b6fdb7bca4 feat(rawcli): suggest the tag's memory map when completing a page argument michael 2026-07-15 16:24:45 -07:00
  • 260cb8eb9e feat(rawcli): annotate read/write output with datasheet memory regions michael 2026-07-15 16:18:36 -07:00
  • a501759c43 fix(transport): auto-resync after a read timeout (the "04 BB stale UID" desync) michael 2026-07-15 15:35:21 -07:00
  • a0b70a1984 feat(rawcli): command catalogs + hints for identified LF chips michael 2026-07-15 13:53:15 -07:00
  • 6c5409c111 fix(lf): T55xx config via rotation-to-preset match; label the emitted credential michael 2026-07-14 21:26:56 -07:00
  • e82b94a490 fix(lf): identify_lf fails clearly on a raw async device (not "coroutine has no len") michael 2026-07-14 20:58:30 -07:00
  • e57e6ed268 feat(lf): force device debug quiet during identify michael 2026-07-14 17:55:02 -07:00
  • 26da98ede6 feat(lf): validate + retry LF capture against a flaky NG link michael 2026-07-14 17:41:03 -07:00
  • a06f4d12b8 fix(lf): download only the acquired sample count, not a fixed span michael 2026-07-14 17:34:23 -07:00
  • 938a571155 fix(transport): skip async debug frames — the real cause of garbage LF reads michael 2026-07-14 17:17:33 -07:00
  • f09946c4a3 fix(lf): flush stale input before bulk download (desync -> garbage/DEADBEEF) michael 2026-07-14 16:52:22 -07:00
  • 81625a0e93 feat(lf): faithful ASK demod (cleanAskRawDemod) for real-world envelopes michael 2026-07-14 16:46:41 -07:00
  • b536294a7a fix(lf): read() acquired with the field OFF (SNIFF) — no tag was ever powered michael 2026-07-14 16:17:11 -07:00
  • 2f221644f9 fix(lf): BigBuf download spoke the wrong protocol — LF sample download hung michael 2026-07-14 16:11:11 -07:00
  • 5dd8e086cc fix(lf): per-protocol identify label (native HID/AWID/FDX-B no longer KeyError) michael 2026-07-14 16:00:14 -07:00
  • 42d5f800cb feat(lf): AWID FSK decode (parity-validated Wiegand) michael 2026-07-14 15:58:38 -07:00
  • 7e8d924045 feat(lf): FDX-B (ISO 11784/85) biphase demod + CRC-validated framing michael 2026-07-14 15:55:45 -07:00
  • e4a3aec46f feat(lf): FSK stack + HID Prox demod (faithful lfdemod.c port) michael 2026-07-14 14:14:54 -07:00
  • 3c56d40667 feat(lf): Python LF demod stack — ASK/EM4100 + T55xx config; wire into identify michael 2026-07-14 13:58:51 -07:00
  • 8726681e06 feat(rawcli): LF T5577 identify + clear stale result per identify michael 2026-07-14 13:31:35 -07:00
  • 0775df4d54 fix(rawcli): identify false-positives on 15693/LF; retry 14a michael 2026-07-14 13:26:38 -07:00
  • c04e50efd0 fix(rawcli): re-select per command + auto-CRC (as needed) michael 2026-07-14 13:22:40 -07:00
  • 7b5af3f9d2 fix(14a): raw() returns whole firmware buffer instead of received bytes michael 2026-07-14 13:22:39 -07:00
  • 2f9e825bd4 feat(rawcli): colorized breadcrumb prompt michael 2026-07-14 13:11:47 -07:00
  • 92b4e8771d fix(rawcli): writes take (location, data); multi-frame + CRC michael 2026-07-14 13:07:50 -07:00
  • cecfc03ba7 feat(rawcli): live relevance hint — per-transponder memory map michael 2026-07-14 13:02:59 -07:00
  • 1370526883 fix(rawcli): raw response crash + hex/binary opcode completion michael 2026-07-14 13:00:31 -07:00
  • 7703b638f3 fix(rawcli): drop extra blank line between trace lines michael 2026-07-14 12:52:33 -07:00
  • 41db552e05 fix(rawcli): render ANSI, stop mangling commands, fuller Type 2 catalog michael 2026-07-14 12:50:01 -07:00
  • 6b4a4551d4 feat(rawcli): deep, traced identify — exact model via GET_VERSION michael 2026-07-14 12:40:41 -07:00
  • 5f57cc4202 build(rawcli): make prompt_toolkit a core dependency + document rawcli michael 2026-07-14 12:25:52 -07:00
  • 3e7f47a740 fix(rawcli): Ctrl-/ key binding crashed launch ("Invalid key: c-/") michael 2026-07-14 12:25:36 -07:00
  • ae3fd3d4ea fix(rawcli): friendly message when prompt_toolkit isn't installed michael 2026-07-14 12:21:20 -07:00
  • f76663f798 feat(rawcli): ipython-style completion (Phase 6) michael 2026-07-14 12:19:42 -07:00
  • 4e7181d289 feat(rawcli): TLV/NDEF formatting + multi-line editing (Phase 5) michael 2026-07-14 12:15:54 -07:00
  • 9c84f9e7b0 feat(rawcli): command catalog + function-style commands (Phase 4) michael 2026-07-14 12:13:14 -07:00
  • e024294ec6 feat(rawcli): identify + persistent connection (Phase 3) michael 2026-07-14 12:10:51 -07:00
  • 54e52f029f feat(rawcli): flexible entry + parser (Phase 2) michael 2026-07-14 12:07:21 -07:00
  • 028ce9c21e feat(rawcli): interactive raw-command TUI skeleton (Phase 1) michael 2026-07-14 11:59:29 -07:00
  • 5d4af2c8e4 feat(hitag): Hitag 2 software-sim transponder + reader (Tier 1) michael 2026-07-14 09:34:24 -07:00
  • 130bcd1a90 feat(registers): ST25DV RF_Ai_SS area-security register michael 2026-07-14 09:05:55 -07:00
  • f9e56e32ef feat(registers): ICODE feature-flags decoder (GET NXP SYSTEM INFO) michael 2026-07-14 09:01:52 -07:00
  • e795b5bb1d feat(registers): NXP AES key-privilege register (ICODE DNA / NTAG5) michael 2026-07-14 08:58:24 -07:00
  • f8d01a9120 feat(registers): NTAG5 STATUS_REG / CONFIG_REG self-describing views michael 2026-07-14 08:54:24 -07:00
  • 0f597bc933 feat(registers): NTAG I2C plus config/session/PT_I2C registers michael 2026-07-14 08:45:39 -07:00
  • 2063a33a2b feat(registers): self-describing config/frame registers michael 2026-07-14 08:36:40 -07:00
  • 3aabb64402 pyws plugin P2: live sim resource michael 2026-07-07 18:50:02 -07:00
  • 042f49a9ec fix(sim): bound 14a sim abort latency + detect teardown host-side michael 2026-07-07 10:04:44 -07:00
  • 829f254194 Add pyws workspace plugin (P1: reader resource + namespace + effects) michael 2026-07-06 07:56:13 -07:00
  • 0ba5256d02 docs: Pi install + pm3flash firmware flashing (README, CLAUDE, roadmap) michael 2026-07-05 22:20:15 -07:00
  • c0ae7b90c8 feat(flash): pm3flash --build PLATFORM (build from the submodule, then flash) michael 2026-07-05 22:20:04 -07:00
  • 9f926a176c fix(flash): merge segments sharing a flash page michael 2026-07-05 21:59:31 -07:00
  • b0b46b3919 feat(flash): firmware pin + matches_pin detection + pm3flash CLI michael 2026-07-05 21:37:46 -07:00
  • 762e305dd9 feat(flash): pure-Python firmware flasher over the OLD-frame protocol michael 2026-07-05 21:33:01 -07:00
  • 42a9146e6c chore(packaging): MIT license + consolidate metadata into pyproject michael 2026-07-05 21:32:45 -07:00
  • 6e77beea1e docs: firmware-fork DT-Gitea migration runbook + roadmap entry michael 2026-07-05 18:29:18 -07:00
  • 14844bc700 chore(firmware): bump submodule to live-sim EML host-poll (303bd5873) michael 2026-07-05 18:29:18 -07:00
  • fb3dc5cd68 feat(sim): load 14a tag memory into emulator RAM (mfu_dump build + tag.sync) michael 2026-07-05 18:29:12 -07:00
  • 3123d4bc6a fix(submodule): repoint firmware at git.dngr.us (was dead GitHub URL) michael 2026-07-05 17:35:02 -07:00
  • 615d4a6115 docs: roadmap index + custom-14a-command plans + backfill plan docs michael 2026-07-05 12:58:48 -07:00
  • a24f0f803f feat(sim): reject wrong-protocol tags in start_14a/start_15693; export tags; uid getter michael 2026-07-05 12:58:37 -07:00
  • 77ff1bb076 chore(firmware): bump submodule to 14a sim-trace fixes (3df2ed2e8) michael 2026-07-05 12:58:23 -07:00
  • 9843ecdc30 chore: ignore .venv/.claude/.vscode/.mcp.json, untrack committed pyc michael 2026-07-05 12:57:56 -07:00