mirror of
https://github.com/RfidResearchGroup/ChameleonUltra.git
synced 2026-05-12 11:22:59 -07:00
doc
This commit is contained in:
+63
-45
@@ -104,33 +104,44 @@ To run again after installing, just do the following:
|
||||
|
||||
### Linux
|
||||
|
||||
1. Install the dependencies
|
||||
- Ubuntu / Debian: `sudo apt install cmake make python3 python3-pip git ninja-build python3-venv build-essential`
|
||||
- Arch: `sudo pacman -S cmake make python3-pip git ninja base-devel`
|
||||
Install the dependencies
|
||||
- Ubuntu / Debian:
|
||||
`sudo apt install git cmake build-essential python3-venv`
|
||||
- Arch:
|
||||
`sudo pacman -S git cmake base-devel python3`
|
||||
|
||||
2. Clone the Repository by typing `git clone https://github.com/RfidResearchGroup/ChameleonUltra.git`
|
||||
Run the following script to clone the Repository, compile the tools and install Python dependencies in a virtual environment.
|
||||
|
||||
3. Now go into the newly created folder with `cd ChameleonUltra/software/src`
|
||||
```sh
|
||||
#!/bin/bash
|
||||
|
||||
4. Build the required config by running `cmake .`
|
||||
git clone https://github.com/RfidResearchGroup/ChameleonUltra.git
|
||||
(
|
||||
cd ChameleonUltra/software/src
|
||||
mkdir -p out
|
||||
(
|
||||
cd out
|
||||
cmake ..
|
||||
cmake --build . --config Release
|
||||
)
|
||||
)
|
||||
(
|
||||
cd ChameleonUltra/software/script
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate
|
||||
pip3 install -r requirements.txt
|
||||
deactivate
|
||||
)
|
||||
```
|
||||
|
||||
5. And the binaries with `cmake --build .`
|
||||
To run the client after installing, do the following:
|
||||
|
||||
6. Go into the script folder with `cd ../script/`
|
||||
|
||||
7. Create a virtual enviroment with `python3 -m venv venv`
|
||||
|
||||
8. Activate it with `source venv/bin/activate`
|
||||
|
||||
9. Install python requirements with `pip3 install -r requirements.txt`
|
||||
|
||||
10. Finally run the CLI with `python3 chameleon_cli_main.py`
|
||||
|
||||
To run again after installing, just do the following:
|
||||
|
||||
1. Activate venv by running `source venv/bin/activate`
|
||||
|
||||
2. Run the CLI with `python3 chameleon_cli_main.py`
|
||||
```sh
|
||||
cd ChameleonUltra/software/script
|
||||
source venv/bin/activate
|
||||
python3 chameleon_cli_main.py
|
||||
deactivate
|
||||
```
|
||||
|
||||
### MacOS
|
||||
|
||||
@@ -140,31 +151,41 @@ To run again after installing, just do the following:
|
||||
|
||||
When in the CLI, plug in your Chameleon and connect with `hw connect`. If autodetection fails, get the Serial Port used by your Chameleon and run `hw connect -p COM11` (Replace `COM11` with your serial port, on Linux it may be `/dev/ttyACM0`)
|
||||
|
||||
### Common activities
|
||||
|
||||
- Connect to the CLI: `hw connect`
|
||||
- Change slot: `hw slot change -s [1-8]`
|
||||
|
||||
*More examples coming soon*
|
||||
|
||||
### MFKEY32v2 walk-through
|
||||
Make sure to be in the `software/` directory and run the Python CLI from there.
|
||||
|
||||
- Connect to the CLI: `hw connect`
|
||||
- Check which slot can be used: `hw slot list`
|
||||
- Change the slot type, here using slot 8 for a MFC 1k emulation: `hw slot type -s 8 -t MIFARE_1024`
|
||||
- Init the slot content: `hw slot init -s 8 -t MIFARE_1024`
|
||||
- or load an existing dump and set UID and anticollision data, cf `hf mf eload -h` and `hf mf econfig -h`
|
||||
- Enable the slot: `hw slot enable -s 8 --hf`
|
||||
- Change to the new slot: `hw slot change -s 8`
|
||||
- Activate the authentication logs: `hf mf econfig --enable-log`
|
||||
|
||||
```sh
|
||||
# Connect to the CLI
|
||||
hw connect
|
||||
# Check which slot can be used
|
||||
hw slot list
|
||||
# Change the slot type, here using slot 8 for a MFC 1k emulation
|
||||
hw slot type -s 8 -t MIFARE_1024
|
||||
# Init the slot content
|
||||
hw slot init -s 8 -t MIFARE_1024
|
||||
# or load an existing dump and set UID and anticollision data,
|
||||
# cf 'hf mf eload' and 'hf mf econfig'
|
||||
# Enable the slot
|
||||
hw slot enable -s 8 --hf
|
||||
# Change to the new slot
|
||||
hw slot change -s 8
|
||||
# Activate the authentication logs
|
||||
hf mf econfig --enable-log
|
||||
```
|
||||
Now disconnect, go to a reader and swipe it a few times
|
||||
|
||||
- Come back and connect to the CLI: `hw connect`
|
||||
- See if nonces were collected: `hf mf elog`
|
||||
- We need 2 nonces per key to recover
|
||||
- Recover the key(s) based on the collected nonces: `hf mf elog --decrypt`.
|
||||
Come back
|
||||
|
||||
```sh
|
||||
# connect to the CLI
|
||||
hw connect
|
||||
# See if nonces were collected. We need 2 nonces per key to recover
|
||||
hf mf elog
|
||||
# Recover the key(s) based on the collected nonces
|
||||
hf mf elog --decrypt
|
||||
# Clean the logged detection nonces
|
||||
hf mf econfig --disable-log
|
||||
```
|
||||
Output example:
|
||||
```
|
||||
- MF1 detection log count = 6, start download.
|
||||
@@ -178,8 +199,5 @@ Now disconnect, go to a reader and swipe it a few times
|
||||
|
||||
```
|
||||
|
||||
- To clean the logged detection nonces: `hf mf econfig --disable-log` then `hf mf econfig --enable-log`
|
||||
|
||||
|
||||
|
||||
*More examples coming soon*
|
||||
|
||||
Reference in New Issue
Block a user