===============
[![Build Status](https://travis-ci.org/iceman1001/proxmark3.svg?branch=master)](https://travis-ci.org/iceman1001/proxmark3) [![Coverity Status](https://scan.coverity.com/projects/5117/badge.svg)](https://scan.coverity.com/projects/proxmark3_iceman_fork) [![Latest release] (https://img.shields.io/github/release/iceman1001/proxmark3.svg)] (https://github.com/iceman1001/proxmark3/releases/latest)
-##This fork is HIGHLY experimental
+##This fork is HIGHLY experimental (or bleeding edge)
+
+##Donate
+https://paypal.me/iceman1001/
+Feel free to donate. All support is welcome.
##Notice
-There is so much in this fork, with all fixes and additions its basically the most enhanced fork to this day for the Proxmark3 device. Which makes it so awesum to play with. Witt all coverity scan fixes this client is much more stable than PM3 Master.
+There is so much in this fork, with all fixes and additions its basically the most enhanced fork to this day for the Proxmark3 device. Which makes it so awesum to play with. Do please play with it. Get excited and experiment. As a side note with all coverity scan fixes this client is much more stable than PM3 Master even if I tend to break it sometimes. I'll try to make a release when this fork becomes stable between my experiments.
-##Offical
+##Official
The official Proxmark repository is found here: https://github.com/Proxmark/proxmark3
##Coverity Scan Config & Run
Download the Coverity Scan Self-buld and install it.
You will need to configure ARM-NON-EABI- Compiler for it to use:
-:: Configure
+- Configure
`cov-configure --comptype gcc --compiler /opt/devkitpro/devkitARM/bin/arm-none-eabi-gcc`
-::run it (I'm running on Ubuntu)
+- run it (I'm running on Ubuntu)
`cov-build --dir cov-int make all`
-:: make a tarball
+- make a tarball
`tar czvf proxmark3.tgz cov-int`
-:: upload it to coverity.com
+- upload it to coverity.com
##Whats changed?
Whats so special with this fork? I have scraped the web for different enhancements to the PM3 source code and not all of them ever found their way to the master branch.
##Development
This fork now compiles just fine on
- - Windows/mingw environment with Qt5.3.1 & GCC 4.8
+ - Windows/mingw environment with Qt5.6.1 & GCC 4.8
- Ubuntuu 1404, 1510
- Mac OS X (or before the hardnested BF solver at least)
GC made updates to allow this to build easily on Ubuntu 14.04.2 LTS or 15.10
See https://github.com/Proxmark/proxmark3/wiki/Ubuntu%20Linux
-Run
+- Run
`sudo apt-get install p7zip git build-essential libreadline5 libreadline-dev libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev`
Follow these instructions
(64-bit) http://sourceforge.net/projects/devkitpro/files/devkitARM/previous/devkitARM_r41-x86_64-linux.tar.bz2/download
(32-bit) http://sourceforge.net/projects/devkitpro/files/devkitARM/previous/devkitARM_r41-i686-linux.tar.bz2/download
-Extract the contents of the .tar.bz2
+- Extract the contents of the .tar.bz2
`tar jxvf devkitARM_r41-<arch>-linux.tar.bz2`
-Create a directory for the arm dev kit
+- Create a directory for the arm dev kit
`sudo mkdir -p /opt/devkitpro/`
-Move the ARM developer kit to the newly created directory
+- Move the ARM developer kit to the newly created directory
`sudo mv devkitARM /opt/devkitpro/`
-Add the appropriate environment variable
+- Add the appropriate environment variable
`export PATH=${PATH}:/opt/devkitpro/devkitARM/bin/`
-Add the environment variable to your profile
+- Add the environment variable to your profile
`echo 'PATH=${PATH}:/opt/devkitpro/devkitARM/bin/ ' >> ~/.bashrc`
-Clone iceman fork
+- Clone iceman fork
`git clone https://github.com/iceman1001/proxmark3.git`
-Get the latest commits
+- Get the latest commits
`git pull`
-CLEAN COMPILE
+- CLEAN COMPILE
`make clean && make all`
-Flash the BOOTROM
+- Flash the BOOTROM
`client/flasher /dev/ttyACM0 -b bootrom/obj/bootrom.elf`
-Flash the FULLIMAGE
+- Flash the FULLIMAGE
`client/flasher /dev/ttyACM0 armsrc/obj/fullimage.elf`
-Change into the client folder.
+- Change into the client folder
`cd client`
-Run the client
+- Run the client
`./proxmark3 /dev/ttyACM0`
##Homebrew (Mac OS X)
Use only container tag [1.6.4]
+## Building on Windows
+### 1. QT Open Source
+Download QT 5.6.1: http://download.qt.io/archive/qt/5.6/5.6.1-1/qt-opensource-windows-x86-mingw492-5.6.1-1.exe
+Install to `C:\Qt` and choose the following components to be installed:
+- QT - MinGW 32 bit
+- Tools - MinGW
+
+In your shell from MSYS (see below), make sure you set QTDIR to your QT installation and add its bin to your path as well:
+`export QTDIR=/c/Qt/5.6/mingw492_32`
+`export PATH=$PATH:$QTDIR/bin`
+
+### 2. MSYS
+MSYS is a collection of GNU utilities such as bash, make, gawk and grep to allow building of applications and programs which depend on traditionally UNIX tools to be present. It is intended to supplement MinGW and the deficiencies of the cmd shell.
+
+Download MSYS: http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe
+
+Follow the installation procedure, you may want to install MSYS to `C:\Qt\msys` and when asked where is your MinGW installation and for its path answer the following: `c:/Qt/Tools/mingw492_32`
+
+### 3. Readline
+Download and unpack: https://sourceforge.net/projects/gnuwin32/files/readline/5.0-1/readline-5.0-1-bin.zip/download
+
+`bin/*` to `C:\Qt\5.6\Tools\mingw492_32\bin`
+`include/*` to `C:\Qt\5.6\Tools\mingw492_32\include`
+`lib/*` to `C:\Qt\5.6\Tools\mingw492_32\lib`
+
+### 4. LibUSB
+Download and unpack: https://sourceforge.net/projects/libusb-win32/files/latest/download?source=files
+
+`include/lusb0_usb.h` to `C:\Qt\5.6\Tools\mingw492_32\include`
+`lib/gcc/libusb.a` to `C:\Qt\5.6\Tools\mingw492_32\lib`
+
+### 5. DevkitPro
+Download and install: https://sourceforge.net/projects/devkitpro/files/latest/download?source=files
+
+You only need devkitARM, nothing more (no extra lib or anything else) to compile the firmware (ARM) side. Assuming you installed it to `C:\devkitpro`, make sure you set the `DEVKITARM` environment variable to `/c/devkitPro/devkitARM` and add its bin to your PATH:
+`export DEVKITARM=/c/devkitPro/devkitARM`
+`export PATH=$PATH:$DEVKITARM/bin`
+
+### 6. Build and run
+Download and install Git for Windows: https://git-scm.com/download/win
+
+- Run minimal system: `C:\Qt\msys\msys.bat`
+
+- Set the environment:
+`export DEVKITARM=/c/devkitPro/devkitARM`
+`export PATH=$PATH:$DEVKITARM/bin`
+`export QTDIR=/c/Qt/5.6/mingw492_32`
+`export PATH=$PATH:$QTDIR/bin`
+
+- Clone iceman fork
+`git clone https://github.com/iceman1001/proxmark3.git`
+
+- Get the latest commits
+`git pull`
+
+- CLEAN COMPILE
+`make clean && make all`
+
+Assuming you have Proxmark3 Windows drivers installed you can run the Proxmark software where "X" is the com port number assigned to proxmark3 under Windows.
+
+- Flash the BOOTROM
+`client/flasher.exe comX -b bootrom/obj/bootrom.elf`
+
+- Flash the FULLIMAGE
+`client/flasher.exe comX armsrc/obj/fullimage.elf`
+
+- Change into the client folder
+`cd client`
+
+- Run the client
+`proxmark3.exe comX`
+
##Buying a proxmark3
The Proxmark 3 device is available for purchase (assembled and tested) from the following locations: