This is NOT the official repository of ChameleonMini, a freely programmable portable tool for NFC security analysis that can emulate and clone contactless cards, read RFID tags, and sniff/log RF data. This repository brings support for the Chameleon Tiny.
Our Project is based on the open-source project ChameleonMini RevG by Kasper & Oswald. They also have their own Webshop.
- Information:
- Tools:
- Phone APP:
- Android: Chameleon
- The Android APP is currently NOT compatible with the official firmware
- IOS: ChameleonTiny Manager
- The IOS APP is currently NOT compatible with the official firmware
- Credit to bettse
- Password: e4g1
- Android: Chameleon
- Optional GUI (Winodws Only):
- Chameleon Firmware:
- Compile the latest firmware: Here
- Or use the precompiled: Here
- The Chameleon Mini REV.G version uses the same firmware for both the Mini with Bluetooth version and Tiny
- The hardware design of the RF part is exactly the same
- The hardware is also compatible with the official firmware of the KAOS brothers
- Compile the latest firmware: Here
- Terminal APP:
- Putty or similar APP
- DFU driver:
- The DFU driver comes from ATMEL's official LIBUSB driver library
- You can download it yourself or from the repo: Here
- Phone APP:
- Resellers:
- Repository Structure:
- Doc: A folder for doxygen documentation
- Drivers: Chameleon drivers for Windows and Linux
- Dumps: Dumps of different smartcards
- Hardware: The layout and schematics of the PCB
- Firmware: The complete firmware including a modified Atmel DFU bootloader and LUFA
- Software: Contains a python tool for an easy configuration (and more) of the ChameleonMini
- WARNING: This is currently under construction
- RevE: Contains the entire contents of the discontinued RevE repository
- RevE-light: Contains our development files for the RevE-light
- WARNING: This is currently not supported / not functional
- Optional GUI (Windows Only)
- Terminal APP
- Firmware
- DFU driver
-
Enter the Chameleon DFU mode:
Method 1: GUI (Windows Only)
- Mini or Tiny:
- With the Chameleon in the
OFF
position, connect it via USB cable to your computer- On the Mini, it may be a good idea to remove the battery before putting the device into DFU
- Send the
UPGRADE
command while it is connected - Device should now be ready
- Further information from the original: Here
- With the Chameleon in the
Method 2: CLI
-
Mini:
- With the Chameleon in the
OFF
state, press and hold the black (Rev E) or yellow (Rev G) button near the USB while inserting it into the USB port- It may be a good idea to remove the battery before putting the device into DFU
- Use your favorite terminal application to connect to it. Type
upgrade
and hitEnter
- The Chameleon will enter the
DFU firmware upgrade
mode - Further information from the original: Here
- With the Chameleon in the
-
Tiny:
- With the Chameleon in the
OFF
state, press and hold the B button while inserting it into the USB port - Use your favorite terminal application to connect to it. Type
upgrade
and hitEnter
- The Chameleon will enter the
DFU firmware upgrade
mode - Further information from the original: Here
- With the Chameleon in the
-
Note:
- More info from source: Here
- Mini or Tiny:
-
Start to upgrade the firmware:
Method 1: Automatic (Windows Only)
- Mini or Tiny:
- After either compiling or obtaining the firmware HEX and EEP files, place them in the same diretory as ChameleonFirmwareUpgrade.bat
- Ensure Chameleon is in
DFU firmware upgrade
mode - Run the
ChameleonFirmwareUpgrade.bat
file to automatically start the firmware upgrade - It usually takes 2 - 5 seconds
- After the progress bar is complete, the firmware upgrade is complete
- Mini or Tiny:
- Optional GUI
- Terminal APP
- Phone APP
- Firmware
- Press any button on the Mini and the white battery light should come
ON
- You can now connect via Bluetooth
- Open the APP again and click
Connect
to automatically connect the Chameleon
- In the
Device Information
column, pressBLE CMD Version
5 times - On the
OTA upgrade
page, clickAuto Upgrade
- The APP will immediately start to upgrade to the latest Bluetooth firmware that comes with it
- The APP will automatically exit after the upgrade is complete
-
Tools:
- Optional GUI
- Terminal APP
- Phone APP
- Firmware
-
Connect to the Chameleon Mini or Tiny using the APP
- Connect via USB or Bluetooth
- Note:
- Both the Chameleon Mini and Tiny support direct connection to the mobile phone USB port
- For the Mini, an additional OTG adapter needs to be purchased
- Tiny uses its own dual-headed TYPE-C data cable to connect directly to TYPE-C mobile phones
- Chameleon Mini has built-in Bluetooth BLE4.0. Press any button first to wake up Bluetooth
- Turn Bluetooth
ON
on your phone and the APP will automatically connect
- Both the Chameleon Mini and Tiny support direct connection to the mobile phone USB port
- After connecting, click on a single card slot and select
DETECTION_1K
or4K
in thecard slot mode
- This card slot will now have the detection mode turned
ON
- Write the original card number in the
UID Card Number
column. ClickWrite
- If you don't know the UID number, you can fill in it at will
- Then click the
Clear
button below to clear the last detection record
- Take the Chameleon to the access control reader and swipe
- The key and access traces when the chaser reads the Chameleon will be recorded by the Chameleon
- Connect back to the mobile phone and press the
Crack
button - After a few seconds, the APP will automatically solve and list the results, as shown in the figure below:
- The list shows which blocks the read head just visited, and what password was used for each access
- Click the
History
button. The APP will automatically list the keys separately and save them for other software to use - If your mobile phone comes with an NFC function, you can put the original key directly on the mobile phone
- The APP will automatically use the key in the list to read the entire card, and after it is successful, it will automatically save the entire card data file on the mobile phone
- Note:
- Multiple red LEDs are on at the same time during detection, which means the memory is full, just clear the memory.
- Use QQ to send the card data file to the mobile phone QQ, or connect the mobile phone to the computer and transfer the file to any directory on the mobile phone
- Open the APP, click the
DUMP
column below, click theScanner
in the plus sign in the upper right corner - Click the three horizontal line buttons in the upper left corner, and select this phone
- Select the root directory of the QQ receiving file or the previously copied directory, and click
Allow Access
- All card data files will be automatically scanned into the
DUMP
file interface, which can be uploaded or edited at will - Click the card data file in the
DUMP
column below, and clickUpload
below to upload to the card slot corresponding to the Chameleon
- Enter UID mode:
- Click the button
UID Changeable (GEN1a)
in the APP or directly send the commandUIDMODE = 1
to turn it on, andUIDMODE = 0
to turn itOFF
- After the UID mode is turned
ON
, the card simulated by Chameleon will become a GEN1a card- Commonly known as a UID card or Chinese magic card
- Global card slot takes effect
- Click the
SAK Mode
button in the APP or directly send the commandSAKMODE = 1
to turn itON
, andSAKMODE = 0
to turn itOFF
- After the
SAK Mode
is turnedON
, the card will feedback the real SAK value when it is found - The SAK value is determined by the 0 sector, 0 block, and the position is the position of the sixth byte immediately after the UID number
- If the SAK mode is not turned on, the SAK is a fixed value of 08, and 0 blocks of data are ignored
- This function is used to meet the situation where some cards with special SAK values cannot be used normally after being copied
- This achieves better compatibility
- The current card slot takes effect
Option | Type | Length of UID | Memory Size |
---|---|---|---|
MF_classic_1K 4B/7B | M1 S50 | 4 Byte / 7 Byte | 1024 byte |
MF_classic_4K 4B/7B | M1 S70 | 4 Byte / 7 Byte | 4096 byte |
MF_classic_mini_4B | M1 mini S20 | 4 Byte / 7 Byte | 320 byte |
MF_ultralight_C | M0 ultralight | 7 Byte | 192 byte |
MF_ultralight_EV1_80B | M0 ultralight | 7 Byte | 80 byte |
MF_ultralight_EV1_164B | M0 ultralight | 7 Byte | 164 byte |
Vicinity | - | 8 Byte | 8192 byte |
SL2S2002 | - | 8 Byte | 8192 byte |
TITAGITSTANDARD | - | 8 Byte | 44 byte |
EM4233 | - | 8 Byte | 208 byte |
Option | Ability | Cracking Type | APP Supported |
---|---|---|---|
MF_DETECTION_1K | Detecting reader to obtain keys | MFKEY32V2 | List results directly |
MF_DETECTION_4K | Detecting reader to obtain keys | MFKEY32V2 | List results directly |
ISO14443A_READER | Reader Mode | - | Display UID |
ISO14443A_SNIFF | Sniffing | - | Not supported |
ISO15693_SNIFF | Sniffing | - | Supported |
Option names | Description |
---|---|
NONE | Set this button to have no function |
UID_RANDOM | Randomly generated UID number in the current card slot after pressing |
UID_LEFT_INCREMENT | After pressing, the highest byte of the UID number plus one (hexadecimal) |
UID_RIGHT_INCREMENT | After pressing the lowest byte of the UID number plus one (hexadecimal) |
UID_LEFT_DECREMENT | After pressing, the highest byte of the UID number is reduced by one (hexadecimal) |
UID_RIGHT_DECREMENT | After pressing, the lowest byte of the UID number is reduced by one (hexadecimal) |
CYCLE_SETTINGS | Card slot number sequence will increase after pressing |
CYCLE_SETTINGS_DEC | Card slot number sequence decreases after pressing |
STORE_MEM | Immediately after pressing, the current card data in the temporary buffer is overwritten into the memory |
RECALL_MEM | Immediately after pressing, the current card data in the memory is overwritten into the temporary buffer (Can be used to quickly restore card data) |
TOGGLE_FIELD | Click once to turn off the antenna and click again to turn on the antenna function |
STORE_LOG | Write the log data in the temporary cache to the memory, which can be saved even when power is off |
CLEAR_LOG | Clear log data immediately after pressing |
CLONE | Read the UID card number immediately after pressing, continue searching, and simulate immediately after reading the card |
- Any time you connect USB, it will automatically start charging
- The Mini will have a white light while the Tiny will have a red light over the USB port to indicate if it is charging
- Charging method: Plug in the USB at any time and start charging immediately
- Battery type: LIR2032H replaceable lithium-ion rechargeable battery
- Charging time: 2 hours @ 0-100%
- Charging current: 40mA
- Start-up current: 38mA
- Card reading current: 65mA
- Sleep current: 5uA (9uA-MAX)
- Battery capacity: 70mAh
- Duration: Swipe the card 3 times a day for 5 seconds each time, and it can be used for one year on a single charge
- Sleeping time: Fully charged, it can be left for two years when it is turned off and sleeping
- Port type:
- Mini: MicroUSB
- Tiny: Type-C
- If the memory is full during dense flow detection, multiple red LEDs will be abnormally lit
- When the power is
OFF
, press any button once to turn on the Bluetooth power, and at the same time, display the current power with a white LED - With the Bluetooth in the
ON
state, click any button to turn off the Bluetooth power, the power LED goes out, and the system sleeps - Bluetooth will sleep automatically after no operation for 15 seconds
- Press any button once to shut down immediately
- With the Bluetooth in the
ON
state, double click any button.- Or in the
OFF
state, triple click any button times to turnON
the Chameleon
- Or in the
- The red LED lights up to indicate the slot number
- Chameleon will automatically sleep and shut down after no operation for 5 seconds
- Section A1: Here
- Chameleon Mini: Here
- ChameleonMini RevG In Lab Demo / Technical Explanation of Command Line Interface
- Mifare Reader Attack: Sniffing, Cracking, Emulation, Open! LAB401 Academy - CHAMELEON MINI Tutorial
- AndreasBujok/ChameleonMini
- How to use the new Proxgrind Chameleon Tiny and Mini with the APP
- With the Chameleon in the
OFF
state, press theA button
once to turnON
the Chameleon power - The red LED lights up to indicate the slot number
- Chameleon will automatically sleep and shut down after no operation for 5 seconds
- This can be adjusted in the APP
- Section A1: Here
Same as the Mini?
- How to use the new Proxgrind Chameleon Tiny and Mini with the APP
- ChameleonTiny 8 Prox in1 & Sniff - Crack RFID ~ NFC ~ UID
- Chameleontiny pro -Standalone clone of a MIFARE 1K UID
- | Rev.G Official by KAOS | Rev.E Old Rdv2.0 by ProxGrind | Rev.G by ProxGrind | Rev.G Tiny by ProxGrind |
---|---|---|---|---|
Simulation | Good performance, has blind area | Poor compatibility | Perfect performance | no blind area |
As a reader | 1-2cm for white tag | 0cm for keyfob | × | 5-6cm for white tag |
Read current | 170mA | × | 65mA | 60mA |
BLE nrf52832 | × | × | √ | × |
Li-ion battery | √ | × | √ | √ |
Battery indicator | × | × | √ | × |
Low power sleep | × | × | √ | √ |
RF field wakeup | × | √ | √ | √ |
Button wakeup | × | √ | √ | √ |
Auto power off | × | √ | √ | √ |
Official firmware compatible | √ | √ | √ | √ |
Replaceable Antenna | × | × | √ | × |
MFKEY32 crack | × | √ | √ | √ |
8 LED for slot | × | √ | √ | √ |
Android APP | × | × | √ | √ |
Firmware anti lost | × | × | √ | × |
Rev.G Official By KAOS | Rev.E old RDV2.0 By PROXGRIND | Rev.G new RDV2.0 By PROXGRIND | M1 white tag | |
---|---|---|---|---|
122U r/w full data | 1-2 sector only | Smooth | Smooth | Smooth |
122U Range | 61mm | 41mm | 73mm | 71mm |
PM3 r/w full data | 1-2 sector only | Smooth | Smooth | Smooth |
PM3 Range | 57mm | 74mm | 88mm | 89mm |
Phone NFC r/w full data | No | Smooth | Smooth | Smooth |
Phone NFC Range | 25mm | 18mm | 33mm | 32mm |
Magic back door | By default | No | Dual mode | No |
SAK ATQA Support | No | No | Modifiable | No |
Command | Effect Range | Description |
---|---|---|
UIDMODE? | All slot | Returns the configuration of the all slot |
UIDMODE=? | All slot | Returns a list of all supported configurations |
UIDMODE=[0;1] | All slot | Activates(1),deactivates(0),the magic card mode(It will has Chinese magic card back door) |
SAKMODE? | Current slot | Returns the configuration of the current slot |
SAKMODE=? | Current slot | Returns a list of all supported configurations |
SAKMODE=[0;1] | Current slot | Activates(1),deactivates(0),the real SAK ATQA mode (the SAK ATQA will be mapped from block 0) |
CONFIG=MF_DETECTION_1K | Current slot | Set current slot to detection 1K mode. |
CONFIG=MF_DETECTION_4K | Current slot | Set current slot to detection 4K mode. |
DETECTION=0 | Device | Clears the detection log memory |
DETECTION? | Device | Wait for an XModem connection and then downloads the binary detection log data. |
- Repo: Here
- Instruction sheet: Here
- Repo: Here
Card Type | Encoding Type | Whether the hardware supports | Does the software support | Whether the application layer supports | Note |
---|---|---|---|---|---|
Non13.56MHz | No | No | No | ||
Mifare Ultralight | ISO14443A/106 kbit/s | Support | Support | Support | |
Mifare Ultralight Ev1 | ISO14443A/106 kbit/s | Support | Support | Support | |
MifareClassic1K/4K 4B/7B | ISO14443A/106 kbit/s | Support | Support | Support | |
Mifare DESFire | ISO14443A High Rate | Supports low rates, or possibly higher rates | Only supported Low rate | No | |
Mifare DESFire EV1 | ISO14443A High rate | Supports low rates, or possibly higher rates | Only supported Low rate | No | Backward compatible |
Mifare DESFire EV2 | ISO14443A High rate | Supports low rates, or possibly higher rates | Only supported | Low rate | No |
Mifare PLUS | ISO14443A High rate | Supports low rates, or possibly higher rates | Only supported Low rate | No | |
Sniff Mode NTAG | ISO14443A 106 kbit/s | Support | Support | No | |
LEGIC prime | LEGICprime/ ISO14443A/ ISO15693 | Possible but not supported | Possible but not supported | No | |
HID iCLASS | 125kHz/ISO15693/ISO14443B | Possible but not supported | Possible but not supported | No | |
Epass | ISO14443A/B | Supported / Supported | Low rate only / not supported | No | |
TiTagIT Standard | ISO15693 | Support | Support | Support | |
EM4233 | ISO15693 | Support | Support | Support |
Encoding type | Whether the hardware supports | Does the software support | Whether the application layer supports | Note |
---|---|---|---|---|
Non-13.56MHz | Not Supported | Not Supported | Not Supported | |
ISO 14443 A 106 kbit/s | Reader -> card Direction sniffing | Maybe support the other direction | Currently only supported Reader -> card Direction sniffing | |
ISO 15693 | Support | Support | Support | Single subcarrier only |
Card type | Encoding type | Whether the hardware stand by | Whether the software stand by | Whether the application layer supports | Note |
---|---|---|---|---|---|
Non13.56MHz | Not Supported | Not Supported | Not Supported | ||
Mifare Ultralight | ISO14443A 106 kbit/s | Support | Support | SupportCommand: dump_mfu | |
MifareClassic1K/4K 4B/7B | ISO14443A 106 kbit/s | Support | Support | Not Supported | No card reading instruction, encryption function has been implemented |
- Iceman
- Philippe Teuwen
- Willok
- DXL
- ProxGrind aka Olaf