Nenhuma descrição

te4gh0st e88f55bb97 Update Readme 11 meses atrás
example db47bac018 Update 11 meses atrás
LICENSE db47bac018 Update 11 meses atrás
README.md e88f55bb97 Update Readme 11 meses atrás
mdat.py db47bac018 Update 11 meses atrás

README.md

Miflare Dump Analyse Tool (mdat.py)

License Language

🛠 A powerful command-line utility for analyzing and manipulating MIFARE Classic 1K/4K card dumps.

✨ Features

  • 🗂 Load and display .bin dumps from MIFARE Classic 1K (16 sectors) and 4K (64 sectors) cards
  • 🧬 Visual representation of key data structures
  • 🔍 Highlight UID, BCC, ATQA, and SAK values
  • 🧠 Decode and generate access bits
  • 🧮 BCC calculation from custom UIDs
  • 🔄 Compare two dumps, with diff-only mode
  • 🌍 Multilingual: English (default) and Russian (--lang ru)

🔧 Installation

Clone the repository and run:

git clone https://github.com/te4gh0st/Miflare-Dump-Analyse-Tool.git
cd Miflare-Dump-Analyse-Tool

Then run the tool with:

mdat.py --help
````

txt usage: mdat.py [-h] [--bits] [--lang {en,ru}] [--calc-bcc BYTE [BYTE ...]] [--calc-access HEX HEX HEX] [--gen-access] [--compare DUMP1 DUMP2] [--diff-only] [dump]

Miflare Dump Analyse Tool Copyright (c) 2025 te4gh0st

positional arguments: dump .bin dump file

options: -h, --help show this help message and exit --bits, -b Show bits view (Показать биты) --lang {en,ru} Language / Язык --calc-bcc BYTE [BYTE ...]

                    Calculate BCC for UID bytes (Вычислить BCC для байт UID)

--calc-access HEX HEX HEX

                    Decode access bytes FF 07 08 (Декодировать байты доступа FF 07 08)

--gen-access Generate access bytes interactively (Интерактивная генерация бит доступа) --compare DUMP1 DUMP2

                    Compare two dumps (Сравнить два дампа)

--diff-only Show only differences when comparing (Только различия)

Here's the updated `README` with examples added and descriptions in English:

---

# Miflare Dump Analyse Tool (mdat.py)

![License](https://img.shields.io/badge/license-MIT-blue.svg)
![Language](https://img.shields.io/badge/language-Python-brightgreen)

🛠 A powerful command-line utility for analyzing and manipulating MIFARE Classic 1K/4K card dumps.

## ✨ Features

* 🗂 Load and display `.bin` dumps from MIFARE Classic 1K (16 sectors) and 4K (64 sectors) cards
* 🧬 Visual representation of key data structures
* 🔍 Highlight UID, BCC, ATQA, and SAK values
* 🧠 Decode and generate access bits
* 🧮 BCC calculation from custom UIDs
* 🔄 Compare two dumps, with diff-only mode
* 🌍 Multilingual: English (default) and Russian (`--lang ru`)

## 🔧 Installation

Clone the repository and run:

bash git clone https://github.com/te4gh0st/Miflare-Dump-Analyse-Tool.git cd Miflare-Dump-Analyse-Tool


## Then run the tool with:

bash python mdat.py --help


txt usage: mdat.py [-h] [--bits] [--lang {en,ru}] [--calc-bcc BYTE [BYTE ...]] [--calc-access HEX HEX HEX] [--gen-access] [--compare DUMP1 DUMP2] [--diff-only] [dump]

Miflare Dump Analyse Tool Copyright (c) 2025 te4gh0st

positional arguments: dump .bin dump file

options: -h, --help show this help message and exit --bits, -b Show bits view (Показать биты) --lang {en,ru} Language / Язык --calc-bcc BYTE [BYTE ...]

                    Calculate BCC for UID bytes (Вычислить BCC для байт UID)

--calc-access HEX HEX HEX

                    Decode access bytes FF 07 08 (Декодировать байты доступа FF 07 08)

--gen-access Generate access bytes interactively (Интерактивная генерация бит доступа) --compare DUMP1 DUMP2

                    Compare two dumps (Сравнить два дампа)

--diff-only Show only differences when comparing (Только различия)


---

## 📋 Examples of Usage

### 1. Load and Analyze a MIFARE Classic 1K Dump

To load and analyze a MIFARE Classic 1K dump, run the following command:

bash python3 mdat.py .\example\1.bin


**Example Output:**

Tag type: MIFARE Classic 1K Manufacturer: NXP

Sector 0 Block 0: 4B 97 0A 40 96 08 04 00 62 63 64 65 66 67 68 69 UID: 4B 97 0A 40 BCC: 96 (Calculated BCC: 96) → OK ATQA: 0004, SAK: 08 Block 1: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Block 2: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Block 3: FF FF FF FF FF FF FF 07 80 69 FF FF FF FF FF FF Key A : FF FF FF FF FF FF Access bits : FF 07 80 UserData: 69 Key B : FF FF FF FF FF FF

Access Access Block 0: Read/Write with Key B
Access Access Block 1: Read/Write with Key B
Access Access Block 2: Read/Write with Key B
Access Access Block 3: Trailer

### 2. Calculate the BCC for a Custom UID

To calculate the BCC for a given UID, use the following command:

bash python3 mdat.py --calc-bcc 00 AA BB


**Example Output:**

UID: 00 AA BB → BCC: 11


### 3. Compare Two Dumps and Show Only the Differences

To compare two dumps and display only the differences, run the following:

bash python3 mdat.py --compare .\example\1.bin .\example\2.bin --diff-only


**Example Output:**

Comparing dumps Sector 0 Block 0: A: 4B 97 0A 40 96 08 04 00 62 63 64 65 66 67 68 69 B: FF FF FF FF 96 08 04 00 62 63 64 65 66 67 68 69 Sector 13 Block 3: A: FF FF FF FF FF FF FF 07 80 69 FF FF FF FF FF FF B: FF FF FF FF FF FF FF 07 80 69 AF FF FF FF FF FF Sector 14 Block 3: A: FF FF FF FF FF FF FF 07 80 69 FF FF FF FF FF FF B: FF FF FF FF FF FF FF 07 80 69 FB FF FF FF FF FF

Total differences: 3


### 4. Decode Access Bits for a Given Value

To decode the access bits, use the following command:

bash python3 mdat.py --calc-access 07 80 69


**Example Output:**

Access bits calculation Access Matrix: Block 0 : C1=1 C2=0 C3=1 Block 1 : C1=1 C2=1 C3=1 Block 2 : C1=1 C2=1 C3=1 Block 3 : C1=1 C2=0 C3=0

Descriptions: Access Block 0: Read with Key B, writing not allowed Access Block 1: No access Access Block 2: No access Access Block 3: Key B readable with Key A, Access Bits writable

Access Bytes: [Byte 6] = 07 [Byte 7] = 80 [Byte 8] = 69 ```


MIT License

Copyright (c) 2025 (te4gh0st) Vitaly Timtsurak