Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
This is a guide for compiling the Proxmark3 firmware on the Linux Distribution: Kali Rolling-Edition. It has been verified working as of Kali 2016.2 Release.
Table of Contents
Open a terminal: Download and install the essentials to build Proxmark3 from source:
sudo apt-get install git build-essential libreadline5 libreadline-dev gcc-arm-none-eabi libusb-0.1-4 libusb-dev libqt4-dev ncurses-dev perl pkg-config
Check out the latest revision of the Proxmark project:
git clone https://github.com/Proxmark/proxmark3.git
Open the recently cloned Proxmark3 repository
Now compile the bootrom, OS and software.
make clean && make all
Connect the Proxmark3 to an empty USB port. Open a terminal and run:
dmesg | grep -i usb
You will get similar to one of the two following outputs that will affect the next few steps.
if device gets disconnected while getting enumerated, it is usally the modem-manager which are spooking. Some users has tried killing it with some success. A more permanent solution must be found for Kali users.
[ 5414.961137] usb 2-2.2: new full speed USB device number 11 using uhci_hcd May 3 15:53:43 proxtest mtp-probe: checking bus 2, device 11: "/sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/2-2.2" [ 5422.297626] generic-usb 0003:9AC4:4B8F.0008: hiddev0,hidraw2: USB HID v1.00 Device [ProxMark-3 RFID Instrument] on usb-0000:02:00.0-2.2/input0Jump to Upgrading Proxmark3 to CDC Bootloader
[10416.461687] usb 2-1.2: new full-speed USB device number 12 using ehci_hcd [10416.555093] usb 2-1.2: New USB device found, idVendor=2d2d, idProduct=504d [10416.555105] usb 2-1.2: New USB device strings: Mfr=1, Product=0, SerialNumber=0 [10416.555111] usb 2-1.2: Manufacturer: proxmark.org [10416.555814] cdc_acm 2-1.2:1.0: This device cannot do calls on its own. It is not a modem. [10416.555871] cdc_acm 2-1.2:1.0: ttyACM0: USB ACM deviceJump to Upgrading Proxmark3 Firmware.
Unplug the Proxmark3.
Make sure you are in the "proxmark3" directory and issue the following commands.
cd client make
Hold down the button on the Proxmark3 and continue to hold it down. Attach the Proxmark3 to an empty USB port still holding down the button and issue the following command:
./flasher /dev/ttyACM0 -b ../bootrom/obj/bootrom.elf
Release the button. And go back to the main Proxmark3 directory.
Note: This can be a real chore to upgrade to the CDC bootloader when using a virtual machine. I recommend using a real install or booting from a live DVD or USB drive.
You can now skip forward to Upgrading Proxmark3 Firmware!
Make sure you are in the "proxmark3" directory and issue the following commands:
cd client ./flasher /dev/ttyACM0 ../armsrc/obj/fullimage.elf cd ..
The flasher program will detect your Proxmark3 and reboot it. Once it reboots and starts back up in the proper mode the flasher will detect the Proxmark3 again and then start flashing the firmware. You may have to run "dmesg" and check what serial port your Proxmark3 is connected to and replace "ttyACM0" if you encounter issues. Also try unplugging and plugging the USB cable back in and running the command again. WARNING! Do not unplug the USB cable or cancel the command while it is actually upgrading the firmware. It may take a little while for the flasher to actually detect the Proxmark3 after rebooting, typically less than a minute.
Make sure you are in the "proxmark3" directory.
cd client ./proxmark3 /dev/ttyACM0
If all went well you should get some information about the firmware and memory usage as well as the following prompt:
Now run the following commands to verfiy functionality
proxmark3>hw status proxmark3>hw version proxmark3>hw tune
You are now ready to use your newly upgraded Proxmark3!
Quit Proxmark Program.