Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
xianglin1998 committed Jan 17, 2025
2 parents 6439b25 + d6c106f commit c68ea99
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 48 deletions.
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ Europe: [Lab401](https://lab401.com/)

United States: [Hackerwarehouse](https://hackerwarehouse.com/)

Anywhere else: [Sneaktechnology](https://sneaktechnology.com) / [Aliexpress by RRG](https://proxgrind.aliexpress.com/store/1101312023)
MTools Tec: [MTools Tec](https://shop.mtoolstec.com/)

Anywhere else: [Sneaktechnology](https://sneaktechnology.com) / [Aliexpress by RRG](https://proxgrind.aliexpress.com/store/1101312023) / [TechSecurityTools](https://techsecuritytools.com/product/chameleon-ultra/)

# What is it and how to use ?

Expand Down Expand Up @@ -39,6 +41,7 @@ Table for future functionality progress
# Compatible applications

* [ChameleonUltraGUI](https://github.com/GameTec-live/ChameleonUltraGUI)
* [MTools BLE](docs/mtoolsble.md)

# Videos

Expand All @@ -47,6 +50,7 @@ Table for future functionality progress
* [Downloading and compiling the official CLI](https://www.youtube.com/watch?v=VGpAeitNXH0)
* [Downloading ChameleonUltraGUI](https://www.youtube.com/watch?v=rHH7iqbX3nY)
* [ChameleonGUI features overview](https://www.youtube.com/watch?v=YqE8wyVSse4)
* [MTools BLE - How to clone a card with ChameleonUltra](https://youtu.be/IvH-xtdW1Wk?si=4exqgAAeJ-kxU3aN)

# Official channels

Expand Down
50 changes: 50 additions & 0 deletions docs/mtoolsble.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# MTools BLE Introduction
MTools BLE supports managing the ChamleonUltra, ChameleonLite and DevKits via BLE connections.
## Downlaod Link
- [MTools BLE on iOS](https://apps.apple.com/app/mtools-ble-rfid-reader/id1531345398)
- [MTools BLE on Google Play](https://play.google.com/store/apps/details?id=com.mtoolstec.mtoolsLite)

## How to connect with Bluetooth in MTools BLE
1. Click **A** or **B** button to power on.
2. Click **Bluetooth List** icon in App to search devices.
3. Click **Connect** button on the right to connect.

#### Notice for Bluetooth Connection
1. Grant the Bluetooth permission of App on iOS.
2. Allow Location permission to scan Bluetooth devices on Android.

## Features for ChameleonUltra
### Slot Manager
1. Fetch all slot status.
2. Enable or disable Slots.
3. Change LF and HF Slot name.
4. Set LF and HF Tag Type.
5. Delete and reset all slots.

### Reader
1. Fast read LF and HF Tag.
2. Simulate Mifare Classic Tag with UID, SAK, ATQA and empty dump.
3. Simulate Mifare Ultralight Tag with UID, SAK, ATQA and empty dump.
4. Simulate EM410X LF tag or manually set the ID then simulate.

### Mifare Classic Dump
1. eRead full dump from current active slot to App.
2. Upload full dump to current active slot and simulate.
3. Read Mifare Mini, 1K, 2K, 4K dump from tag with known keys.
4. Write Gen1A, Gen2, Gen3, Gen4 dump to tag with known keys.
5. Format common and magic Mifare Classic tags.
6. Modify block data and save to new dump file.

### Mifare Ultralight Dump
1. eRead full dump from current active slot to App.
2. Upload full dump to current active slot and simulate.
3. Read Mifare Ultralight dump from tag.
4. Write Mifare Ultralight dump to tag.

### Settings
1. Set the Animation of LEDs.
2. Set press and long press button of A and B.
3. Set the **Mifare Classic Emulation** of current slot.
4. Set the **Mifare Ultralight Emulation** of current slot.
5. DFU Tool for updating firmware.
6. Reset Chameleon Device.
42 changes: 0 additions & 42 deletions docs/mtoolslite.md

This file was deleted.

4 changes: 2 additions & 2 deletions docs/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ Quickly get up and running with your Chameleon and no technical skill
- [ChameleonUltraGUI on Windows](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/windows-installer.zip) ([or without installer](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/windows.zip))
- [ChameleonUltraGUI on Linux](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/linux.zip)
- [ChameleonUltraGUI on macOS](https://apps.apple.com/app/chameleon-ultra-gui/id6462919364)
- [MTools Lite on iOS](https://apps.apple.com/app/mtools-ble-rfid-reader/id1531345398)
- [MTools Lite on Google Play](https://play.google.com/store/apps/details?id=com.mtoolstec.mtoolsLite)
- [MTools BLE on App Store](https://apps.apple.com/app/mtools-ble-rfid-reader/id1531345398)
- [MTools BLE on Google Play](https://play.google.com/store/apps/details?id=com.mtoolstec.mtoolsLite)

2. Connect your Chameleon via USB or BLE

Expand Down
7 changes: 5 additions & 2 deletions firmware/application/src/rfid/nfctag/lf/lf_tag_em.c
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ uint64_t em410x_id_to_memory64(uint8_t id[5]) {
*/
bool lf_is_field_exists(void) {
nrf_drv_lpcomp_enable();
bsp_delay_us(20); // Display for a period of time and sampling to avoid misjudgment
bsp_delay_us(30); // Display for a period of time and sampling to avoid misjudgment
nrf_lpcomp_task_trigger(NRF_LPCOMP_TASK_SAMPLE); //Trigger a sampling
return nrf_lpcomp_result_get() == 1; //Determine the sampling results of the LF field status
}
Expand Down Expand Up @@ -261,7 +261,10 @@ void timer_ce_handler(nrf_timer_event_t event_type, void *p_context) {
if (m_is_send_first_edge == true) { // The first edge of the next sends next time
if (++m_bit_send_position >= LF_125KHZ_EM410X_BIT_SIZE) {
m_bit_send_position = 0; // The broadcast is successful once, and the BIT position is zero
if (++m_send_id_count >= LF_125KHZ_BROADCAST_MAX) {
if(!lf_is_field_exists()){ // To avoid stopping sending when the reader field is present
m_send_id_count++;
}
if (m_send_id_count >= LF_125KHZ_BROADCAST_MAX) {
m_send_id_count = 0; //The number of broadcasts reaches the upper limit, re -identifies the status of the field and re -statistically count the number of broadcast times
}
}
Expand Down
2 changes: 1 addition & 1 deletion firmware/application/src/rfid/nfctag/lf/lf_tag_em.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* The definition of the packaging tool macro only needs to be modulated 0 and 1
*/
#define LF_125KHZ_EM410X_BIT_SIZE 64
#define LF_125KHZ_BROADCAST_MAX 3 // 32.768ms once, about 31 times in one second
#define LF_125KHZ_BROADCAST_MAX 10 // 32.768ms once, about 31 times in one second
#define LF_125KHZ_EM410X_BIT_CLOCK 256
#define LF_EM410X_TAG_ID_SIZE 5

Expand Down

0 comments on commit c68ea99

Please sign in to comment.