Commit Graph

593 Commits

Author SHA1 Message Date
MX
7c44bd1cbe Merge remote-tracking branch 'OFW/dev' into dev 2025-04-07 01:04:52 +03: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
MX
a57f9e22b5 fix nfc 2025-04-06 01:57:23 +03:00
MX
c8fc2fa7b3 Merge remote-tracking branch 'OFW/dev' into dev 2025-04-06 01:54:22 +03:00
MX
380402a55c revert cli changes before apply of new ones 2025-04-05 23:40:13 +03:00
Anna Antonenko
7192c9e68b [FL-3965] Separate cli_shell into toolbox (#4175)
* cli_shell: separate into toolbox

* fix: cmd flags

* fix formatting

* cli: increase default stack depth

* cli_shell: fix loader lock logic

* cli: fix command flags

* fix f18

* speaker_debug: fix

* cli_registry: fix docs

* ufbt: rename cli target back

* cli: rename app and record

* cli: fix and simplify help command

* cli_master_shell: fix ext commands

* fix formatting

* cli: rename master to main

* fix formatting

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-05 02:58:58 +04:00
Anna Antonenko
5dcf6b55ef [FL-3928, FL-3929] CLI commands in fals and threads (#4116)
* feat: FuriThread stdin

* ci: fix f18

* feat: stdio callback context

* feat: FuriPipe

* POTENTIALLY EXPLOSIVE pipe welding

* fix: non-explosive welding

* Revert welding

* docs: furi_pipe

* feat: pipe event loop integration

* update f18 sdk

* f18

* docs: make doxygen happy

* fix: event loop not triggering when pipe attached to stdio

* fix: partial stdout in pipe

* allow simultaneous in and out subscription in event loop

* feat: vcp i/o

* feat: cli ansi stuffs and history

* feat: more line editing

* working but slow cli rewrite

* restore previous speed after 4 days of debugging 🥲

* fix: cli_app_should_stop

* fix: cli and event_loop memory leaks

* style: remove commented out code

* ci: fix pvs warnings

* fix: unit tests, event_loop crash

* ci: fix build

* ci: silence pvs warning

* feat: cli gpio

* ci: fix formatting

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* feat: cli completions

* Merge remote-tracking branch 'origin/dev' into portasynthinca3/3928-cli-threads

* merge fixups

* temporarily exclude speaker_debug app

* pvs and unit tests fixups

* feat: commands in fals

* move commands out of flash, code cleanup

* ci: fix errors

* fix: run commands in buffer when stopping session

* speedup cli file transfer

* fix f18

* separate cli_shell into modules

* fix pvs warning

* fix qflipper refusing to connect

* remove temp debug logs

* remove erroneous conclusion

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* unit test for the fix

* improve thread stdio callback signatures

* pipe stdout timeout

* update api symbols

* fix f18, formatting

* fix pvs warnings

* increase stack size, hope to fix unit tests

* cli completions

* more key combos

* commands in fals

* move commands out of flash

* ci: fix errors

* speedup cli file transfer

* merge fixups

* fix f18

* cli: revert flag changes

* cli: fix formatting

* cli, fbt: loopback perf benchmark

* thread, event_loop: subscribing to thread flags

* cli: signal internal events using thread flags, improve performance

* fix f18, formatting

* event_loop: fix crash

* storage_cli: increase write_chunk buffer size again

* cli: explanation for order=0

* thread, event_loop: thread flags callback refactor

* cli: increase stack size

* cli: rename cli_app_should_stop -> cli_is_pipe_broken_or_is_etx_next_char

* cli: use plain array instead of mlib for history

* cli: prepend file name to static fns

* cli: fix formatting

* cli_shell: increase stack size

* cli_shell: give up pipe to command thread

* fix formatting

* fix: format

* fix merge

* fix. merge.

* cli_shell: fix detach ordering

* desktop: record_cli -> record_cli_vcp

* cli: fix spelling, reload/remove ext cmds on card mount/unmount

* cli: fix race conditions and formatting

* scripts: wait for CTS to go high before starting flipper

* scripts: better race condition fix

* REVERT THIS: test script race condition fix

* Revert "REVERT THIS: test script race condition fix"

This reverts commit 3b028d29b07212755872c5706c8c6a58be551636.

* REVERT THIS: test script fix

* scripts: sleep?

* cli: updated oplist for CliCommandTree

* Revert "REVERT THIS: test script fix"

This reverts commit e9846318549ce092ef422ff97522ba51916163be.

* cli: mention memory leak in FL ticket

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
2025-04-03 21:39:53 +04:00
Anna Antonenko
13333edd30 [FL-3954, FL-3955] New CLI architecture (#4111)
* feat: FuriThread stdin

* ci: fix f18

* feat: stdio callback context

* feat: FuriPipe

* POTENTIALLY EXPLOSIVE pipe welding

* fix: non-explosive welding

* Revert welding

* docs: furi_pipe

* feat: pipe event loop integration

* update f18 sdk

* f18

* docs: make doxygen happy

* fix: event loop not triggering when pipe attached to stdio

* fix: partial stdout in pipe

* allow simultaneous in and out subscription in event loop

* feat: vcp i/o

* feat: cli ansi stuffs and history

* feat: more line editing

* working but slow cli rewrite

* restore previous speed after 4 days of debugging 🥲

* fix: cli_app_should_stop

* fix: cli and event_loop memory leaks

* style: remove commented out code

* ci: fix pvs warnings

* fix: unit tests, event_loop crash

* ci: fix build

* ci: silence pvs warning

* feat: cli gpio

* ci: fix formatting

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* feat: cli completions

* Merge remote-tracking branch 'origin/dev' into portasynthinca3/3928-cli-threads

* merge fixups

* temporarily exclude speaker_debug app

* pvs and unit tests fixups

* feat: commands in fals

* move commands out of flash, code cleanup

* ci: fix errors

* fix: run commands in buffer when stopping session

* speedup cli file transfer

* fix f18

* separate cli_shell into modules

* fix pvs warning

* fix qflipper refusing to connect

* remove temp debug logs

* remove erroneous conclusion

* Fix memory leak during event loop unsubscription

* Event better memory leak fix

* unit test for the fix

* improve thread stdio callback signatures

* pipe stdout timeout

* update api symbols

* fix f18, formatting

* fix pvs warnings

* increase stack size, hope to fix unit tests

* cli: revert flag changes

* cli: fix formatting

* cli, fbt: loopback perf benchmark

* thread, event_loop: subscribing to thread flags

* cli: signal internal events using thread flags, improve performance

* fix f18, formatting

* event_loop: fix crash

* storage_cli: increase write_chunk buffer size again

* cli: explanation for order=0

* thread, event_loop: thread flags callback refactor

* cli: increase stack size

* cli: rename cli_app_should_stop -> cli_is_pipe_broken_or_is_etx_next_char

* cli: use plain array instead of mlib for history

* cli: prepend file name to static fns

* cli: fix formatting

* cli_shell: increase stack size

* cli: fix rpc lockup

* cli: better lockup fix

* cli: fix f18

* fix merge

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: あく <alleteam@gmail.com>
2025-04-02 22:10:10 +04:00
WillyJL
0eb3fc33dd NFC: Fix NDEF parser for MIFARE Classic (#4153)
* Add div() to API

* Revert "Add div() to API"

This reverts commit e03b5c4244.

* Use / and %

* NFC: More MFC NDEF fixes

* Simplify duplicated code in MFC data generator

* NFC: Print NDEF hex data with pretty format

* NFC: Consider NDEF strings with last \0 byte as text

* Pretty Format: Add padding to last line to keep table width

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2025-04-01 00:34:54 +04:00
MX
48ef579ee6 Merge remote-tracking branch 'OFW/dev' into dev 2025-03-31 22:04:08 +03: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
MX
2828ffb0f4 add nfc apdu cli command back [ci skip]
by leommxj in OFW PR 4133
2025-03-28 14:18:34 +03:00
MX
dd3a3a02c9 NFC: Support DESFire Transaction MAC file type [ci skip]
by Willy-JL in OFW PR 4159
2025-03-28 14:13:31 +03:00
MX
6cc4976568 NFC: Fix NDEF parser for MIFARE Classic [ci skip]
by Willy-JL in OFW PR 4153
2025-03-28 14:10:16 +03:00
MX
1e3100e26e Merge remote-tracking branch 'OFW/dev' into dev 2025-02-20 04:22:42 +03:00
Eric Betts
77445fd2f5 Faster di card reading (#4087)
Co-authored-by: あく <alleteam@gmail.com>
2025-02-20 09:22:01 +09:00
MX
9c5341edb1 Merge remote-tracking branch 'OFW/dev' into dev 2024-12-23 15:56:12 +03:00
Eric Betts
626d7ef509 Fix skylander ID reading (#4038)
* Read skylanders faster
* Correct parsing ID from skylanders

Co-authored-by: あく <alleteam@gmail.com>
2024-12-23 10:56:19 +09:00
MX
599bb5f6f5 Merge remote-tracking branch 'OFW/dev' into dev 2024-12-03 11:32:28 +03:00
Ondřej Nový
7d5358b9d3 Replace mf_classic_dict.nfc with Proxmark3 version (#4013)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-03 15:30:25 +09:00
ted-logan
3d6fd9b00d nfc/clipper: (#3991)
* nfs/clipper: BART station ids for San Lorenzo, Bay Fair

Update the BART station ids for the San Lorenzo and Bay Fair stations in
the East Bay of the San Francisco Bay Area.

* nfc/clipper: Update MUNI station ids

Add MUNI station ids for the T line "Central Subway" project, which
opened three new underground stations in 2022.

---------

Co-authored-by: あく <alleteam@gmail.com>
2024-12-02 18:51:57 +09:00
mxcdoam
8629c61dc9 NFC: Plantain parser Last payment amount fix (#3998)
Co-authored-by: あく <alleteam@gmail.com>
2024-12-02 17:08:17 +09: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
MX
04c8093672 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-31 21:17:01 +03:00
WillyJL
1907f23e5f NFC: Add NDEF Parser for MFUL, MFC and SLIX (#3973)
* NFC: Add NDEF Parser for MFUL, MFC and SLIX
* Fix inefficiency in MAD checking
* NFC: NDEF parser less RAM waste for contact vcards
* Fix typo
* Make PVS Happy
* NFC: hide TODO in 3rd party plugin

Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 14:09:13 +09:00
mxcdoam
054efbbb03 NFC: Plaintain parser fix (#3975)
* Quck fix for Plantain 4K tickets: now the balance, trips, dates are available. To do: get rid of mem size check, fix number parsing  for 4B UID cards,  fix validator info and last payment parsing
* 4B UID Quick'n'Dirty fix
* remove unnecessary variables, fbt format

Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 13:33:51 +09:00
tomholford
55d1588356 nfc: add Caltrain zones for Clipper (#3969)
Co-authored-by: tomholford <tomholford@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-10-31 13:27:04 +09:00
Nathan N
8427ec0098 MIFARE Classic Key Recovery Improvements (#3822)
* Initial structure for nonce collection
* Nonce logging
* Dictionary attack structure
* Fix compilation
* Identified method to reduce candidate states
* Use EXT_PATH instead of ANY_PATH
* Use median calibrated distance, collect parity bits
* Modify parity collection
* Fixed parity bit collection
* Add note to fix nonce logging
* Fix nonce logging
* Clean redundant code
* Fix valid_nonce
* First attempt disambiguous nonce implementation
* FM11RF08S backdoor detection
* Initial accelerated dictionary attack for weak PRNGs
* Refactor to nested dictionary attack
* Renaming some variables
* Hard PRNG support for accelerated dictionary attack
* Update found keys, initial attempt
* Update found keys, second attempt
* Code cleanup
* Misc bugfixes
* Only use dicts in search_dicts_for_nonce_key if we have them
* Collect nonces again
* Should be detecting both backdoors now
* Relocate backdoor detection
* Hardnested support
* Fix regression for regular nested attack
* Backdoor read
* Backdoor working up to calibration
* Backdoor nested calibration
* Don't recalibrate hard PRNG tags
* Static encrypted nonce collection
* Update TODO
* NFC app UI updates, MVP
* Bump f18 API version (all functions are NFC related)
* Add new backdoor key, fix UI status update carrying over from previous read
* Clear TODO line
* Fix v1/v2 backdoor nonce collection
* Speed up backdoor detection, alert on new backdoor
* Add additional condition to backdoor check
* I'll try freeing memory, that's a good trick!
* Do not enter nested attack if card is already finished
* Do not reset the poller between collected nonces
* Clean up various issues
* Fix Hardnested sector/key type logging
* Add nested_target_key 64 to TODO
* Implement progress bar for upgraded attacks in NFC app
* Typo
* Zero nested_target_key and msb_count on exit
* Note TODO (malloc)
* Dismiss duplicate nonces
* Fix calibration (ensure values are within 3 standard deviations)
* Log static
* No nested dictionary attack re-entry
* Note minor inefficiency
* Uniformly use crypto1_ prefix for symbols in Crypto1 API
* Fix include paths
* Fix include paths cont
* Support CUID dictionary
* Fix log levels
* Avoid storage errors, clean up temporary files
* Handle invalid key candidates
* Fix memory leak in static encrypted attack
* Fix memory leak, use COUNT_OF macro
* Use single call to free FuriString
* Refactor enums to avoid redefinition
* Fix multiple crashes and state machine logic
* Fix inconsistent assignment of known key and known key type/sector
* Backdoor known key logic still needs the current key
* Larger data type for 4K support
* Fix typo
* Fix issue with resume logic
* Mark TODOs for next PR
* Remove redundant assignment
* Fix size_t format specifier
* Simplify auth_passed condition

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-10-31 09:53:58 +09:00
MX
86813d1b60 Merge remote-tracking branch 'noproto/nestednonces' into dev 2024-10-31 02:27:33 +03:00
noproto
2282587c15 Mark TODOs for next PR 2024-10-29 14:07:16 -04:00
MX
ed57ddb14b NFC: Plaintain parser fix
by mxcdoam
https://github.com/flipperdevices/flipperzero-firmware/pull/3975/files
2024-10-29 02:28:33 +03:00
MX
e7b64c843c upd manifest 2024-10-28 22:50:07 +03:00
MX
3d52187aa9 ndef parser updates
by luu176 and Willy-JL
2024-10-28 22:45:02 +03:00
noproto
6dbb46a81d Fix issue with resume logic 2024-10-25 18:38:11 -04:00
MX
e7239f6e8b Merge remote-tracking branch 'noproto/nestednonces' into dev 2024-10-26 01:37:44 +03:00
Nathan N
47637621a7 Merge branch 'dev' into nestednonces 2024-10-22 09:52:25 -04:00
MX
b0e591601c upd ndef parser
by jaylikesbunda and Willy-JL
2024-10-22 02:37:04 +03:00
MX
fc16978be5 Merge remote-tracking branch 'OFW/dev' into dev [ci skip] 2024-10-22 02:28:24 +03:00
Zinong Li
f8fa71c575 NFC TRT Parser: Additional checks to prevent false positives (#3966)
* additional checks to prevent false positives
* Update trt.c

Co-authored-by: あく <alleteam@gmail.com>
2024-10-20 16:58:33 +01:00
あく
2bc02c0962 Merge branch 'dev' into nestednonces 2024-10-16 18:07:13 +01:00
MX
5434405c34 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-16 19:46:06 +03:00
Zinong Li
1dd7ebd059 NFC Parser for Tianjin Railway Transit (#3954) 2024-10-16 16:38:07 +01:00
MX
7415873449 add new nfc key [ci skip] 2024-10-16 01:30:19 +03:00
MX
7de26fb99b Merge remote-tracking branch 'OFW/dev' into dev 2024-10-16 01:06:19 +03:00
Zinong Li
dc9548d0dc New Static Keys for Mifare Classic Dictionary (#3947)
Co-authored-by: あく <alleteam@gmail.com>
2024-10-15 18:17:33 +01:00
MX
4b9b1769f7 Merge remote-tracking branch 'OFW/dev' into dev 2024-10-15 00:08:47 +03:00
あく
02f7c6b421 Merge branch 'dev' into nestednonces 2024-10-14 21:06:56 +01:00
Zinong Li
fbc3b494b7 NFC: H World Hotel Chain Room Key Parser (#3946)
* quick and easy implementation
* delete debug artifacts
* log level correction (warning -> info)
2024-10-14 21:05:24 +01:00
MX
38889a434c Merge remote-tracking branch 'noproto/nestednonces' into dev 2024-10-11 21:13:50 +03:00