Commit Graph

13340 Commits

Author SHA1 Message Date
WillyJL
f8688d7e94 Merge pull request #207 from Next-Flip/ofw-3822-nestednonces
OFW PR 3822 (MIFARE Classic Key Recovery Improvements)
2024-09-27 03:54:22 +01:00
Willy-JL
7c98f74294 Update changelog 2024-09-27 03:43:51 +01:00
Willy-JL
7e2d1b8078 Update NFC Magic for OFW PR 3822 changes 2024-09-27 02:46:00 +01:00
Willy-JL
10f24d057f Checkout MFKey 3.0 apps branch 2024-09-27 02:43:20 +01:00
Willy-JL
448be96e0f Merge branch 'nestednonces' into ofw-3822-nestednonces 2024-09-27 02:38:59 +01:00
Willy-JL
3a4fece79c Merge remote-tracking branch 'mntm/dev' into ofw-3822-nestednonces 2024-09-27 02:37:23 +01:00
RocketGod
a8ea95ed2c Add support for NTAG I2C Plus 1k and 2k chips (#237)
* Add support for NTAG I2C Plus 1k and 2k chips so my Dangerous Things xSIID implant scans and displays NDEF properly.

* Update changelog

* Format

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-09-27 03:35:35 +02:00
Willy-JL
993562f6f9 Format --nobuild 2024-09-27 02:17:28 +01:00
Willy-JL
f937e5b7ef Update apps
- ESP Flasher: Support more board types (by xMasterX)
2024-09-27 01:54:59 +01:00
Willy-JL
8b8d3b2833 Merge remote-tracking branch 'ul/dev' into mntm-dev 2024-09-27 01:48:29 +01:00
MX
50ae431a48 upd changelog 2024-09-26 21:59:07 +03:00
MX
e407c623e0 Revert "Merge remote-tracking branch 'OFW/portasynthinca3/3332-autolock-fixes' into dev"
This reverts commit ba4c4e528a, reversing
changes made to 16e4b9219a.
2024-09-26 21:58:50 +03:00
MX
b03d9f313b upd changelog 2024-09-26 19:44:29 +03:00
MX
d2a8e9fb5e princeton add support for different button coding type [ci skip] 2024-09-26 19:06:39 +03:00
noproto
ba672e775f Support CUID dictionary 2024-09-25 10:27:32 -04:00
MX
1932bd35a5 upd readme 2024-09-25 05:31:21 +03:00
noproto
099bb4071a Fix include paths cont 2024-09-24 22:21:15 -04:00
Willy-JL
ae3b2d40e4 Merge branch 'nestednonces' into ofw-3822-nestednonces 2024-09-24 05:56:21 +01:00
Willy-JL
49fa88a188 Merge remote-tracking branch 'mntm/dev' into ofw-3822-nestednonces 2024-09-24 05:55:34 +01:00
Willy-JL
6ef49ea8a7 Add Games: Umpire Indicator (by RocketGod-git) 2024-09-24 05:55:14 +01:00
Willy-JL
66cdb9ad78 Update apps
- NFC Playlist: Error screen for item already in playlist, general improvements (by acegoal07)
- CLI-GUI Bridge: Fixes and improvements (by ranchordo)
- Seader: Enable T=1 (by bettse)
- UL: Sub-GHz Bruteforcer: Use FW functions for top buttons (by DerSkythe)
2024-09-24 05:49:37 +01:00
Willy-JL
62ce89e41e Merge remote-tracking branch 'ul/dev' into mntm-dev 2024-09-24 05:47:20 +01:00
noproto
61e24fcb13 Fix include paths 2024-09-23 21:55:39 -04:00
noproto
0ba8ac4ed0 Uniformly use crypto1_ prefix for symbols in Crypto1 API 2024-09-23 19:44:08 -04:00
noproto
cd76926c74 Note minor inefficiency 2024-09-23 19:13:20 -04:00
noproto
6ae950673e No nested dictionary attack re-entry 2024-09-23 19:06:08 -04:00
noproto
4eb0f2a21b Log static 2024-09-23 18:03:15 -04:00
noproto
901bdf9692 Fix calibration (ensure values are within 3 standard deviations) 2024-09-23 15:54:50 -04:00
noproto
6a77ab77b0 Dismiss duplicate nonces 2024-09-23 14:26:19 -04:00
MX
42ab90b19b upd changelog 2024-09-21 04:10:17 +03:00
MX
ba4c4e528a Merge remote-tracking branch 'OFW/portasynthinca3/3332-autolock-fixes' into dev 2024-09-21 03:54:08 +03:00
MX
16e4b9219a merge ofw pr 3885 - Add API to enforce ISO15693 mode [ci skip]
by aaronjamt

https://github.com/flipperdevices/flipperzero-firmware/pull/3885/files
2024-09-21 03:50:03 +03:00
noproto
c21b35951a Note TODO (malloc) 2024-09-20 13:09:04 -04:00
noproto
6eccdc8f93 Zero nested_target_key and msb_count on exit 2024-09-20 11:53:04 -04:00
MX
0df33899eb Frequency analyzer fixes and improvements
disable ext module due to lack of required hardware on them and incorrect usage of freq analyzer, like trying to receive "signals" with it (from the space??), while it should be used only to get frequency of the remote placed around 1-10cm around flipper's left corner

Also fix possible GSM mobile towers signal interference by limiting upper freq to 920mhz max

Fix dupliacted freq lists and use user config for nearest freq selector too (finally)
2024-09-20 06:35:46 +03:00
noproto
96606dc36f Typo 2024-09-18 12:52:22 -04:00
noproto
c1cdd491a6 Implement progress bar for upgraded attacks in NFC app 2024-09-18 12:51:48 -04:00
Willy-JL
bb9a2eb8ea Merge branch 'nestednonces' into ofw-3822-nestednonces 2024-09-18 02:12:43 +01:00
Willy-JL
b1886e5593 Merge remote-tracking branch 'mntm/dev' into ofw-3822-nestednonces 2024-09-18 02:12:13 +01:00
Willy-JL
97879c3bf3 Update apps
- NFC Playlist: Add playlist already exists error, general improvements (by acegoal07)
2024-09-18 02:11:30 +01:00
jay candel
65df2e4d1f NFC: SmartRider Parser (#203)
* adding smartrider_parser

* adding SmartRider parser

new parser for SmartRider cards, a public transport smart card system used in Western Australia.
extracts and interprets key information from the card, including:
-Current balance
-Card serial number
-Concession type
-Purchase cost
-Details of the last two trips (including tag on/off status, cost, route, transaction number, and journey number)

* optimising

- removed all logging to simplify output.
- used early returns for clearer error handling.
- optimized setups outside loops to improve memory use.
- simplified flows by removing unnecessary loops.
- placed variables closer to their use for better readability.
- cached data blocks to streamline data handling.
- added a helper function for parsing trips, reducing redundancy.
- corrected loop counter types to avoid compile-time errors.

* cleaning displayed data

- removed transaction (txn) and journey (jrn) numbers to declutter the trip details.
- shortened "previous trip" to "prev trip" to optimize screen space usage.

* added and refined displayed data

added auto load field "threshold amount / reload amount"
changed serial to display first two digits as SR0 for consistency with physical card.

* Format

* Improved Verification Process

- Added definitions for STANDARD_KEY_2 and STANDARD_KEY_3
- Enhanced smartrider_verify function to check for all three specific keys:
  - STANDARD_KEY_1 in Sector 0 as Key A
  - STANDARD_KEY_2 in Sector 6 as Key A
  - STANDARD_KEY_3 in Sector 6 as Key B
- Implemented read operations to verify actual key values stored on the card
- Added comparisons between read key data and expected key values
- Improved debug logging for each step of the verification process

* Integrated Verification into Parse Function

- Added key verification for sectors 0 and 6
- Implemented do-while loop structure for early exit on verification failure
- Moved block readability checks inside verification process
- Added parsed flag to indicate successful parsing
- Updated return value to reflect parsing success
- Maintained existing parsing logic and output format

* fixed false positives

recieved some cuid cards today so was able to test for myself can confirm works... finally
changes made: 
-updated key assignment in smartrider_read
-simplified key verification in smartrider_parse
-improved error handling and logging
-streamlined data parsing process
-corrected key checking logic
-added checks for required block readability
-improved flow control with strategic breaks
-adjusted block data access method

* small optimizations

- refactored `smartrider_verify` and `smartrider_read` by abstracting repeated key operations into `authenticate_and_read` function for improved code maintainability.
- optimized `smartrider_read` by introducing a loop for key setup, reducing redundancy and improving efficiency.
- streamlined error handling in `smartrider_read` by replacing do-while loop with conditional checks.
- changed standard key references to use `standard_keys` array indices

* formatting

* Delete duplicate smartrider.c

* updated smartrider.c

* found 'fbt format'

* transaction parsing updates

-removed last trip/prev trip wording and replaced with "Trip History" header
-added date in front of each transaction 
-only shows transaction cost if it's higher than 0
-changed tag on/tag off to +/- to save room
-added 8 more transactions to Trip History
-verified still working and formatted with fbt

* fixed reboot with partially unlocked card

-added bounds checking for all block accesses to prevent out-of-range memory access
-implemented improved error handling with an error_occurred flag
-introduced a maximum iteration count for date calculation to prevent infinite loops
-used snprintf with size limits for all string operations to avoid buffer overflows
-added validation for trip count to ensure it doesn't exceed the maximum allowed
-implemented checks to skip unread or out-of-range blocks during trip parsing
-added safeguards against corrupted or invalid timestamp data

* optimized SmartRider card parsing and verification

- replaced do-while loop with direct error checks in smartrider_parse
- optimized key verification using direct memcmp in smartrider_verify
- introduced inline functions for common operations (e.g., set_key, read_le16)
- replaced bubble sort with insertion sort for trip data
- simplified date calculation using a lookup table for days in month
- used uint_fast8_t for loop counters to allow compiler optimization
- added __attribute__((hot)) to key functions for aggressive optimization
- removed redundant variable declarations and function calls
- optimized memory usage with static const arrays for required blocks
- simplified error handling in smartrider_read and authenticate_and_read
- used __builtin_memcpy and __builtin_memcmp for potential compiler optimizations
- tested and formatted with fbt

* small fixes

-renamed "Trip History" to "Tag On/Off History"
-fixed date calculation to account for leap years
-misc changes

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-09-18 03:00:49 +02:00
m7i-org
df273950cc Sub-GHz: Show satellites count with an icon (#215)
* feat(subghz): show satellites if enabled

Replaces the display of the number of satellites during SubGHz scanning. If GPS is enabled (an an external module connected) it will blink a GPS icon with the number of sats currently in range (even if zero).
Using a 10x10px "positioning" icon that replaces the SubGHz icon on the bottom right.

* Revert api version to ofw release

* f18 too

* Tweak icon a little

* Update changelog

* Format

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-09-18 01:43:30 +02:00
m7i-org
3351f9b636 Sub-GHz: Add Bresser 3CH weather station protocol (#217)
* feat(subghz): added Bresser 3CH weather station

Added the Bresser 3CH, a weather station supported by rtl_433 already.

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-09-18 01:14:29 +02:00
Willy-JL
2ed1366b67 Add PR number --nobuild 2024-09-17 23:50:52 +01:00
Mihai
425a97fe95 NFC: Added 6 new Mifare Classic keys from Bulgaria Hotel (#216)
* Update mf_classic_dict.nfc

Added 6 new keys from Bulgaria Hotel
Keys are not duplicated!

* Add section delimiter

* No LF at EOF

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-09-18 00:24:21 +02:00
Willy-JL
de5b0a42d1 Add Sub-GHz: Radio Scanner app (by RocketGod-git) 2024-09-17 23:18:03 +01:00
Willy-JL
2b8159fcd6 Picopass: Force ISO15693 1OutOf4 mode (by aaronjamt)
- Fixes crashes in some noisy readers
2024-09-17 23:13:35 +01:00
noproto
d8864a490b Add nested_target_key 64 to TODO 2024-09-17 17:40:17 -04:00
Willy-JL
f6025cee28 Revert, app is not ready for new lib yet
maybe git subtrees need some more work, to better sync with submodule indexes?
2024-09-17 22:39:26 +01:00
Aaron Tulino
5afc01a4c3 NFC: Add API to enforce ISO15693 mode (#225)
* Add API to enforce ISO15693 mode
See https://github.com/flipperdevices/flipperzero-firmware/pull/3885

* Revert symbols version

* Format

* Update changelog

---------

Co-authored-by: Willy-JL <49810075+Willy-JL@users.noreply.github.com>
2024-09-17 23:32:03 +02:00