Commit graph

332 commits

Author SHA1 Message Date
MX
14ae52f88f
Merge remote-tracking branch 'leptoptilos' into dev 2024-02-10 17:08:45 +03:00
MX
ed9cb357b5
Merge remote-tracking branch 'OFW/gornek/3768_nfc_fix_mfc_read' into dev 2024-02-10 16:49:57 +03:00
MX
1a02152d03
Update ndef parser, apply mf classic dict changes
by @Willy-JL

https://github.com/Flipper-XFW/Xtreme-Firmware/blob/dev/applications/main/nfc/plugins/supported_cards/ndef.c
https://github.com/Flipper-XFW/Xtreme-Firmware/blob/dev/applications/main/nfc/resources/nfc/assets/mf_classic_dict.nfc
2024-02-10 14:46:46 +03:00
MX
5b97ddc842
Merge branch 'ofw_dev' into dev [ci skip] 2024-02-10 02:38:42 +03:00
MX
7ab888bb98
Revert "NFC: Add manually MF Classic UID desync bug fixed"
This reverts commit d1df26cc83.
2024-02-09 22:00:47 +03:00
MX
b135c8e792
Revert "NFC App: Generate MF Classic with custom UID added"
This reverts commit 941652ec57.
2024-02-09 22:00:24 +03:00
gornekich
edda4e5508 nfc app: fix navigation in exit confirm scene 2024-02-09 18:32:40 +00:00
gornekich
cf41c98d66 nfc app: fix retry scene navigation logic 2024-02-09 17:04:29 +00:00
Tolly Hill
50e0521bf7
NFC: Custom UID entry when adding manually (#3363)
* NFC: Custom UID entry when adding manually
* Fix incorrect types
* Add Change UID option post-generation
* Update UID derived data when using set_uid method
* Fix PVS warnings

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-02-09 15:36:06 +07:00
Alessandro Rossi
ebd09a1981
Added NFC plugin; Some parser (#3335)
* Add parser
* Fix microel.c
* Fix NFC parser positive return
* fix mizip
* Fix NFC parser positive return
* Add parse to hi! tag
* fix false positive reading and kdf
* hi formatting
* fix oom in kdf
* nfc app: fix types in hi plugin
* nfc app: fix return in function body in microel plugin

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-02-09 15:16:14 +07:00
gornekich
6bc63b7734
[FL-3676] Slix disable privacy (#3425)
* slix: add unlock option
* slix: add features for nxp get info and signature commands
* slix: working unlock
* nfc app: rewrite slix unlock
* slix poller: simplify unlock state handler
* nfc app: fix slix key setting
* nfc app: fix navigation
* slix poller: code clean up
* slix: resolve TODO, clean code
* nfc app: fix naming
* nfc app: rework slix unlock success scene
* slix poller: add documentation
* slix listener: fix password comparison

Co-authored-by: あく <alleteam@gmail.com>
2024-02-09 15:07:54 +07:00
Nick Mooney
f6eb79e1e5
NFC: Add support for Gallagher access control (MIFARE Classic only) (#3306)
* Merge remote-tracking branch 'origin/dev' into dev
* Add basic API interface (inspired by advanced plugins example), modify NfcSupportedCardsLoadContext to contain a pointer to a resolver
* WIP: API resolver implemented / passed to plugin via context, still having resolution issues
* Attempt to add constants to the nfc_app_api_table list
* WIP: We're defining the constants directly in nfc_app_api.c to see if this fixes our woes, which it does not.
* WIP: Remove furi_assert(false) (lmao)
* Working implementation of Gallagher decoding via exposed plugin API
* lib: api_hashtable: change log level for symbol not found message
* nfc app: alloc composite resolver along with supported cards
* nfc app: rework nfc api structure
* nfc app: fix memory leakage in supported cards

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-02-09 15:00:17 +07:00
Methodius
4265b9c28e
parsers cleanup 2024-02-07 14:21:58 +09:00
Methodius
95e653cf76
Merge remote-tracking branch 'origin/dev' into leptoptilos 2024-02-07 14:01:54 +09:00
MX
dd4f873439
Merge branch 'ofw_dev' into dev [ci skip] 2024-02-06 22:42:19 +03:00
gornekich
4984e9e414
nfc app: fix incorrect protocol detection in save scene (#3430) 2024-02-06 23:25:55 +04:00
MX
3e53e69827
Merge branch 'ofw_dev' into dev 2024-02-06 22:18:29 +03:00
RebornedBrain
8c54c14742
[FL-3758] NFC: MFC Unlock with Dictionary (#3411)
* New menu item "Unlock with Dictionary" added to classic menu

* No retry also returns to dictionary attack if it was previously displayed

* nfc app: format code

---------

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-02-06 23:11:27 +04:00
gsp8181
e180266c1a
ITSO Parser (UK) (#3325)
* Create ITSO parser

Standard for UK transport cards outside of Oyster

* Update application.fam with ITSO parser

* Update date buffer to fix access outside array

* nfc app: use rtc function in itso plugin

---------

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-02-06 18:55:38 +00:00
MX
751cf23410
Merge branch 'ofw_dev' into dev 2024-02-06 21:37:32 +03:00
RebornedBrain
cd8e76bbcd
[FL-3757] NFC: fix application opening from browser (#3396)
* nfc_protocol_support_has_feature is now public

* Added function to show different scene depending on supported features of the device

* Fix delete button logic when selected from browser

* Fix rename button logic when selected from browser

* Update nfc_scene_save_success.c

---------

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-02-06 22:26:05 +04:00
MX
2d78e23d25
Merge branch 'ofw_dev' into dev 2024-02-06 21:23:11 +03:00
RebornedBrain
9d6f51484a
[FL-3755] Rework more info scene for Ultralight cards (#3391)
* Changed event handler signature. Now we put whole SceneManagerEvent not only custom event.

* Changed signature and implementation of common on_event callback

* Changes required due to event signature adjustment

* Reset widget on exit from more info scene

* Enum for more info scene states for ultralight cards

* New implementation of more info logic added

* Check simplified

* Update nfc_protocol_support.c

---------

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-02-06 22:20:57 +04:00
RebornedBrain
9a77dbec56
[FL-3678] NFC UI refactor (#3382)
* Added new image DolphinSaved_113x58.png for all "saved" pages

* New image DolphinDone_80x58.png added

* Replaced dolphins on all scenes accroding to new UI specs

* New success dolphin image added

* Success scene image replaced

* Changed image and text for update initial scene

* Image and text adjusted for "Original restored" scene

* Removed old DolphinNice_96x59.png image

* New image for LFRFID scene

* Removed unused image

* New UI image added to assets

* Replaced warning dolphin on mf_classic write initial fail scene

* Removed old image

* Changed image on scenes to a new one

* New dolphin mafia image

* Replaced dolphin mafia image to a new one

* Removed DolphinMafia_115x62.png

* New check symbol on completed state for detect_reader

* Adjusted layout elements position

* Removed second switching to popup view in order to achieve control in support callbacks

In general now we show generic scene and after that in on_enter callback we can redefine it for particular protocol

* CardDetected event now also triggers on_event callback

* Now on AuthRequest we throw CardDetected custom event

* Added callback for read_on_event

* Now we show different screen while reading and unlocking

* Fixed missing asstes for some scenes

* Update DolphinMafia_119x62.png

* Adjusted all the scenes with DolphinMafia image

* Scenes with save image adjusted

* Removed unnecessary assets DolphinMafia_119x62.png and DolphinSaved_113x58.png

* All common dolphins moved to Dolphin folder

* Moved DolphinReadingSuccess_59x63.png to Dolphin folder

* Set proper led color for detect and read scenes

* Added new notification sequence for semi_success results

* Use new sequence for semi_success nfc reads

* Different events are now throwed depending on read result

* Added handling of incomplete event for ultralight cards

* Replaced image for iButton scene

* Updated API for f18

* Fixed issue with unlock retry sequence

* Fix after review

* Success notification replaced to semi success in case of incomplete mf classic reading

* New text for read scene

* New read result sound notification logic for mf classic cards

* Change MIFARE name accroding to new requirements

* New QR code image for MFKey app

* Update nfc_scene_mf_classic_mfkey_complete.c scene according to new UI requirements

* Update detect_reader.c and check_big_20x17.png

* New nfc save confirm scene added

* Implemented new flow for 'Detect Reader button' after partial mf classic read according to new UI

* UID for 15693 tags now shown on the new line

* Fix nfc unit tests

* Revert "Fix nfc unit tests"

This reverts commit 685ed6bfad.

* Rolled back all Mifare renamings in library files

* Revert "Change MIFARE name accroding to new requirements"

This reverts commit cfb974dc1f.

* Now Mifare word is changed only on the app level without changes to lib level

* Filename or "Unsaved + CardType" is now showed for saved cards during emulation

* Headers added to Write scenes

* Reordered menu items accrding to new spec

* Filename will be printed for saved tag in info scene

* New info render format for 14443_3a cards

* New info render format for 14443_3b cards

* New info render format for 14443_4a cards

* New info render format for iso15693 cards.

Also More_Info scene added to display Memory data

* New info render format for slix cards.

Also More_Info scene added to display Memory data

* Fixed "Mifare" word for desfire cards

* Aligned text and replaced dolphin image on emulate scene

* Fixed Mifare caption after QA

* Realigned emulation scene and fixed replaced Mifare to MIFARE

---------

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-02-06 21:57:06 +04:00
Jeremy Cooper
a83e421d71
Add an NFC parser for the San Francisco Bay Area "Clipper" transit card. (#3344)
* Add an NFC parser for the San Francisco Bay Area "Clipper" transit card.

* Add more agencies and stations, decode vehicle ids, refactor.

Add more agencies and station names using data from local research
and:

* Metrodroid project (GPLv3): https://github.com/metrodroid/metrodroid
* Farebot (GPLv3): https://github.com/codebutler/farebot

---------

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-02-06 21:47:44 +04:00
MMX
2c784d3fea
Fix nfc_protocol_support_scene_save_name_on_event crash (#3418)
* Add Clearing of detected protocols list in nfc_scene_start

* Apply patch

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-02-06 21:42:06 +04:00
Tolly Hill
c736c3f3f0
NFC: Display unread Mifare Classic bytes as question marks (#3384)
* NFC: Display unread Mifare Classic bytes as ??

* Apply patch from @gornekich

---------

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-02-06 21:34:54 +04:00
Astra
e0782966d4
[FL-3661] Troika layout fixes (#3365)
* Add support for different troika layouts

* Display additional data if debug is enabled in settings

* Support for layout 2, where there's no balance

* nfc app plugins: fix mfc read error processing

* nfc app: clean up troika plugin

* nfc app: troika parser more clean up

---------

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-02-06 21:29:17 +04:00
Leptopt1los
ed34dfa1c6
NFC: MF Classic parsers read() fix (dictionary attack skip) (#3355)
* NFC: MF Classic lib: MfClassicErrorPartialRead added

* unnecessary imports removed

* MfClassicError refactor by @gornekich

Co-authored-by: gornekich <n.gorbadey@gmail.com>

---------

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-02-06 20:53:42 +04:00
Methodius
35674a306b
Kazan parser improved: token parse option added 2024-02-05 20:53:08 +09:00
MX
c63089a929
finally 2024-02-01 05:34:48 +03:00
MX
90b49926ea
fix render with no date/amount 2024-01-31 18:32:13 +03:00
MX
3446b38a06
OFW PR 3412 - Fixed MyKey LockID
by zProAle
https://github.com/flipperdevices/flipperzero-firmware/pull/3412/files
2024-01-31 16:41:41 +03:00
Methodius
4573046df8
nfc/lfrfid emulation abort after 5min disable if debug on 2024-01-31 15:37:29 +03:00
MX
fe05c678c4
fix nfc saved success scene 2024-01-31 15:37:23 +03:00
MX
89e1620883
rename timers, stop before free 2024-01-31 01:32:57 +03:00
MX
28723949c4
fixes for opening nfc files from favourites that doesnt support emulation 2024-01-31 00:04:54 +03:00
MX
cbab316607
render transactions info properly 2024-01-30 23:45:56 +03:00
Methodius
19a5f02d66
auto-stop emulation after 5min feature added 2024-01-30 23:33:14 +03:00
Methodius
754fffac6b
typos fixed 2024-01-30 23:33:07 +03:00
MX
76a5c444fa
Merge remote-tracking branch 'TollyH/mfc-view-unknown' into nfc_refactors_fixes_merge 2024-01-30 23:00:08 +03:00
MX
da44d70bf2
Merge remote-tracking branch 'RebornedBrain/reborned/open_from_browser' into nfc_refactors_fixes_merge 2024-01-30 22:59:39 +03:00
MX
e702cdedc3
Merge remote-tracking branch 'RebornedBrain/reborned/scene_info_rework' into nfc_refactors_fixes_merge 2024-01-30 22:58:38 +03:00
MX
67eb679435
Merge remote-tracking branch 'RebornedBrain/reborned/nfc_ui_refactor_2' into nfc_refactors_fixes_merge 2024-01-30 22:57:32 +03:00
MMX
1cb8b0e369
Merge pull request #700 from Leptopt1los/dev
EMV protocol+parser
2024-01-30 13:22:16 +03:00
Methodius
b0371b3465
metromoney parser balance fix 2024-01-30 16:55:22 +09:00
Methodius
872987f002
Protocol featore: more info 2024-01-30 13:50:57 +09:00
Methodius
92a25af3c3
minor parser fixes 2024-01-30 02:39:38 +09:00
Methodius
ce80586822
Merge remote-tracking branch 'upstream/dev' into dev 2024-01-30 02:22:28 +09:00
Methodius
fee4a5a8f7
EMV save/load dump options added 2024-01-30 02:22:21 +09:00