Commit Graph
22023 Commits
Author SHA1 Message Date
kormax da5355ed81 Add support for GetContainerId to 'hf felica sim' 2026-06-13 22:20:45 +03:00
kormax 0e9e796670 Add support for Echo command to 'hf felica sim' 2026-06-13 22:16:10 +03:00
Iceman 7cad850d54 Merge pull request #3373 from towelbyte/towelbyte_cotag
Complete and working reimplementation of COTAG support
2026-06-13 10:09:55 +02:00
towelbyte 2e35b95a7c Fix: Replace VLAs with heap alloc in lfdemod signal helpers
Using "data load" on very large trace files (e.g. dumps with 700k samples,
such as COTAG dumps) was causing crashes on some platforms due to stack overflow
since VLA temporary buffers were used.

Replace VLAs in computeSignalProperties() and removeSignalOffset() with
heap-allocated buffers instead.
2026-06-13 00:33:24 +02:00
towelbyte e3d2797411 CHANGELOG.md: Add COTAG improvement changelog entry 2026-06-12 22:53:08 +02:00
towelbyte 85c029b8fd pm3_tests.sh: Adapt COTAG tests for the new implementation
"lf cotag demod" now works directly on g_GraphBuffer:
Thus, adapt the existing test. Additionally, add 3 more cotag tests.
2026-06-12 22:49:07 +02:00
towelbyte 0ef1d35891 Added a few COTAG trace dumps. 2026-06-12 22:49:06 +02:00
towelbyte c1cefd6e38 Complete and working reimplementation of COTAG support
- "lf cotag reader": now behaves mostly the same as "lf read",
   except it is dedicated for COTAG.
	- It makes sure to send COTAG start sequence and to use
          real time sampling mode to get enough samples.

- "lf cotag demod": Working client-side COTAG demodulation implementation
   (high-low raw demod + Manchester demodulation from high/low demod).
	- Now uses samples directly from g_GraphBuffer
	- Supports 3 types of COTAG preamble (1 active, 2 passive), which
          can start anywhere in the samples.
	- Prints full 128-bits of COTAG tag data in 3 formats: raw,
          groupped by nibbles, and in hex, and identifies and
          prints out the card number.

Signed-off-by: andrej@towelbyte.net
2026-06-12 22:49:06 +02:00
Iceman f6d5a1fc70 Merge pull request #3378 from Sanduuz/feature/ci_check_for_client_experimental_lib
Feature: CI check for building client experimental lib
2026-06-12 20:22:06 +02:00
Sanduuz e8eec15830 Add better error message for github step summary 2026-06-12 20:47:22 +03:00
Sanduuz 1803e15207 Add CI check for building the client experimental lib 2026-06-12 20:33:32 +03:00
Sanduuz 3bea6eaea7 Fail client experimental lib building at compile-time if there are undefined symbols on Linux 2026-06-12 20:31:42 +03:00
Iceman 8b59f23bca Merge pull request #3376 from kormax/felica-sim
Add `hf felica sim` command
2026-06-12 18:53:13 +02:00
Iceman 3f04158950 Merge pull request #3377 from Sanduuz/fix/client_lib_missing_symbol
Add missing files to CMakeLists for experimental client lib
2026-06-12 18:51:32 +02:00
Sanduuz e83e2e58a3 Add missing files to CMakeLists for experimental client lib 2026-06-12 19:02:54 +03:00
kormax 4ad136b5db Implement 'hf felica sim' command 2026-06-12 18:31:57 +03:00
Iceman e54d829cb2 Merge pull request #3375 from kormax/felica-dump-improvements
FeliCa dump improvements
2026-06-12 11:04:48 +02:00
kormax 0f2a56cdec Add container issue information to 'hf felica dump' 2026-06-12 05:45:01 +03:00
kormax 3e86f39978 Add product information to 'hf felica dump' 2026-06-12 05:35:01 +03:00
kormax 35869128e5 Add specification version to 'hf felica dump' 2026-06-12 05:28:01 +03:00
kormax 2ac41a3d90 Add system node discovery to 'hf felica dump' 2026-06-12 05:13:01 +03:00
Iceman ef75d0553f Merge pull request #3374 from horrordash/master
fix incorrect reading of MF Classic 4K
2026-06-11 23:28:13 +02:00
horrordash 611e5f0878 fix incorrect reading of MF Classic 4K 2026-06-12 00:04:46 +03:00
Iceman cd08db4424 Merge pull request #3372 from kormax/felica-dump-improvements
FeliCa dump improvements
2026-06-11 20:48:10 +02:00
kormax 32a110db1a Add support for generating dump files in 'hf felica dump' 2026-06-11 21:40:17 +03:00
Iceman 1121063eee Merge pull request #3357 from AlxCzl/mad-ops-revamp
Add a global mad command
2026-06-10 17:14:53 +02:00
Philippe Teuwen 410769e463 counterfeit ULC: remove legacy poc 2026-06-10 08:05:15 +02:00
Philippe Teuwen 652602d23c Fix alignment warning 2026-06-10 01:16:14 +02:00
Philippe Teuwen 184a957436 counterfeit ULC: add support to auth with nonce pairs 2026-06-10 01:02:14 +02:00
Philippe Teuwen 607737e52e counterfeit ULC: need to merge nonce collection in auth logic for proper timings 2026-06-10 00:39:46 +02:00
Philippe Teuwen 6d8ed745fd counterfeit ULC: misc tuning 2026-06-10 00:39:46 +02:00
achazal 25fe2a2540 mad: add changes to the CHANGELOG.md 2026-06-09 19:19:50 +02:00
achazal 36fac3f647 mad: restore fixes lost during rebase (e.g. harden callers, fix MAD2 read gating...) 2026-06-09 19:08:58 +02:00
achazal d6ed3c18c2 mad: Add unified MAD read/write/verify with ops struct abstraction 2026-06-09 18:48:25 +02:00
Iceman d9265ad813 Merge pull request #3369 from dangerous-tac0s/15693-inventory-enhancements
15693 inventory enhancements
2026-06-09 07:59:40 +02:00
Iceman 207f85c23d Merge pull request #3370 from cindersocket/fix-emulator-hardening
Fix a few more ways to lose emulator data
2026-06-09 07:53:08 +02:00
CinderSocket 0791bcc32c fix-emulator-hardening 2026-06-08 18:08:26 -07:00
michaelandClaude Opus 4.8 e380bc09e4 hf 15 reader --all -@: live presence table for continuous inventory
Continuous 16-slot inventory now shows a persistent, in-place presence table: one row
per UID seen this session (kept as rows, never removed), redrawn in place each scan with
present / gone (Ns ago) status and a present/total count.

Also keep the RF field up across scans in continuous mode (drop it once on exit) instead
of re-initialising every round -- faster, and avoids per-scan 'Setting ISODEP' churn when
APDU logging is enabled. Fix the reader help text (the polling loop exits on Enter, not
the pm3 button).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 14:54:00 -07:00
michaelandClaude Opus 4.8 e53cd40876 hf 15: dedicated (shorter) empty-slot timeout for 16-slot inventory
The 16-slot inventory reused the single-slot read timeout (ISO15693_READER_TIMEOUT,
~1558us) for every slot, so each empty slot waited the full window. That timeout only
needs to catch the START of a response (a SOF) within t1 (~320us)+margin -- once a SOF
is seen it stops applying and the full response is still received. Add a dedicated
ISO15693_INVENTORY_SLOT_TIMEOUT (~755us) for the inventory slot 0 + EOF slots, leaving
the single-slot and WRITE timeouts untouched.

Verified on-device via hf 15 list (carrier-period timestamps): per-slot ~1.0ms vs
~1.8ms, ~1.8x faster rounds, no tags missed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 14:54:00 -07:00
michael 9a4fcf2140 hf 15 reader: 16-slot anti-collision inventory (--all)
Add ISO 15693 16-slot inventory with anti-collision tree-walking, reachable via 'hf 15 reader --all'; single-tag reading stays the default. The firmware steps the 16 slots with EOF markers and flags 'signal but no decode' slots as collision hints; the client walks the UID mask tree, validates CRC per slot to confirm real collisions, and dedups discovered tags. Single-tag reading (default) and 16-slot inventory (--all) both run under hf 15 reader.
2026-06-08 14:54:00 -07:00
kormax fee86ca374 Add support for dumping multiple systems in 'hf felica dump' 2026-06-08 19:12:35 +03:00
Iceman 71b0df6cc5 Merge pull request #3368 from cindersocket/feat-iclass-non06-aia
Support non-06 iCLASS SE AIA SIO blocks
2026-06-08 14:13:38 +02:00
CinderSocket b05a4f9bcf Support non-06 iCLASS SE AIA SIO blocks 2026-06-08 04:37:26 -07:00
Iceman 8c54d901f7 Merge pull request #3361 from dangerous-tac0s/ultimatecard-pack-fix
PACK fix for the lua script hf_mf_ultimatecard
2026-06-08 09:51:58 +02:00
Iceman c9220526bf Merge pull request #3366 from cindersocket/feat-iclass-emulator-workflows
Preserve iCLASS emulator memory across HF_15 reloads
2026-06-08 06:30:01 +02:00
michael c2a44b151d Updated magic cards notes with UMC PWD/PACK info for the 06A0 version 2026-06-07 20:32:17 -07:00
CinderSocket 81a5211594 Fix a situation where memory is improperly cleared 2026-06-07 16:37:32 -07:00
Philippe Teuwen efcc34a698 make style 2026-06-07 23:01:20 +02:00
Philippe Teuwen ff04e1ea9a hf mfu cauth: add -c to collect nonces 2026-06-07 22:58:39 +02:00
Iceman 7ccae8aa5d Merge pull request #3365 from cindersocket/feat-iclass-des-transport
Add DES and plain iCLASS transport
2026-06-07 22:54:58 +02:00