Commit Graph

193 Commits

Author SHA1 Message Date
noproto
0d286e67ce Merge remote-tracking branch 'noproto/dev' into ulcdict 2024-10-28 21:24:23 -04:00
noproto
60e0a697fa Initial structure for UL-C dictionary attacks 2024-10-28 19:56:28 -04:00
noproto
3f34537b5b Add dictionary asset 2024-10-28 11:08:10 -04:00
noproto
6dbb46a81d Fix issue with resume logic 2024-10-25 18:38:11 -04:00
Nathan N
47637621a7 Merge branch 'dev' into nestednonces 2024-10-22 09:52:25 -04: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
Zinong Li
1dd7ebd059 NFC Parser for Tianjin Railway Transit (#3954) 2024-10-16 16:38:07 +01: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
あく
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
Nathan N
540478855c Merge branch 'dev' into nestednonces 2024-10-11 10:00:44 -04:00
noproto
a7c0819034 Refactor enums to avoid redefinition 2024-10-11 10:01:30 -04:00
noproto
3976f128dc Use single call to free FuriString 2024-10-09 16:03:29 -04:00
noproto
b843856976 Fix memory leak, use COUNT_OF macro 2024-10-09 15:51:21 -04:00
ted-logan
344118c346 nfc/clipper: Update BART station codes (#3937)
In the NFC Clipper card plugin, update the BART station codes for two
newer East Bay stations (Milpitas, and Berryessa/North San Jose), and
correct the station code for Castro Valley. These station ids come from
visiting the stations and checking what id they presented as in the
Clipper card data.
2024-10-09 10:47:19 +01:00
noproto
bcc8d3ee3d Merge branch 'nestednonces' of https://github.com/noproto/flipperzero-firmware into nestednonces 2024-10-08 18:48:02 -04:00
noproto
a1590fc74a Fix memory leak in static encrypted attack 2024-10-08 18:46:59 -04:00
Nathan N
f346412e27 Merge branch 'dev' into nestednonces 2024-10-06 16:22:03 -04:00
あく
0469ef0e55 FuriHal, drivers: rework gauge initialization routine (#3912)
* FuriHal, drivers: rework gauge initialization, ensure that we can recover from any kind of internal/external issue
* Make PVS happy
* Format sources
* bq27220: add gaps injection into write operations
* Drivers: bq27220 cleanup and various fixes
* Drivers: bq27220 verbose logging and full access routine fix
* Drivers: better cfg mode exit handling in bq27220 driver
* Drivers: rewrite bq27220 based on bqstudio+ev2400, experiments and guessing. Fixes all known issues.
* PVS: hello license check
* Drivers: minimize reset count in bq27220 init sequence
* Drivers: bq27220 hide debug logging, reorganize routine to ensure predictable result and minimum amount of interaction with gauge, add documentation and notes.
* Drivers: more reliable bq27220_full_access routine
* Drivers: replace some warning with error in bq27220
* Drivers: move static asserts to headers in bq27220
* Fix PVS warnings
* Drivers: simplify logic in bq27220

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-10-06 22:36:05 +04:00
RebornedBrain
8c14361e6a [FL-3830] Emulation freeze (#3930)
Co-authored-by: あく <alleteam@gmail.com>
2024-10-06 17:55:13 +01:00
assasinfil
c3dc0ae6b9 Plantain parser improvements (#3469)
* Refactored card nubmer and balance
* Podorozhnik refactor
* Balance fix and BSK card support added

Co-authored-by: あく <alleteam@gmail.com>
2024-10-06 17:48:12 +01:00
assasinfil
6ead328bb7 Moscow social card parser (#3464)
* Updated troyka layout (full version)
* Changed to furi func
* Small refactor
* Bitlib refactor
* Moved to API
* Rollback troyka parser
* Fix functions
* Added MSK Social card parser
* Parser func refactor start
* Layout E3 refactored
* Layout E4 refactored
* Layout 6 refactored
* Layout E5 refactored
* Layout 2 refactored
* Layout E5 fix
* Layout E6 refactored, valid_date need fix
* Layout E6 fix
* Layout FCB refactored
* Layout F0B refactored
* Layout 8 refactored
* Layout A refactored
* Layout C refactored
* Layout D refactored
* Layout E1 refactored
* Layout E2 refactored
* Old code cleanup
* Memory cleanup
* Unused imports cleanup
* Keys struct refactor
* Keys struct refactor
* Layout E1 fix
* Added debug info for layout and department
* Fix social card parse validation
* Added card number validation
* Added transport data ui improvements from Astrrra's troyka render func.

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-10-06 17:33:07 +01:00
noproto
4f722a00c0 Avoid storage errors, clean up temporary files 2024-10-04 18:41:29 -04:00
noproto
ba672e775f Support CUID dictionary 2024-09-25 10:27:32 -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
6eccdc8f93 Zero nested_target_key and msb_count on exit 2024-09-20 11:53:04 -04: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
noproto
3ab752b7a0 Clean up various issues 2024-09-17 14:38:14 -04:00
noproto
ab8bc3e21c Clear TODO line 2024-09-09 20:51:51 -04:00
noproto
cba58ed437 Add new backdoor key, fix UI status update carrying over from previous read 2024-09-09 20:50:15 -04:00
gornekich
9558a5fa08 Merge branch 'dev' into nestednonces 2024-09-09 13:34:47 +01:00
Eric Betts
75f4782fab Rename 'Detect Reader' to 'Extract MF Keys' (#3874)
* Rename 'Detect Reader' to 'Collect Nonces'
* Updated name
* Updated name
* Format Sources

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-09-08 23:43:14 +01:00
Aleksandr Kutuzov
9ea7a4671a Merge remote-tracking branch 'origin/dev' into nestednonces 2024-09-07 13:47:07 +01:00
Astra
ad27713f0d [FL-3766] Fix crash on Ultralight unlock (#3855)
* Fix crash on Ultralight unlock
* Infrared: safe macroses

Co-authored-by: あく <alleteam@gmail.com>
2024-09-06 12:44:32 +01:00
RebornedBrain
49e1ae6e87 [FL-3895] Broken file interaction fixes (#3852)
* Show error screen if corrupted filed has been loaded
* Added rpc error codes and error processing to NFC
* Made iButton scene on_enter handler clear to prevent showing scene before file is loaded
* Added rpc error codes and error processing to iButton
* Made lfRfid scene on_enter handler clear to prevent showing scene before file is loaded
* Added rpc error codes and error processing to lfRfid
* Made SubGHz scene on_enter handler clear to prevent showing scene before file is loaded. Also moved file_name_tmp formatting logic to a separate function
* Now function returns loading status and starts rx only if load succeeded
* Added show error logic on tx_button start
* Introduced rpc error codes for infrared
* Adjusted rpc scene logic to show scene only when
loading is fine
* Added new  list of rpc errors which are common within several applications
* Removed same enums from apps
* Same rpc error in different apps replaced with common value from rpc error code list
* SubGHz error codes now start from RpcAppSystemErrorCodesReserved value
* Infrared error codes now start from RpcAppSystemErrorCodesReserved value
* Removed unused enum
* Now all rpc error codes are more generalized and can be used among all apps without any specific enums
* Removed specific error codes, now rpc error codes are used instead
* RPC: no plurals in enums

Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 20:54:49 +01:00
porta
c9791a280a [FL-3884] Proper integer parsing (#3839)
* feat: strint_to_uint32 and tests
* fix: permit explicit bases and prefixes
* feat: strint_to_{int32,uint16,int16}
* feat: strint_to_u?int64
* refactor: replace strtol, strtoul, sscanf with strint_to_*
* fix: api symbols
* docs: document parameter `end` of strint_to_uint_32
* style: apply changes requested by hedger
* refactor: fix pvs-studio diagnostic
* style: apply changes requested by CookiePLMonster
* fix: unused var
* fix: pointer type
* refactor: convert atoi to strint_to_*
* fix: strint_to_uint8 doesn't actually exist ._ .
* fix: memory leak
* style: address review comments
* Toolbox: couple small comments in the code and doxygen comment update. SubGhz, Loader: fix strint usage.
* Loader: fix incorrect cast

Co-authored-by: あく <alleteam@gmail.com>
2024-09-05 18:02:42 +01:00
noproto
92122b2cdf NFC app UI updates, MVP 2024-09-03 15:19:12 -04:00
noproto
79bc887f95 Initial accelerated dictionary attack for weak PRNGs 2024-08-18 20:38:24 -04:00
Georgii Surkov
f4122a924a [FL-3841] FuriEventLoop Pt.2 (#3703)
* Abstract primitive type from main logic in FuriEventLoop
* Remove message_queue_i.h
* Add stream buffer support for event loop
* Add semaphore support for event loop
* Add temporary unit test workaround
* Make the linter happy
* Add mutex support for event loop
* Implement event subscription and unsubscription while the event loop is running
* Implement edge events
* Fix leftover logical errors
* Add event loop timer example application
* Implement flag-based edge trigger and one-shot mode
* Add event loop mutex example application
* Only notify the event loop if stream buffer is at or above its trigger level
* Reformat comments
* Add event loop stream buffer example application
* Add event loop multiple elements example application
* Improve event loop flag names
* Remove redundant signal handler as it is already handled by the event loop
* Refactor Power service, improve ViewHolder
* Use ViewHolder instead of ViewDispatcher in About app
* Enable ViewDispatcher queue on construction, deprecate view_dispatcher_enable_queue()
* Remove all invocations of view_dispatcher_enable_queue()
* Remove app-scened-template
* Remove missing library from target.json
* Port Accessor app to ViewHolder
* Make the linter happy
* Add example_view_holder application, update ViewHolder docs
* Add example_view_dispatcher application, update ViewDispatcher docs
* Replace FuriSemaphore with FuriApiLock, remove workaround delay
* Fix logical error
* Fix another logical error
* Use the sources directive to speed up compilation
* Use constant define macro
* Improve FuriEventLoop documentation
* Improve FuriEventLoop documentation once more
* Bump API Version
* Gui: remove redundant checks from ViewDispatcher
* Gui: remove dead ifs from ViewDispatcher

Co-authored-by: Silent <CookiePLMonster@users.noreply.github.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-08-07 12:49:41 +09:00
Sean Skyhawk
41fcead710 Images linting: ensure that all images conform specification (#3802)
* Change all icons to be white background
* assets: re-processed all *.png images to 1-bit
* assets: also stripped profile data from .pngs
* assets: also stripped datetime from metadata (`-define png:exclude-chunks=date,time`)
* scripts: added image linter and formatter; fbt: added `lint_img` && `format_img` targets; github: integrated image lint step into CI
* scripts: imglint: fixed deprecation warning
* images: applied `format_img`
* fbt: added `lint_all` and `format_all` targets; docs: updated for new targets

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2024-08-07 11:57:32 +09:00
あく
4d985ba8f8 Storage: remove LFS (#3577)
* Storage: drop internal storage

* Storage: rollback some unnecessary changes

* Storage: rollback some unnecessary changes part 2

* Storage: cleanup various defines and int handling. Ble: allow short connection interval if internal flash is not used.

* Storage: do not return storage if it is not ready

* Save PIN code to RTC, update settings

* Simplify the code, clean up includes

* Rearrange some code

* apps: storage_move_to_sd: conditionally enable with --extra-define=STORAGE_INT_ON_LFS

* Load Desktop settings automatically

* Redirect /any to /ext

* Abolish storage_move_to_sd app

* Remove as many mentions of ANY_PATH as possible

* Fix desktop settings wrongly not loading

* Improve desktop settings handling and strings

* Load BLE settings and keys automatically

* Improve BLE configuration procedure

* Do not load bluetooth keys twice if they were already loaded

* Load dolphin state automatically

* Fix merge artifact

* Load notification settings automatically

* Update desktop settings strings

* Load expansion settings automatically

* Do not use thread signals to reload desktop settings

* Load region data automatically, separate to its own hook

* Improve ble behaviour with no keys

* Fix Dolphin state not resetting correctly

* Add a status check

* Make Desktop save its own settings

* Check result when taking and releasing mutex

* Improve default thread signal handling in FuriEventLoop

* Make bt service in charge of saving settings, add settings api

* Fix a deadlock due to timer thread not receiving time

* Lock core2 when reinitialising bt

* Update clang-format

* Revert "Update clang-format"

This reverts commit d61295ac063c6ec879375ceeab54d6ff2c90a9a1.

* Format sources with clang-format

* Revert old stack size for desktop settings

* Allocate big struct dynamically

* Simplify PIN comparison

* Save pointer to storage in Desktop object

* Fix region provisioning for hardware regions

* Remove stale TODO + siimplify code

* Clean up region.c

* Use sizeof instead of macro define

* Limit PIN length to 10 for consistency

* Emit a warning upon usage of /any

* Add delay after finding flipper

* Remove unnecessary delay

* Remove all mentions of STORAGE_INT_ON_LFS

* Remove littlefs and internal storage

* Remove all possible LittleFS mentions

* Fix browser tab in Archive

* Ble: fix connection interval explanation

* Bump API Symbols

* BLE: Update comments interval connection comments

* Storage: clear FuriHalRtcFlagStorageFormatInternal if set

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-08-04 10:54:02 +01:00
Astra
4f46032d32 [NFC] Change the plantain last number display from "?" to "X" (#3819) 2024-08-02 15:03:12 +09:00
Astra
f73d60cba8 [FL-3766] Refactor detected protocols list (#3809)
* Refactor detected protocols list
* nfc app: fix detect protocols file name
* nfc app: fix function naming
* nfc app: fix detected protocol menu selection

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-08-01 06:37:37 +09:00
Astra
59eb749b2b [FL-3879] Fix plantain balance string (#3813)
* Fix balance string
* nfc app: remove ? in plantain

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-08-01 05:57:00 +09:00
hedger
ffa3996a5e [FL-3867] Code formatting update (#3765)
* clang-format: AllowShortEnumsOnASingleLine: false
* clang-format: InsertNewlineAtEOF: true
* clang-format: Standard:        c++20
* clang-format: AlignConsecutiveBitFields
* clang-format: AlignConsecutiveMacros
* clang-format: RemoveParentheses: ReturnStatement
* clang-format: RemoveSemicolon: true
* Restored RemoveParentheses: Leave, retained general changes for it
* formatting: fixed logging TAGs
* Formatting update for dev

Co-authored-by: あく <alleteam@gmail.com>
2024-07-15 13:38:49 +09:00
Zinong Li
5f9d68f3ad NFC: ISO15693 Render Typo Fix (#3784)
* Fixed the bug showing IC reference value as DSFID.
2024-07-14 00:05:54 +04:00
あく
d39c3b3776 Fix PVS Warnings (#3760) 2024-07-06 15:05:29 +01:00