Ver Fonte

Merge mfkey from https://github.com/noproto/FlipperMfkey

# Conflicts:
#	mfkey/application.fam
Willy-JL há 1 ano atrás
pai
commit
75e2332c9d
4 ficheiros alterados com 5 adições e 25 exclusões
  1. 1 1
      mfkey/application.fam
  2. 0 20
      mfkey/common.h
  3. 2 2
      mfkey/init_plugin.c
  4. 2 2
      mfkey/mfkey.c

+ 1 - 1
mfkey/application.fam

@@ -15,7 +15,7 @@ App(
     fap_icon_assets="images",
     fap_weburl="https://github.com/noproto/FlipperMfkey",
     fap_description="MIFARE Classic key recovery tool",
-    fap_version="2.0",
+    fap_version="2.1",
 )
 
 App(

+ 0 - 20
mfkey/common.h

@@ -1,20 +0,0 @@
-#ifndef COMMON_H
-#define COMMON_H
-
-#include <inttypes.h>
-
-inline uint64_t napi_nfc_util_bytes2num(const uint8_t* src, uint8_t len);
-
-inline uint64_t napi_nfc_util_bytes2num(const uint8_t* src, uint8_t len) {
-    furi_assert(src);
-    furi_assert(len <= 8);
-
-    uint64_t res = 0;
-    while(len--) {
-        res = (res << 8) | (*src);
-        src++;
-    }
-    return res;
-}
-
-#endif // COMMON_H

+ 2 - 2
mfkey/init_plugin.c

@@ -1,10 +1,10 @@
 #include <furi_hal.h>
 #include <inttypes.h>
 #include <toolbox/keys_dict.h>
+#include <bit_lib/bit_lib.h>
 #include <toolbox/stream/buffered_file_stream.h>
 #include <nfc/protocols/mf_classic/mf_classic.h>
 #include "mfkey.h"
-#include "common.h"
 #include "crypto1.h"
 #include "plugin_interface.h"
 #include <flipper_application/flipper_application.h>
@@ -34,7 +34,7 @@ bool key_already_found_for_nonce_in_dict(KeysDict* dict, MfClassicNonce* nonce)
     uint8_t key_bytes[sizeof(MfClassicKey)];
     keys_dict_rewind(dict);
     while(keys_dict_get_next_key(dict, key_bytes, sizeof(MfClassicKey))) {
-        uint64_t k = napi_nfc_util_bytes2num(key_bytes, sizeof(MfClassicKey));
+        uint64_t k = bit_lib_bytes_to_num_be(key_bytes, sizeof(MfClassicKey));
         struct Crypto1State temp = {0, 0};
         for(int i = 0; i < 24; i++) {
             (&temp)->odd |= (BIT(k, 2 * i + 1) << (i ^ 3));

+ 2 - 2
mfkey/mfkey.c

@@ -19,12 +19,12 @@
 #include "mfkey_icons.h"
 #include <inttypes.h>
 #include <toolbox/keys_dict.h>
+#include <bit_lib/bit_lib.h>
 #include <toolbox/stream/buffered_file_stream.h>
 #include <dolphin/dolphin.h>
 #include <notification/notification_messages.h>
 #include <nfc/protocols/mf_classic/mf_classic.h>
 #include "mfkey.h"
-#include "common.h"
 #include "crypto1.h"
 #include "plugin_interface.h"
 #include <flipper_application/flipper_application.h>
@@ -483,7 +483,7 @@ bool key_already_found_for_nonce_in_solved(
     int keyarray_size,
     MfClassicNonce* nonce) {
     for(int k = 0; k < keyarray_size; k++) {
-        uint64_t key_as_int = napi_nfc_util_bytes2num(keyarray[k].data, sizeof(MfClassicKey));
+        uint64_t key_as_int = bit_lib_bytes_to_num_be(keyarray[k].data, sizeof(MfClassicKey));
         struct Crypto1State temp = {0, 0};
         for(int i = 0; i < 24; i++) {
             (&temp)->odd |= (BIT(key_as_int, 2 * i + 1) << (i ^ 3));