Commit Graph
21959 Commits
Author SHA1 Message Date
Mykhailo Shevchuk 2fd25d4935 Magic cards doc: 8265 updates 2026-06-06 02:34:40 +03:00
Philippe Teuwen fb238015fa hf mfu sim --1a2-mirror 2026-06-04 20:19:15 +02:00
Iceman 01b3cd2720 Merge pull request #3355 from AlxCzl/mad-security-rewrite
MAD revamp to harden the parser with typed structs and to fix memory safety bugs
2026-06-03 22:46:24 +02:00
Alexandre CHAZAL 94b8ff88f5 Merge branch 'master' into mad-security-rewrite
Signed-off-by: Alexandre CHAZAL <AlxCzl@users.noreply.github.com>
2026-06-03 12:09:58 -07:00
achazal c7ac39f376 mad: harden MAD parser with typed structs and fix memory safety bugs 2026-06-03 20:22:30 +02:00
Iceman 458acf4fc6 Merge pull request #3353 from AlxCzl/fix-mad1-loop-oob
Fix MAD1 off-by-one in MADDecode: loop read Key A as 16th AID
2026-06-02 20:43:48 +02:00
Iceman b3f1913f18 Merge pull request #3354 from AlxCzl/fix-mad-cardholder-overread
Fix buffer over-read in MADCardHolderInfoDecode
2026-06-02 20:41:29 +02:00
iceman1001 72ca3bd37b text style 2026-06-02 20:25:40 +02:00
Iceman af7d233198 Merge pull request #3352 from AlxCzl/fix-mad-null-deref
Fix NULL dereference in MAD print_aid_description
2026-06-02 19:11:05 +02:00
achazal 10cd87175d Fix buffer over-read in MADCardHolderInfoDecode 2026-06-02 19:04:11 +02:00
achazal 6aa8a2f892 Fix MAD1 off-by-one in MADDecode: loop read Key A as 16th AID 2026-06-02 19:02:05 +02:00
achazal 2c27d4fc10 Fix NULL dereference in MAD print_aid_description 2026-06-02 18:56:24 +02:00
Iceman c46b72ee2b Merge pull request #3349 from AlxCzl/fix-3346
Fix MADDecode off-by-one (#3346): mad[] sized for 39 entries but 40 written when MAD2 present
2026-06-02 17:25:18 +02:00
Iceman e1228eed5d Merge pull request #3350 from AlxCzl/fix-strcat
Fix -Werror=stringop-truncation build failure in fileutils.c
2026-06-02 17:22:09 +02:00
Iceman 95b73e2605 Merge pull request #3351 from AlxCzl/fix-3347
Fix NULL dereference (#3347) in emv_pki_decode_message
2026-06-02 17:20:51 +02:00
orbisai0security 94c0fc2edd Hardening: explicitly set shell=False on all subprocess.run() calls in fm11rf08s_recovery.py.
All four call sites already pass `cmd` as a Python list, so Python's default of `shell=False` means there is no active command-injection risk. This change makes the security intent explicit, prevents accidental future regression if a call site is later changed to pass a string, and improves code clarity.

No functional behaviour is changed.
2026-06-02 17:12:31 +02:00
achazal 8465ea9cba fix NULL dereference (#3347) in emv_pki_decode_message when crypto_pk_encrypt fails 2026-06-02 17:10:57 +02:00
achazal d4c4ab30c7 fix MADDecode off-by-one (#3346): mad[] sized for 39 entries but 40 written when MAD2 present 2026-06-02 17:03:50 +02:00
achazal c29afcbe8c Fix -Werror=stringop-truncation build failure in fileutils.c 2026-06-02 16:49:47 +02:00
Philippe Teuwen ea142febde mf mfu sim ULC/ULAES: force tag response if --1a2 is provided 2026-06-02 07:01:41 +02:00
Iceman a0a114f090 Merge pull request #3344 from team-orangeBlue/mfp_defkeys
Add 2 keys for Mifare Plus SE
2026-06-01 21:55:23 +02:00
team-orangeBlue dff97c8c39 Update CHANGELOG.md
Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
2026-06-01 21:20:50 +03:00
team-orangeBlue 0fdfb6d516 Add Mifare Plus SE post-1K keys
Used by mfp+se tags for sectors above 15; since the tags have no originality sector as such and rely on theoretically re-using the 2K chip dies, this can help recover keys for a fully custom-keyed Plus SE tag (should someone buy them as MFC1Ks for whatever reason).

Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
2026-06-01 21:19:43 +03:00
Iceman 7135bba324 Merge pull request #3343 from kormax/new-client-resources
Add new client resources
2026-05-31 11:34:01 +02:00
kormax 169b5ed9c6 Add new AID entries to 'aidlist.json' 2026-05-31 11:16:15 +03:00
kormax 485ae4ed9c Add new entries to 'ecplist.json' 2026-05-31 10:52:32 +03:00
Iceman c7b95a94e5 Merge pull request #3342 from kormax/calypso-dump-improvements
Calypso dump improvements
2026-05-30 14:23:00 +02:00
kormax c77c7c6d39 Save startup info in 'hf calypso dump' 2026-05-30 14:20:59 +03:00
kormax 32db41914d Add updated data object extraction to 'hf calypso dump' 2026-05-30 10:28:24 +03:00
Iceman 8e5d05540f Merge pull request #3341 from kormax/ecplist-new-entries
Add new entries to 'ecplist.json'
2026-05-30 04:32:47 +02:00
kormax 9fca371bc4 Add new entries to 'ecplist.json' 2026-05-29 22:31:48 +03:00
Iceman 55963286fb Merge pull request #3340 from team-orangeBlue/mfp_quickdump
Quick dump support in Mifare Plus
2026-05-29 19:40:12 +02:00
team-orangeBlue d859b224d2 Fix 4K dumping
A missed multiplier broke dump saving

Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
2026-05-29 15:33:44 +03:00
team-orangeBlue ee14761c22 Fix MAC calculation
Doing non-first auth would reset counters, breaking MAC calculation and crypto as a whole

Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
2026-05-29 13:27:09 +03:00
team-orangeBlue 319a4d5bb0 Update CHANGELOG.md
Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
2026-05-29 13:08:34 +03:00
team-orangeBlue 021ec18506 Add quickdump support
Mifare Plus can now be dumped quickly.
This is achieved by using a mix of READ RANGE, skipping reply MACs, requesting data in plaintext (almost) as much as possible, and also avoiding card + crypto restarts.

1K tags now require 3 seconds; 2k require just shy of 6; 4k require 8.

Previously the time for 2k tags was 9 seconds. While the improvement is pretty small, it helps out.

Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
2026-05-29 13:05:00 +03:00
team-orangeBlue 3c3d0e275c Compiler fix
Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
2026-05-29 12:49:43 +03:00
team-orangeBlue e6c29a9301 Support auth4
All commands now do AuthFirst with the ability to change to NonFirst

Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
2026-05-29 12:46:16 +03:00
team-orangeBlue b3fc5848b1 Add block count support
mfp_data_crypt can now work with read range

Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
2026-05-29 12:36:50 +03:00
team-orangeBlue 7164cea9c0 Declare function
Add support for non-first auth

Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
2026-05-29 12:35:42 +03:00
team-orangeBlue b9becbc817 Add non-first auth support
Overhaul of the auth function

Now a new bool can be passed if the auth coming in is meant to be a followup.
This avoids regeneration of Ti. Maybe that's faster.

Not functional for any management key.

Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
2026-05-29 12:32:30 +03:00
team-orangeBlue 1b19a9e3e8 Implement nonfirst
Add support for non-first mifare plus auth

Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
2026-05-29 12:17:02 +03:00
team-orangeBlue d4796d8d10 Increase delay for ExchangeRaw14A
This function is primarily used by Mifare Plus auths.
One problem that is present is when using keys 9002 or 9003 to upgrade a card to a new security level, the card will likely spend more time than usual adjusting all settings before it replies, as such causing a timeout.

This increase fixes that.

Signed-off-by: team-orangeBlue <63470411+team-orangeBlue@users.noreply.github.com>
2026-05-29 12:15:54 +03:00
Philippe Teuwen fa8e200c5b mfulc_counterfeit_recovery: faster vuln check 2026-05-28 23:58:09 +02:00
Philippe Teuwen f22dd43cfc mfulc_counterfeit_recovery: faster writes 2026-05-28 23:37:29 +02:00
Philippe Teuwen b13a8ce1d5 mfulc_counterfeit_recovery --cuda: dummy call to wake up the GPU ahead 2026-05-28 23:24:14 +02:00
Philippe Teuwen 13b5b1d519 Adjust hf_doegox_auth0 to support counterfeits 2026-05-28 20:08:15 +02:00
Iceman d1da7c9496 Merge pull request #3339 from kormax/aidlist-more-new-entries
Add new entries to 'aidlist.json'
2026-05-28 16:38:56 +02:00
kormax df9d89a3f4 Add new entries to 'aidlist.json' 2026-05-28 17:12:23 +03:00
Iceman 9f1423553f Merge pull request #3338 from kormax/aidlist-new-entries
Add new Mifare AID values to 'aidlist.json'
2026-05-27 16:54:49 +02:00