The project compiles on Linux, Mac OS X and Windows (MinGW/MSYS). it requires: - gcc >= 4.8 - libpthread - libreadline - libusb - perl - an ARM cross-compiler to compile the firmware - libncurses5-dev and optionally QT for the GUI To compile, just run "make". =========== = Windows = =========== Rather than download and install every one of these packages, a new ProxSpace environment archive file will be made available for download on the project page at @Gator96100's repo Afterwards just clone the iceman repo or download someone elses. Read instructions on @Gator96100 repo page. (https://github.com/Gator96100/ProxSpace/) Download the ProxSpace environment archive and extract it to C:\ Links https://github.com/Gator96100/ProxSpace/archive/master.zip -- OR -- Use the following list of packages required to setup the compile environment yourself. 1 - Install QT SDK for Windows [1] In the following instructions, we'll assume you installed it to C:\QT 2 - MSYS-1.0.11 [2] Just follow the installation procedure. When asked if you have MinGW installed and for its path, provide: C:/QT/mingw 3 - readline-5.0-1-bin [5] From this archive, copy: bin/* to C:\QT\mingw\bin include/* to C:\QT\mingw\include lib/*.a to C:\QT\mingw\lib 4 - libusb-win32-device-bin-0.1.12.2 [6] Be careful here, it is *NOT* working with the filter version! Likewise copy: include/usb.h to C:\QT\mingw\include lib/gcc/libusb.a to C:\QT\mingw\lib 5 - Install DevkitPro [5] You'll need it to compile the firmware (ARM) side. You only need devkitARM, nothing more (no extra lib or anything else) Assuming you installed it to C:\devkitpro, make sure you set the DEVKITARM environment variable to /c/devkitPro/devkitARM : export DEVKITARM=/c/devkitPro/devkitARM Also, add its bin to your PATH: export PATH=$PATH:$DEVKITARM/bin 6 - Install Strawberry Perl [6] 7 - Setup a few variables In your shell from MSYS, make sure you set QTDIR to your QT installation: export QTDIR=/c/QT/qt And add its bin to your path as well: export PATH=$PATH:$QTDIR/bin Download links: [1] http://qt.nokia.com/downloads/sdk-windows-cpp [2] http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe [3] http://sourceforge.net/projects/gnuwin32/files/readline/5.0-1/readline-5.0-1-bin.zip/download [4] http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/0.1.12.2/libusb-win32-device-bin-0.1.12.2.tar.gz/download [5] http://sourceforge.net/projects/devkitpro/files/Automated%20Installer/devkitProUpdater-1.5.0.exe/download [6] http://strawberry-perl.googlecode.com/files/strawberry-perl-5.10.1.1.msi ============ = Mac OS X = ============ Installing from HomeBrew tap --------------------------- This method is recommended and tested on macOS Sierra 10.12.3 1. Install homebrew if you haven't yet already done so: http://brew.sh/ 2. Tap proxmark repo: brew tap iceman1001/proxmark3 3. Install Proxmark3: Stable release brew install proxmark3 Latest non-stable from GitHub (use this if previous command fails) brew install --HEAD proxmark3 For more information go to https://github.com/iceman1001/homebrew-proxmark3 Upgrading HomeBrew tap formula ----------------------------- *This method is useful for those looking to run bleeding-edge versions of iceman's client. Keep this in mind when attempting to update your HomeBrew tap formula as this procedure could easily cause a build to break if an update is unstable on macOS.* Tested on macOS Sierra 10.12.6 *Note: This assumes you have already installed iceman's fork from HomeBrew as mentioned above* 1. Force HomeBrew to pull the latest source from github `brew upgrade --fetch-HEAD iceman1001/proxmark3/proxmark3` 2. Flash the bootloader * With your Proxmark3 unplugged from your machine, press and hold the button on your Proxmark 3 as you plug it into a USB port. After about 5 seconds let go of the button and run this command `$ sudo proxmark3-flasher /dev/tty.usbmodem881 /usr/local/Cellar/proxmark3/HEAD-ccfdd60/share/firmware/fullimage.elf` * After the bootloader finishes flashing, unplug your Proxmark3 from your machine 3. Flash fullimage.elf * Press and hold the button on your Proxmark 3 and keep it held as you plug the Proxmark 3 back into the USB port; continue to hold the button until after this step is complete and the `proxmark3-flasher` command outputs "Have a nice day!"* `$ sudo proxmark3-flasher /dev/tty.usbmodem881 /usr/local/Cellar/proxmark3/HEAD-ccfdd60/share/firmware/fullimage.elf` 4. Enjoy the update Compilling from source manually (Legacy) --------------------------- Tested on OSX 10.10 Yosemite 1 - Install Xcode and Xcode Command Line Tools 2 - Install Homebrew and dependencies brew install readline libusb p7zip libusb-compat wget qt5 pkgconfig 3 - Download DevKitARM for OSX http://sourceforge.net/projects/devkitpro/files/devkitARM/devkitARM_r44/ Unpack devkitARM_r44-osx.tar.bz2 to proxmark3 directory. 4 - Edit proxmark3/client/Makefile adding path to readline and qt5 LDLIBS = -L/usr/local/opt/readline/lib -L/usr/local/opt/qt5/lib -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm CFLAGS = -std=c99 -I/usr/local/opt/qt5/include -I/usr/local/opt/readline/include -I. -I../include -I../common -I../zlib -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4 If your old brew intallation use /usr/local/Cellar/ path replace /usr/local/opt/readline/lib with your actuall readline and qt5 path. See homebrew manuals. 5 - Set Environment export DEVKITPRO=$HOME/proxmark3/ export DEVKITARM=$DEVKITPRO/devkitARM export PATH=${PATH}:${DEVKITARM}/bin ============ = Linux = ============ 1 - Download A precompiled DevKitARM cross compiler tool chain package can be found at http://sourceforge.net/projects/devkitpro/files/devkitARM Select the one you need (32bit or 64bit) and unpack to a convinient place, eg $HOME/proxmark3/. It will create a devkitARM/ subdirectory. You will also need a general compiling environment on your computer for the client and the libusb headers. In most distributions you will get all you need with the lsb-package (Linux Standard Base). In debian/ubuntu you simply call `aptitude install lsb libusb-dev libreadline-dev libreadline6`. For the graphical plot view, you might need the qtlibs (debian/ubuntu: libqt4-dev), too. 2 - Set Environment export DEVKITPRO=$HOME/proxmark3/ export DEVKITARM=$DEVKITPRO/devkitARM export PATH=${PATH}:${DEVKITARM}/bin