Skip to content

Instantly share code, notes, and snippets.

View noproto's full-sized avatar
👨‍💻

Nathan N noproto

👨‍💻
View GitHub Profile

MIFARE Classic

Here are the steps to follow in order to read your cards. Your goal is to find as many keys as possible. The keys unlock sections of your card for the Flipper to read them - you must have a card. Once you read enough sections, you can use an emulated or cloned card at the original card reader to unlock it (sometimes even without finding all of the keys!).

Important

The features described in this guide are not yet officially released. Please select your firmware below for the relevant preparation instructions:

  Official firmware (OFW)

Flash this experimental build to follow this guide. When you complete all of the steps, restore the latest official firmware on the Flipper Zero. You may skip this step when this status badge is purple with the text "merge

@noproto
noproto / seednt16.c
Created September 21, 2024 01:05
Generate seednt16, original research by doegox
#include <stdbool.h>
#include <assert.h>
#include <stdio.h>
static uint16_t prev_lfsr16(uint16_t x) {
return ((x << 1 | x >> 15) & 0xffff) ^ ((x >> 1 ^ x >> 2 ^ x >> 4) & 0x100);
}
static uint16_t compute_seednt16_nt32(uint32_t nt32, uint64_t key) {
static const uint8_t a[] = {0, 8, 9, 4, 6, 11, 1, 15, 12, 5, 2, 13, 10, 14, 3, 7};
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <stdbool.h>
// Crypto1 state structure
struct Crypto1State {
uint32_t odd, even;
};
// Proof of concept static encrypted nonce solver v3
// by noproto
// gcc -o static_encrypted static_encrypted.c -lpthread -O3
//
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
// at your option, any later version.
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

MIFARE Classic

Here are the steps to follow in order to read your cards. Your goal is to find as many keys as possible. The keys unlock sections of your card for the Flipper to read them - you must have a card. Once you read enough sections, you can use an emulated or cloned card at the original card reader to unlock it (sometimes even without finding all of the keys!).

Important

Major update coming in first update following OFW 1.0.0 (ETA: mid to late September) which overhauls and simplifies this process: Status

Reading the card

Steps:

@noproto
noproto / main.tf
Created September 29, 2020 03:18
Terraform Quickstart Template Config (Local Docker DEV, AWS ECS Fargate+AWS Route53 PROD)
// This Terraform config is a working template for a simple infrastructure pipeline
// You'll need the AWS v2 CLI and the ECS CLI
//
// First, make a basic directory structure: mkdir -p ~/terraform/example/hello/data
//
// Files to be placed in the 'data' directory: hello.py requirements.txt
// hello.py:
// from flask import Flask
// app = Flask(__name__)
// @app.route("/")