Commit Graph

397 Commits

Author SHA1 Message Date
Chris van Marle
2ae8e97077 MRTD add file lookup by tag and EF.COM format 2022-10-11 22:13:35 +02:00
Chris van Marle
00d674f222 Fix indention 2022-10-11 22:13:33 +02:00
Chris van Marle
69ff30e86a MRTD TLV parsing (and select) 2022-10-11 22:13:32 +02:00
Chris van Marle
b5e420c11b MRTD handle BAC decrypt+unpad 2022-10-11 22:13:31 +02:00
Chris van Marle
374f2acb62 MRTD decrypt RX APDU 2022-10-11 22:13:29 +02:00
Chris van Marle
eaeb887d6f MRTD Secure Messaging added 2022-10-11 22:13:28 +02:00
Chris van Marle
ab5e564410 MRTD WIP secure messaging 2022-10-11 22:13:27 +02:00
Chris van Marle
c221c8947e MRTD scene for auth. read 2022-10-11 22:13:26 +02:00
Chris van Marle
8796195a63 Revert "MRTD add worker method for auhtenticated read"
This reverts commit 3458ded128a3c13ddd18484c2e1be2945e951a28.
2022-10-11 22:13:25 +02:00
Chris van Marle
6abd967966 MRTD set auth method + cleanup nfc_worker 2022-10-11 22:13:24 +02:00
Chris van Marle
0f242984fb MRTD fix KMRZ for BAC 2022-10-11 22:13:22 +02:00
Chris van Marle
d9399c6559 fixup! MRTD use reader_analyzer instead of deprecated debug_pcap_worker
Clean up reader_analyzer after usage
2022-10-11 22:13:21 +02:00
Chris van Marle
6b968f7fea MRTD reread with auth 2022-10-11 22:13:20 +02:00
Chris van Marle
b1f95c5c54 MRTD add worker method for auhtenticated read 2022-10-11 22:13:17 +02:00
Chris van Marle
2e586338a1 MRTD use reader_analyzer instead of deprecated debug_pcap_worker 2022-10-11 22:13:15 +02:00
Chris van Marle
59efc2701d Merge branch 'dev' into mrtd 2022-10-11 22:13:13 +02:00
Chris van Marle
0b8a0c705c Minor warning fix in MRTD 2022-10-11 22:13:11 +02:00
Chris van Marle
b412843566 MRTD BAC support and some other improvements 2022-10-11 22:13:10 +02:00
Chris van Marle
66a507ba53 Add ISO7816 tester 2022-10-11 22:13:08 +02:00
Chris van Marle
ea4762d068 Merge branch 'dev' into mrtd 2022-10-11 22:13:08 +02:00
Chris van Marle
27a74c4b87 MRTD generalize app selection 2022-10-11 22:13:07 +02:00
Chris van Marle
c4499e221f MRTD add mrtd_bac_keys 2022-10-11 22:13:06 +02:00
Chris van Marle
44c2299b70 MRTD use smaller data type of lengths, add sha1 test 2022-10-11 22:13:04 +02:00
Chris van Marle
0871d274eb MRTD add helper functions:
- Check digit
- KMRZ
2022-10-11 22:13:02 +02:00
Chris van Marle
08afd7c883 MRTD select and read file basics 2022-10-11 22:13:01 +02:00
Chris van Marle
315294f2cf MRTD work on reading EF.DIR and EF.CardAccess 2022-10-11 22:13:00 +02:00
Chris van Marle
c82b55575a Make MRTD work along with EMV 2022-10-11 22:12:57 +02:00
Chris van Marle
82352705dd MRTD rename mrtd_data.auth.bac to mrtd_data.auth 2022-10-11 22:12:54 +02:00
Chris van Marle
3eb0c43756 [NFC] Recognize MRTD + initial menus 2022-10-11 22:12:13 +02:00
Tom Samstag
e6e1e7fe15 Add formatting to DESfire data dump (#1784)
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2022-09-28 02:02:18 +09:00
Shane Synan
9f501034c3 Power: Also ask charger if charge done (#1378)
* power: Also ask charger if charge done
* F7: bump API Symbols version
* Lib: remove double include in bq25896.c

Co-authored-by: あく <alleteam@gmail.com>
2022-09-27 00:34:59 +09:00
hedger
efb09380bd [FL-2836] Fast flash programming mode (#1782)
* updater: lowered logging level for resources unpacking; hal: implemented fast flash write mode
* hal: reworked fast flash programming; clearing most error flags on flash init; changed some flash functions return type from bool to void; scripts: fixed malformed CRC values in update bundles in certain cases;
* hal: flash: larger critical section
* hal: flash: enabling fast write inside critical section
* api_symbols: bump minor version
2022-09-26 20:03:21 +09:00
David Coles
a6b98ccbbe Preliminary Rust support (#1781)
* Add support for R_ARM_THM_MOVW_ABS_NC/THM_MOVT_ABS

These are sometimes emitted by the Rust LLVM compiler.

Ref: https://github.com/ARM-software/abi-aa/blob/main/aaelf32/aaelf32.rst#56relocation

* Discard LLVM bitcode from extension applications

LLVM-based compilers may include uncompressed bitcode in object files
to help with link-time optimization. However this can bloat binary sizes
from KB to MB.

* Expose alligned_malloc/free functions to applications

This is required to implement a global allocator in Rust.
2022-09-26 07:06:46 +10:00
Skorpionm
bc777b2eff SubGhz: fix config menu (#1748)
* SubGhz: fix config menu
* SubGhz: fix gui Magellen protocol
* SubGhz: fix gui Transmit SubGhz
* SubGhz: keeloq, new gen manufacture code
* SubGhz: Update keeloq_mfcodes

Co-authored-by: あく <alleteam@gmail.com>
2022-09-25 23:34:52 +09:00
Sergey Gavrilov
e6d22ed147 ELF-Loader: C++ plugin support, loader overhaul. (#1744)
* fap-loader: load all code and data sections
* fap-loader: relocate all code and data sections
* fap-loader: remove old elf loader
* fap-loader: new jmp call relocation
* openocd: resume on detach
* fap-loader: trampoline for big jumps
* fap-loader: rename cache
* fap-loader: init_array support
* fap-loader: untangled flipper_application into separate entities
* fap-loader: fix debug
* fap-loader: optimize section container
* fap-loader: optimize key for section container
* fap-loader: disable debug log
* documentation
* F7: bump api symbols version
* Lib: cleanup elf_file.c

Co-authored-by: あく <alleteam@gmail.com>
2022-09-25 23:11:29 +09:00
Sergey Gavrilov
92e440c77d Core: simplify record container (#1776)
Co-authored-by: あく <alleteam@gmail.com>
2022-09-25 20:48:57 +09:00
Andrea Sacchi
3846852f2b NFC Fix Mifare Classic (#1769)
* Fix Mifare Classic key str to int conversion: Wrong cast lead to unexpected behavior converting key from str to int.
* Nfc: fix type cast in mf_classic_dict and add basic unit tests

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-09-23 02:35:28 +09:00
Max Lapan
3360f818a1 Subghz: Adding checks for get_upload functions (#1704)
* Adding checks for get_upload functions
  Almost in every protocol, function which generates upload might fail and return false.
  But we don't check this result, which might end up sending random memory contents to the air.
* Format sources and fix crash on ivalid bit count in chamberlain

Co-authored-by: あく <alleteam@gmail.com>
2022-09-20 14:29:10 +09:00
David
f5ff6438d1 NFC user dict list, delete, and de-duplication. (#1533)
* Add MFC user keys list
* Leakey submenu fix
* Set next target for Save/Delete success scenes
* Delete individual user keys
* Update count of total keys
* Fix memory leak
* Check for duplicate keys
* Remove a submodule that I never added?
* Swap and position icons
* Revamp according to design doc
* Rename icons to include size and replace keychain icon with smaller variant
* Fix typos
* Final fixes
* Fufill requested changes
* Cleanup comments
* Merge dev after SD app loading
* Fixing icon names
* Revert merge mistakes and API version
* Scene switching adjustments
* F7: add/change/remove some nfc icons in api_symbols.csv

Co-authored-by: あく <alleteam@gmail.com>
2022-09-20 01:43:53 +09:00
Astra
9f3b80e606 Add new card parsers (#1503)
* Add the "Two cities" parser
* Add plantain and plantain4k parsers
* Add new parsers to the supported list
* United card PoC
* Fix nfc device not sleeping
* Completely read the 4K troika variants
* Correct naming
* Update to reflect upstream changes
* Add support for MfUl info
* Fix parsers
* Card type detection fixes
* Remove debug info
* Fixes for the verification of cards
* nfc: fix verification for supported cards
* nfc: remove unused vars
* Improve card reading reliability and fix plantain
* plantain: change log level

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2022-09-20 01:05:04 +09:00
Max Lapan
d003db0404 SubGhz: Oregon v2.1 decoder (#1678)
* Oregon v2.1 decoder
* Refactor FSM to switch
* Refactor headers
* Format strings
* Unit tests of oregon2
* Cleanups
* Add oregon2 raw data to random_test_raw.sub
* Adjust count of packets detected on random test
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2022-09-19 23:24:24 +09:00
Nikolay Minaylov
fb476c29e6 RFID: fix read info screen (#1723)
* RFID: fix read info screen
* Fix line break for long data string
* Protocol data redecoding before write

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-09-19 22:21:40 +09:00
hedger
ed385594a3 faploader: more subsystem headers in API table (#1742)
* faploader: more subsystem headers in API table; not counting header entries for SDK version change
* subghz: removed dead function
* Adjusted API version
* hal: removed furi_hal_power_get_system_voltage
* lib: mbedtls: additional flags for .fap linkage
* fbt: rebuilding assets when git commit id changes
* fbt: removed assets rebuild on git commit id change; added explicit dependency for SDK source on compiled assets parts; removed unneeded sdk regeneration runs
* fbt: changed stock plugins to EXTERNAL apps; restored building app as a PLUGIN as a part of main fw as well as a .fap; readme fixes
* fbt: restored certain apps to PLUGIN type
* fbt: app manifests: renamed version->fap_version, added extra fields
* fbt: fixed version processing after rename

Co-authored-by: あく <alleteam@gmail.com>
2022-09-19 21:39:00 +09:00
hedger
007a3d295e [FL-2819] updater: fixed failing backups on /int with empty files in it #1735
Co-authored-by: あく <alleteam@gmail.com>
2022-09-15 22:55:55 +09:00
SG
b9a766d909 [FL-2627] Flipper applications: SDK, build and debug system (#1387)
* Added support for running applications from SD card (FAPs - Flipper Application Packages)
* Added plugin_dist target for fbt to build FAPs
* All apps of type FlipperAppType.EXTERNAL and FlipperAppType.PLUGIN are built as FAPs by default
* Updated VSCode configuration for new fbt features - re-deploy stock configuration to use them
* Added debugging support for FAPs with fbt debug & VSCode
* Added public firmware API with automated versioning

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-09-15 02:21:03 +09:00
Skorpionm
e9ab581771 SubGhz: fix decoder kelooq (#1719)
* SubGhz: fix decoder kelooq

Co-authored-by: hedger <hedger@users.noreply.github.com>
2022-09-08 10:27:03 +03:00
あく
b62096fb91 [FL-2645, FL-2810] SubGhz: handle missing key in cryptostore. Lib: lower default display contrast. (#1717)
* SubGhz: skip file loading on key load fail

* Lib: update default display contrast

* Format sources

Co-authored-by: hedger <hedger@users.noreply.github.com>
2022-09-08 10:18:18 +03:00
あく
3a767c9c02 [FL-2794] Lib: update LFS to v2.5.0, lower update free page limit (#1706)
* Lib: update lfs to v2.5.0

* Storage: set minimum free pages for update on internal storage to 3

* Updater: lower min int free space limit

* lfs: disabled debug and trace logs by default

Co-authored-by: hedger <hedger@nanode.su>
2022-09-05 20:40:20 +03:00
VVX7
8d8481b17f fix buffer overflow in mifar ul load (#1697)
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2022-09-05 20:42:59 +09:00
gornekich
1853359d78 [FL-2759], [FL-2766] NFC collect params for mfkey32 attack (#1643)
* nfc: start nfc over rpc
* nfc: add detect reader state
* nfc: add reader analyzer
* nfc: rework reader analyzer
* reader_analyzer: print collected nonces to debug
* reader analyzer: add save on SD card
* reader_analyzer: separate mfkey related part to different file
* mfkey32: add logic for collecting parameters
* nfc: rework pcap with reader analyzer
* nfc: add logger for reader
* nfc: clean up
* nfc: add detect reader view
* nfc: add detect reader and mfkey nonces scenes
* nfc: add mfkey comlplete scene
* nfc: add new assets
* nfc: fix gui
* nfc: fix iso14443-4 UID emulation
* nfc: add no sd card notification
* nfc: fix grammar

Co-authored-by: あく <alleteam@gmail.com>
2022-09-03 21:25:36 +09:00