Commit Graph

267 Commits

Author SHA1 Message Date
WillyJL 5d5fa5e9aa Merge branch 'feat/nfc-type-4-final' into mntm-dev 2025-10-06 01:32:15 +02:00
WillyJL 43f08bd0ba Merge remote-tracking branch 'ofw/dev' into feat/nfc-type-4-final 2025-10-05 22:31:59 +02:00
Zinong Li 85b6b2b896 NFC FeliCa: Service Directory Traverse + Dump All Unencrypted-Readable Services' Blocks (#4254)
* SimpleArray attached to FelicaData

* tx rx done. response parsing done (in log)

* dynamic vector as buffer. rendering begin

* On screen render for directory tree

* flags in render to indicate is_public_readable

* beautify render flags

* format

* offload dynamic vector into individual files

* saving. exposed dir tree writing for double use

* save: additional formatting

* save: clean up and some additional notes

* load done

* delete unnecessary debug log

* Load: safer way to handle backward compatibility

`parsed` being true is only contingent on whether the header (device type, UID, etc) are correctly read. The detailed data can be absent if saved from previous versions.

Side effects:
1. The data format version number must not increment.
2. Newer sections of dumps must be appended in the end of the file.

* format

* handle block reading according to IC type

Old version was aimed for FeliCa Lite dumping, which doesn't apply to FeliCa standard. Thus they need to be diverged in the poller run workflow.

* read block content works. rendering begin

* Render Refactor: dir & dump view from submenu

* Render: show IC type name

* IC parsing function cleanup

* Revert "IC parsing function cleanup"

This reverts commit ee3f7bf125b54b10d238b0aeb657ba15f27f93ba.

* Load: Standard dump. Fully backward compatible

* format

* sync API version

* format saved file

* delete unused variable

* clean ups

* IC type addition

* correction

* beautify attribute parsing

* correction

* Lite save: delete extra line

* correction: FeliCa link in Lite-S mode

* format

* Save: simplify printing

* update IC type parsing

* conform to api standard: const resp ptr to ptr

also slightly faster and more readable block dump loop

* disambiguate workflow type vs ic type

It was too confusing to have the ic name string telling you one thing and ic_type enum saying the other. Might as well use better naming to indicate the use case for the two things

* beautify on device render

* reject dynamic_vector, embrace m-array

* lint

* use full variable name

* partial fix: poller context's data proper init

* edit unit test dump IC code

and a small bug fix for the Lite auth workflow

* unit test felica dump PMm correction

* Fixes for static analysis warnings

---------

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-10-01 18:54:08 +04:00
Nathan N e7634d7563 NFC: Ultralight C App Key Management, Dictionary Attack (#4271)
* Upstream Ultralight C dictionary attack (squashed)

* linter: formatting

* unit_tests: nfc: split nfc data to named var

* Fix mf_ultralight_poller_sync_read_card

* linter: suppressed warnings on TODOs

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-09-29 21:05:06 +04:00
WillyJL d97155eb2d Format 2025-09-06 03:35:15 +02:00
WillyJL 3a35730a24 Merge remote-tracking branch 'xero/dev' into mntm-dev 2025-09-06 03:32:17 +02:00
WillyJL 12f78f1b83 NFC: Fix slashes in prefilled filename 2025-08-24 02:18:13 +02:00
noproto 603e1bd978 Now reading an UL-C card gives the success tone only if the key is found 2025-08-18 03:16:36 -04:00
noproto 9882c586ae Fix regression, read card. Don't try dict if user chose "Unlock with key". 2025-08-18 02:13:51 -04:00
noproto 374f49319b Fix uninitialized key attempt 2025-08-18 00:21:36 -04:00
noproto 1b88b86a11 Merge remote-tracking branch 'flipperdevices/dev' into ulcdict 2025-08-17 17:54:56 -04:00
WillyJL 9e1baf715e Merge remote-tracking branch 'fork-ofw/feat/nfc-type-4-final' into mntm-dev --nobuild 2025-06-29 03:43:52 +01:00
Willy-JL 8bedb187c0 Merge remote-tracking branch 'mntm/dev' into feat/nfc-plugin-mania 2025-04-14 08:52:19 +01:00
Willy-JL 5facd2a593 NFC: Improve loading of parser plugins 2025-04-14 08:52:02 +01:00
Willy-JL 7fcf254733 NFC: Add missing API imports 2025-04-13 03:23:51 +01:00
Willy-JL 399c72dd35 NFC: Split NfcProtocolSupport into plugins 2025-04-13 03:01:10 +01:00
Willy-JL 49d7ce7349 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2025-04-12 10:36:13 +01:00
Willy-JL 04415bf7dc Merge remote-tracking branch 'ofw/dev' into feat/nfc-type-4 2025-04-10 03:42:55 +01:00
RebornedBrain f07048d1b0 [FL-3902] NFC app now can launch MFKey32 (#4117)
* feat: app chaining

* add `launch_current_app_after_deferred`, remove `get_referring_application`

* fix naming

* new api

* fix f18

* Added new function which enqueues external app from nfc app

* Added path to MFKey32 app

* Button "Crack nonces in MFKey32" added to ReadMenu scene

* SaveConfirm scene adjusted to move to different scenes depending on state

* SaveSuccess scene now moves to different scenes depending on SaveConfirm scene state

* MfKeyComplete scene shows different text when MFKey.fap present on the device

* Now MfKeyClassic scene can run external app

* fix deferred launches after errors

Co-authored-by: Anna Antonenko <portasynthinca3@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-04-07 01:49:22 +04:00
Willy-JL a0619c01d7 Merge remote-tracking branch 'ofw/dev' into mntm-dev --nobuild 2025-04-01 07:42:00 +00:00
WillyJL 8871df863b NFC: Support DESFire Transaction MAC file type (#4159)
* NFC: Support DESFire Transaction MAC file type

* Fix typo

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-03-31 21:22:16 +04:00
WillyJL 17759a9e4b NFC: Fix crash on ISO15693-3 save when memory is empty or cannot be read (#4165)
* NFC: Possibly fix ISO15693-3 save crash with no data

* Also prevent malloc(0) if block size or count is 0

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-03-31 20:59:12 +04:00
Willy-JL c70626248a Simpler naming scheme 2025-03-27 06:39:20 +00:00
Willy-JL 6fb122e466 Stop poller and blinking on write success/fail 2025-03-26 12:15:32 +00:00
Willy-JL 71be991a15 Merge branch 'feat/desfire-transaction-mac' into mntm-dev --nobuild 2025-03-26 11:38:40 +00:00
Willy-JL beb8a8c702 NFC: Support DESFire Transaction MAC file type 2025-03-25 09:13:25 +00:00
Willy-JL 2f521d5e00 NFC: Only show MFP GetVersion info when available 2025-03-25 03:25:22 +00:00
Willy-JL d2f4d0c216 NFC: Show version info for MIFARE Plus (was implemented but not shown) 2025-03-22 11:37:34 +00:00
Willy-JL ff340ea256 NFC: Implement basic NTAG4xx detection 2025-03-22 09:17:54 +00:00
Willy-JL 4c1273378c Fix writing retrying after success 2025-03-21 06:34:49 +00:00
Willy-JL 3bd92f8cf1 NFC: Fix duplicated ProtocolSupport handling, fix some inconsistent naming 2025-03-21 06:26:55 +00:00
Willy-JL 1943661ea3 NFC: Refactor Write actions into ProtocolSupport 2025-03-21 06:02:08 +00:00
Willy-JL 3cffc69cb5 Fix some message strings 2025-03-20 04:23:33 +00:00
Willy-JL b503020f6d NFC: Implement Type 4 Tag writing biolerplate and structure 2025-03-17 06:46:13 +00:00
Willy-JL d174fa9505 NFC: Implement Type 4 Tag rudimentary emulation 2025-03-10 11:00:15 +00:00
Willy-JL aa38025977 NFC: Implement Type 4 Tag saving 2025-03-06 02:21:47 +00:00
Willy-JL d5161f0806 Fix reading empty NDEF message 2025-03-06 01:40:46 +00:00
Willy-JL 358631ec86 NFC: Implement Type 4 Tag reading 2025-03-05 08:10:03 +00:00
noproto 948dffadcc Dictionary attack functional 2024-12-20 18:07:18 -05:00
Willy-JL 661a467ff7 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-12-10 04:07:07 +00:00
Luu c3dc9e1ec2 Fix typo for mf_classic_key_cahce_get_next_key() function (#4015)
* Update mf_classic_key_cache.c
* Update mf_classic_key_cache.h
* Update mf_classic.c
* Update nfc_scene_mf_classic_update_initial.c

Co-authored-by: あく <alleteam@gmail.com>
2024-12-02 16:27:16 +09:00
noproto 60e0a697fa Initial structure for UL-C dictionary attacks 2024-10-28 19:56:28 -04:00
Willy-JL ba605e1c03 Merge remote-tracking branch 'ul/dev' into mntm-dev
Only partially merged 1ceb1eb256 and 09d6e4ee30
Changes to login in cc1101_ext.c and adding setting are ignored
2024-10-07 04:00:01 +01:00
Willy-JL 5f3a9e5cc2 Merge commit '0469ef0e5529' into mntm-dev 2024-10-07 02:44:57 +01:00
RebornedBrain 8c14361e6a [FL-3830] Emulation freeze (#3930)
Co-authored-by: あく <alleteam@gmail.com>
2024-10-06 17:55:13 +01:00
MX 2e241f56eb rename everywhere 2024-10-05 14:55:09 +03:00
MX 6b9d5d786b Merge remote-tracking branch 'RebornedBrain/reborned/scene_freeze' into dev 2024-10-05 04:47:24 +03:00
RebornedBrain 79dc467ded New state added to avoid moving to blank screen 2024-10-01 13:26:35 +03:00
Willy-JL e282d8050f Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-09-09 23:20:14 +02:00
MX 7711b2daae Merge remote-tracking branch 'OFW/dev' into dev 2024-09-09 04:11:35 +03:00