mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2024-12-29 11:52:59 +08:00
ba19849b08
Just adding a basic workflow for getting bleeding-edge updates on homebrew which often lags due to it waiting for a new stable build .tar.gz to be generated.
189 lines
6.4 KiB
Text
189 lines
6.4 KiB
Text
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
|
|
|