#include /* generated by fbt from .png files in images folder */ #include #include #include "m.h" #include "key_retail.h" #define TAG "weebo" #define NTAG215_SIZE 540 #define NFC3D_UID_OFFSET 0x1D4 #define PAGE_SIZE 4 nfc3d_amiibo_keys amiiboKeys; uint8_t original[NTAG215_SIZE]; uint8_t plain_base[NFC3D_AMIIBO_SIZE]; uint8_t modified[NTAG215_SIZE]; void calculate_pwd(uint8_t* uid, uint8_t* pwd) { pwd[0] = uid[1] ^ uid[3] ^ 0xAA; pwd[1] = uid[2] ^ uid[4] ^ 0x55; pwd[2] = uid[3] ^ uid[5] ^ 0xAA; pwd[3] = uid[4] ^ uid[6] ^ 0x55; } int32_t weebo_app(void* p) { UNUSED(p); FURI_LOG_I(TAG, "Hello world"); FURI_LOG_I(TAG, "I'm weebo!"); // key_retail.bin memcpy(&amiiboKeys, key_retail_bin, sizeof(key_retail_bin)); memcpy(original, m_bin, m_bin_len); memset(plain_base, 0, sizeof(plain_base)); memset(modified, 0, sizeof(modified)); if(!nfc3d_amiibo_unpack(&amiiboKeys, original, plain_base)) { FURI_LOG_E(TAG, "Failed to unpack amiibo keys"); return -1; } FURI_LOG_I(TAG, "Unpacked amiibo keys"); return 0; }