Installer et utiliser un Proxmark3 Easy 512M sous Windows 11 avec WSL2 (Debian)


Cette version Italienne du Proxmark 3 Easy étend la mémoire à 512M et peut être flashée avec le firmware officielle, par contre le Proxmark 3 est devenu deprecated au moment où j'écris ça (10/05/25) et une version 4 est dispo (mais chère, donc … à voir plus tard !)


Pré-requis : Windows 11 Pro + WSL2 + Debian

Pour que ça soit plus simple, utilisez 2 fenêtres, ou onglets, PowerShell (en admin) : une pour les manips Windows, l'autre pour Debian.


Installation du pilote WinUSB :

Utilisez Zadig : https://zadig.akeo.ie/

  • WinUSB est nécessaire pour que usbipd ou WSL2 accèdent au PM3.
  • Le driver usbver est désactivé mais pas supprimé.
  • Windows verra alors le Proxmark3 comme un périphérique générique.

Dans Zadig : choisissez proxmark3, remplacez usbver par WinUSB via le bouton Replace Driver.


Installer usbipd-win :

Téléchargez-le ici :

https://github.com/dorssel/usbipd-win/releases

ou avec :

winget install usbipd

Puis, dans PowerShell :

usbipd list

Identifiez la ligne de votre PM3, exemple :

3-2 9ac4:4b8f proxmark3

Le numéro du bus USB à attacher dans WSL2 sera donc : 3-2


Installer Debian via WSL2 :

wsl –install Debian
sudo bash
apt update && apt full-upgrade -y

Puis installez les dépendances nécessaires :

apt install -y build-essential automake autoconf libtool pkg-config git libreadline-dev libusb-1.0-0-dev cmake gcc-arm-none-eabi liblz4-dev libbz2-dev libjansson-dev liblua5.3-dev libgd-dev python3-dev libqt5serialport5-dev qtbase5-dev libbluetooth-dev libwhereami-dev libssl-dev


Attacher le port USB dans WSL2 :

Dans la fenêtre Windows :

usbipd bind –force –busid 3-2 usbipd attach –busid 3-2


Vérifier dans Debian que le Proxmark est bien vu :

lsusb

Vous devriez voir quelque chose du genre :

Bus 001 Device 002: ID 9ac4:4b8f J. Westhues ProxMark-3 RFID Instrument


Compiler le client Proxmark3 :

cd ~ git clone https://github.com/RfidResearchGroup/proxmark3.git
cd proxmark3
make clean

Lors du make clean je n'ai pas réussi à installer les libs pour Lua mais la lib embarquée fonctionne très bien.

Comme il s'agit d'un PM3 Esay le make doit être :

make PLATFORM=PM3GENERIC


Vérification du binaire :

./client/proxmark3 –version

Et test rapide :

./client/proxmark3 /dev/ttyACM0


Script bash avec whiptail :

à placer dans le répertoire proxmark3/ :

#!/bin/bash
PM3_DEV=“/dev/ttyACM0”
LOG=“/tmp/pm3_output.txt”

check_dev() {
if [ ! -e “$PM3_DEV” ]; then
whiptail –title “Erreur” –msgbox “Proxmark3 non détecté sur $PM3_DEV” 10 50
exit 1
fi
}

run_cmd() {
CMD=“$1”
echo “[=] Exécution : $CMD” > “$LOG” ./client/proxmark3 “$PM3_DEV” <<< “$CMD” >> “$LOG” 2>&1 whiptail –title “Résultat” –scrolltext –textbox “$LOG” 25 90
}

main_menu() {
while true; do
CHOICE=$(whiptail –title “Proxmark3 - Menu” –menu “Choisis une commande” 20 70 10 \ “1” “hw version” \ “2” “hw tune” \ “3” “lf search” \ “4” “hf search” \ “5” “Quitter” 3>&1 1>&2 2>&3)
case
“$CHOICE” in 1)
run_cmd “hw version” ;; 2)
run_cmd “hw tune” ;; 3)
run_cmd “lf search” ;; 4)
run_cmd “hf search” ;; 5) break ;; *) exit 1 ;;
esac
done
}

check_dev
main_menu


Sources :