| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #include <furi.h>
- /* generated by fbt from .png files in images folder */
- #include <weebo_icons.h>
- #include <amiibo.h>
- #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;
- }
|