Commit Graph

111 Commits

Author SHA1 Message Date
Connor Milligan cc7b235a5b Native client support for FM11RF08S SEN recovery 2026-05-21 01:19:15 +02:00
Philippe Teuwen 729a8748d9 Fix vec dep with cmake 2026-05-19 09:36:32 +02:00
Sanduuz 2d1fbc12c0 Add prime.c containing mifare_prime_get_version_str symbol to experimental client lib CMakeLists.txt 2026-05-13 15:43:52 +03:00
kormax fa414f3b65 Implement 'hf mfd verifycert' command 2026-05-04 22:07:33 +03:00
kormax d06106b538 Add 'hf calypso info' command 2026-05-01 22:41:42 +03:00
Antiklesys 8d6e474a75 hf iclass legbrute speed improvements #1
Imported updates from legbrute hashcat modules to speed up hf iclass legbrute

1. Bitslicing — biggest win (~32×)
Kernel stores each cipher register (l, r, b, t) as 32 parallel 1-bit lanes in u32s (m64000_a3-pure.cl:147-201, bs_iclass_tick) and computes 32 MACs per tick. The CPU doMAC_brute does 1 at a time. A 64-bit bitslice port would give ~64× per core; AVX2 gets 256×. This is the single largest speedup lever.

2. Early-reject after 8 output ticks
In m64000_sxx (m64000_a3-pure.cl:534-535) the kernel breaks out as soon as the first MAC byte can't match. doMAC_brute always produces the full 32 output bits before memcmp. Comparing byte-by-byte as bits are produced saves ~3× on the output phase since 255/256 keys fail after byte 0.

3. Pre-expanded y_ccnr bit array
Kernel expands the 96 input bits into a flat array once (m64000_a3-pure.cl:239-247) and reuses it for every candidate. suc_bytes in cipher.c:181 re-does b >>= 1 shifts for every key. Pre-expanding lets the inner loop be branch-free and vectorizable.

4. Widen lanes to 256/512 via AVX2/AVX-512. The bitslice code is written against a single uint64_t lane type — swapping for __m256i/__m512i (or an abstracted bs_word_t) gives 4×/8× throughput on hosts that support it, with scalar u64 fallback on ARM/older x86. NEON gives 2× for ARM.
2026-04-15 01:09:19 +08:00
Philippe Teuwen 961e59b5d1 Revert "Release v4.21611 - BREAKMEIFYOUCAN!"
This reverts commit aaacc75e9f.
2026-04-14 10:19:30 +02:00
Philippe Teuwen aaacc75e9f Release v4.21611 - BREAKMEIFYOUCAN! 2026-04-14 10:19:30 +02:00
Philippe Teuwen d6c823bea3 fix lib cmakelist & fix cmakelist alphabetic order 2026-04-13 21:44:50 +02:00
iceman1001 c502d2d88d fix cmake 2026-04-11 08:06:48 +07:00
kormax c8a4314353 Add hf gst commands 2026-03-14 17:34:58 +02:00
pingu2211 c07d688597 Implement Gallagher MIFARE Classic card writing and update MAD sector functionality 2026-03-10 15:13:42 +11:00
Philippe Teuwen c529895e68 remove Qt support from experimental_lib 2026-03-01 00:13:48 +01:00
kormax de94afa4f6 Add 'hf aliro info' command 2026-02-27 20:26:50 +02:00
iceman1001 338ab9c81a Revert "Release v4.21128 - Permafrost"
This reverts commit b10235b03b.
2026-02-25 16:15:01 +01:00
iceman1001 b10235b03b Release v4.21128 - Permafrost 2026-02-25 16:15:01 +01:00
Sanduuz 192c5237b8 Added pla.c to experimental client lib CMakeLists 2025-12-30 22:51:19 +02:00
Sanduuz e0eb2a6993 Add qrcode source to CMakeLists 2025-12-18 15:49:29 +02:00
iceman1001 628d8633f7 Revert "Release v4.20728 - Phrack"
This reverts commit ee9b3f4acb.
2025-09-11 20:31:08 +02:00
iceman1001 ee9b3f4acb Release v4.20728 - Phrack 2025-09-11 20:31:08 +02:00
iceman1001 8ce72a9dfe fix missing includes in Cmakefile 2025-09-04 14:30:53 +02:00
iceman1001 1f718683b3 Revert "Release v4.20469 - Daddy Iceman"
This reverts commit 9fa173c727.
2025-06-16 16:18:01 +02:00
iceman1001 9fa173c727 Release v4.20469 - Daddy Iceman 2025-06-16 16:18:01 +02:00
iceman1001 6ed1853320 Revert "Release v4.20142 - Blue Ice"
This reverts commit a657dbda9b.
2025-03-25 16:18:49 +01:00
iceman1001 a657dbda9b Release v4.20142 - Blue Ice 2025-03-25 16:18:49 +01:00
Philippe Teuwen 4496b7ec7a experimental lib & client: force symlinks 2025-03-24 09:18:21 +01:00
Philippe Teuwen 1aa8ae6076 cppcheck unused variable 2025-03-23 23:35:34 +01:00
douniwan5788 4bde83b89d Added lf hitag htu support for Hitag µ/8265 2025-03-19 18:56:23 +08:00
iceman1001 7b528a8569 fixed missing file in cmakelists.txt for experimental lib 2025-03-18 16:48:07 +01:00
Philippe Teuwen f26727eb28 Refactor originality checks. Notes:
- removed pk "NTAG424DNA, NTAG424DNATT, DESFire Light Ev2", "04B304...3B" which is a typo of "DESFire Ev2", "04B3...3A"},
- MIKRON pk currently not used because I don't know if it's for MFC, MFUL or sth else
- ST25TN pk added but currently not used, need to be implemented/tested
- ST25TV pk currently not used, need to be implemented/tested
2024-12-14 14:29:50 +01:00
iceman1001 daff8228a2 Revert "Release v4.19552 - Orca"
This reverts commit a039ac18cc.
2024-11-22 12:15:19 +01:00
iceman1001 a039ac18cc Release v4.19552 - Orca 2024-11-22 12:15:19 +01:00
Philippe Teuwen 8602a182bb Added option to build against non-default python3 with CMake as well 2024-11-14 09:31:49 +01:00
Philippe Teuwen de96479d80 pm3_console() in Python/Lua/C: replace passthru by capture and quiet 2024-10-29 21:13:38 +01:00
Philippe Teuwen fe361cf30c Fixing experimental_lib/example_lua, thanks @jmichelp ! 2024-10-28 00:48:23 +01:00
Philippe Teuwen 7fa1a204f4 Add examples to fetch prefs from Lua & Python scripts 2024-10-27 11:20:27 +01:00
Philippe Teuwen 50d9042a5c Fix broken client/experimental_lib 2024-10-14 17:18:10 +02:00
Jean-Michel Picod 18e3600d95 Update build and CI scripts to LUA 5.4 2024-09-20 17:21:17 +02:00
iceman1001 b881bbbd00 Revert "Release v4.18994 - Backdoor"
This reverts commit cd6dc880ad.
2024-09-10 15:40:28 +02:00
iceman1001 cd6dc880ad Release v4.18994 - Backdoor 2024-09-10 15:40:28 +02:00
Philippe Teuwen b91f7742c1 fix experimental_lib/example_c/test_grab: no fork&pipe needed, use pm3_grabbed_output_get 2024-09-09 23:57:32 +02:00
Philippe Teuwen e6c29ce6e0 Merge pull request #2447 from siowu/fix-readline-url
Corrected an incorrect Readline library URL in client CMakeLists.txt
2024-09-02 10:10:38 +02:00
siowu 11006981d6 Corrected an incorrect Readline library URL in client CMakeLists.txt 2024-09-02 13:05:34 +08:00
Ciprian Ionescu 8b1e5c88b1 use lf hitag hts submenu 2024-08-26 01:57:16 +02:00
Ciprian Ionescu 8d77ee5438 refactor Hitag S r/w into separate submenu; implement pretty config parsing 2024-08-25 02:30:40 +02:00
siowu 4137d04bc2 Corrected an incorrect Readline library URL. 2024-08-15 17:33:54 +08:00
Philippe Teuwen 369c5bb5db Added native output grabbing for Python and Lua: less hacky than output_grabber.py, should work on ProxSpace as well 2024-08-14 13:53:20 +02:00
Philippe Teuwen e3fb13de39 Move output_grabber 2024-08-07 13:18:27 +02:00
Philippe Teuwen 11c1c8490c more robust ouput_grabber 2024-08-05 23:31:00 +02:00
Philippe Teuwen 9d66c11ac4 Fix output_grabber.py to allow several calls 2024-07-29 22:24:18 +02:00