]> cvs.zerfleddert.de Git - proxmark3-svn/blame - README.md
ADD: `analyse nuid` - generates NUID 4byte from a UID 7byte. Mifare Classic Ev1...
[proxmark3-svn] / README.md
CommitLineData
02b6f355 1The iceman fork
c00fc47d 2===============
b1d615df 3[![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)
883c82b5 4
dac58254 5##This fork is HIGHLY experimental (or bleeding edge)
02b6f355 6
8e4021fd
I
7##Donate
8https://paypal.me/iceman1001/
9Feel free to donate. All support is welcome.
10
703ac289 11##Notice
dac58254 12There 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.
c0bab227 13
d79411bf 14##Official
02b6f355 15The official Proxmark repository is found here: https://github.com/Proxmark/proxmark3
16
8b89fcae 17##Coverity Scan Config & Run
b112787d 18Download the Coverity Scan Self-buld and install it.
19You will need to configure ARM-NON-EABI- Compiler for it to use:
20
7c030a91 21- Configure
f3c2458a 22`cov-configure --comptype gcc --compiler /opt/devkitpro/devkitARM/bin/arm-none-eabi-gcc`
b112787d 23
7c030a91 24- run it (I'm running on Ubuntu)
f3c2458a 25`cov-build --dir cov-int make all`
b112787d 26
7c030a91 27- make a tarball
f3c2458a 28`tar czvf proxmark3.tgz cov-int`
b112787d 29
7c030a91 30- upload it to coverity.com
b112787d 31
703ac289 32##Whats changed?
6063655a 33Whats 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.
02b6f355 34Among the stuff is
35
36 * Jonor's hf 14a raw timing patch
37 * Piwi's updates. (usually gets into the master)
38 * Piwi's "topaz" branch
39 * Piwi's "hardnested" branch
40 * Holiman's iclass, (usually gets into the master)
41 * Marshmellow's fixes (usually gets into the master)
42 * Midnitesnake's Ultralight, Ultralight-c enhancements
43 * Izsh's lf peak modification / iir-filtering
44 * Aspers's tips and tricks from inside the PM3-gui-tool, settings.xml and other stuff.
45 * My own desfire, Ultralight extras, LF T55xx enhancements, bugs fixes (filelength, hf mf commands ), TNP3xxx lua scripts, Awid26, skidata scripts (will come)
46 * other obscure patches like for the sammy-mode, (offline you know), tagidentifications, defaultkeys.
47 * Minor textual changes here and there.
48 * Simulation of Ultralight/Ntag.
c9778481 49 * Marshmellow's and my "RevEng" addon for the client. Ref: http://reveng.sourceforge.net/ Now using reveng1.44
f3c2458a 50 * J-Run alternative bruteforce Mifare nested auths.. (you need one other exe to make it work)
02b6f355 51 * A Bruteforce for T55XX passwords against tag.
52 * A Bruteforce for AWID 26, starting w a facilitycode then trying all 0xFFFF cardnumbers via simulation. To be used against a AWID Reader.
c0bab227 53 * A Bruteforce for HID, starting w a facilitycode then trying all 0xFFFF cardnumbers via simulation. To be used against a HID Reader.
b112787d 54 * Blaposts Crapto1 v3.3
f3c2458a 55 * Icsom's legic script and legic enhancements
56 * Aczid's bitsliced bruteforce solver in 'hf mf hardnested'
6063655a 57
58---
b1d615df 59##Why don't you merged with offical PM3 Master?
02b6f355 60I don't actually know how to make small pull-request to github :( and that is the number one reason for me not pushing a lot of things back to the PM3 master.
b1d615df 61Me fiddling with the code so much, there is a nightmare in merging a PR. Luckily I have @marshmellow42 who takes some stuff and push PR's back.
62
63##Why don't you add nnnn or mmmm functionality?
64Give me a hint, and I'll see if I can't merge in the stuff you have.
02b6f355 65
703ac289 66##PM3 GUI
02b6f355 67I do tend to rename and move stuff around, the official PM3-GUI from Gaucho will not work so well. *sorry*
68
703ac289 69##Development
c0bab227 70This fork now compiles just fine on
9b8fb1da 71 - Windows/mingw environment with Qt5.6.1 & GCC 4.8
fd056682 72 - Ubuntu 1404, 1510, 1604
c9778481
I
73 - Mac OS X / Homebrew
74 - Docker container
c0bab227 75
703ac289 76##Setup and build for UBUNTU
d06c81b7 77GC made updates to allow this to build easily on Ubuntu 14.04.2 LTS, 15.10 or 16.04
c0bab227 78See https://github.com/Proxmark/proxmark3/wiki/Ubuntu%20Linux
02b6f355 79
d06c81b7
I
80A nice and cool install script made by @daveio is found here:
81https://github.com/daveio/attacksurface/blob/master/proxmark3/pm3-setup.sh
82
7c030a91 83- Run
abf3b8af 84`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 gcc-arm-none-eabi`
c0bab227 85
7c030a91 86- Clone iceman fork
76fc7219 87`git clone https://github.com/iceman1001/proxmark3.git`
02b6f355 88
d233b629 89- Get the latest commits
76fc7219 90`git pull`
c0bab227 91
d06c81b7 92- Install the blacklist rules
0ecec539
I
93`make udev`
94
d06c81b7 95- add user to dialout group (if you on a Linux/ubuntu/debian). If you do this one, you need to logout and login in again to make sure your rights got changed.
abf3b8af
I
96`sudo adduser $USER dialout`
97
d06c81b7 98- Clean and complete compilation
76fc7219 99`make clean && make all`
02b6f355 100
d233b629 101- Flash the BOOTROM
76fc7219 102`client/flasher /dev/ttyACM0 -b bootrom/obj/bootrom.elf`
c0bab227 103
d233b629 104- Flash the FULLIMAGE
76fc7219 105`client/flasher /dev/ttyACM0 armsrc/obj/fullimage.elf`
02b6f355 106
9fe46b69 107- Change into the client folder
76fc7219 108`cd client`
02b6f355 109
d233b629 110- Run the client
76fc7219 111`./proxmark3 /dev/ttyACM0`
c0bab227 112
703ac289 113##Homebrew (Mac OS X)
dc1c9ae4 114These instructions comes from @Chrisfu, where I got the proxmark3.rb scriptfile from.
4003623b 115Further questions about Mac & Homebrew, contact @Chrisfu (https://github.com/chrisfu/)
02b6f355 116
dc1c9ae4
I
1171. Install homebrew if you haven't yet already done so: http://brew.sh/
118
1192. Tap this repo: `brew tap iceman1001/proxmark3`
120
1213. Install Proxmark3: `brew install proxmark3` for stable release or `brew install --HEAD proxmark3` for latest non-stable from GitHub.
122
703ac289
I
123##Docker container
124I recently added a docker container on Docker HUB. You find it here: https://hub.docker.com/r/iceman1001/proxmark3/
125Follow those instructions to get it up and running. No need for the old proxspace-environment anymore.
dc1c9ae4 126
ba2e685d
I
127[1.6.0] How to start: https://www.youtube.com/watch?v=b5Zta89Cf6Q
128[1.6.0] How to connect: https://youtu.be/0ZS2t5C-caI
129[1.6.1] How to flash: https://www.youtube.com/watch?v=WXouhuGYEiw
130
beb2ce1f 131Recommendations: Use only latest container.
ba2e685d 132
dc1c9ae4 133
9b8fb1da
O
134## Building on Windows
135### 1. QT Open Source
136Download 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
137Install to `C:\Qt` and choose the following components to be installed:
138- QT - MinGW 32 bit
139- Tools - MinGW
140
141In your shell from MSYS (see below), make sure you set QTDIR to your QT installation and add its bin to your path as well:
f176990a 142`export QTDIR=/c/Qt/5.6/mingw49_32`
9b8fb1da
O
143`export PATH=$PATH:$QTDIR/bin`
144
145### 2. MSYS
146MSYS 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.
147
148Download MSYS: http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe
149
150Follow 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`
151
152### 3. Readline
153Download and unpack: https://sourceforge.net/projects/gnuwin32/files/readline/5.0-1/readline-5.0-1-bin.zip/download
154
bd437fdd
O
155`bin/*` to `C:\Qt\5.6\Tools\mingw492_32\bin`
156`include/*` to `C:\Qt\5.6\Tools\mingw492_32\include`
157`lib/*` to `C:\Qt\5.6\Tools\mingw492_32\lib`
9b8fb1da
O
158
159### 4. LibUSB
160Download and unpack: https://sourceforge.net/projects/libusb-win32/files/latest/download?source=files
161
bd437fdd
O
162`include/lusb0_usb.h` to `C:\Qt\5.6\Tools\mingw492_32\include`
163`lib/gcc/libusb.a` to `C:\Qt\5.6\Tools\mingw492_32\lib`
9b8fb1da
O
164
165### 5. DevkitPro
166Download and install: https://sourceforge.net/projects/devkitpro/files/latest/download?source=files
167
168You 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:
169`export DEVKITARM=/c/devkitPro/devkitARM`
170`export PATH=$PATH:$DEVKITARM/bin`
171
2b2bccbd 172### 6. Install Strawberry Perl
2e78fbaa 173Download and install: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/strawberry-perl/strawberry-perl-5.10.1.3.msi
b2c63717 174
175### 7. Build and run
9b8fb1da
O
176Download and install Git for Windows: https://git-scm.com/download/win
177
178- Run minimal system: `C:\Qt\msys\msys.bat`
179
180- Set the environment:
181`export DEVKITARM=/c/devkitPro/devkitARM`
182`export PATH=$PATH:$DEVKITARM/bin`
f176990a 183`export QTDIR=/c/Qt/5.6/mingw49_32`
9b8fb1da
O
184`export PATH=$PATH:$QTDIR/bin`
185
186- Clone iceman fork
187`git clone https://github.com/iceman1001/proxmark3.git`
188
189- Get the latest commits
190`git pull`
191
192- CLEAN COMPILE
193`make clean && make all`
194
195Assuming you have Proxmark3 Windows drivers installed you can run the Proxmark software where "X" is the com port number assigned to proxmark3 under Windows.
196
197- Flash the BOOTROM
198`client/flasher.exe comX -b bootrom/obj/bootrom.elf`
199
200- Flash the FULLIMAGE
201`client/flasher.exe comX armsrc/obj/fullimage.elf`
202
203- Change into the client folder
204`cd client`
205
206- Run the client
207`proxmark3.exe comX`
208
8b89fcae 209##Buying a proxmark3
c0bab227 210The Proxmark 3 device is available for purchase (assembled and tested) from the following locations:
211
b82c2f85
I
212 * http://proxmark3.tictail.com/ (For buyers in EU, most likely in Sweden)
213
214 * http://www.elechouse.com/ (new and revised hardware package 2015, located in China)
02b6f355 215
c00fc47d 216
4003623b
I
217##Enjoy
218
219January 2015, Sweden
220iceman at host iuse.se
221
222
223
224
8b89fcae 225##Note from Jonathan Westhues
02b6f355 226Most of the ultra-low-volume contract assemblers could put
227something like this together with a reasonable yield. A run of around
228a dozen units is probably cost-effective. The BOM includes (possibly-
229outdated) component pricing, and everything is available from Digikey
230and the usual distributors.
231
232If you've never assembled a modern circuit board by hand, then this is
233not a good place to start. Some of the components (e.g. the crystals)
234must not be assembled with a soldering iron, and require hot air.
235
236The schematics are included; the component values given are not
237necessarily correct for all situations, but it should be possible to do
238nearly anything you would want with appropriate population options.
239
240The printed circuit board artwork is also available, as Gerbers and an
241Excellon drill file.
242
243
244LICENSING:
245
246This program is free software; you can redistribute it and/or modify
247it under the terms of the GNU General Public License as published by
248the Free Software Foundation; either version 2 of the License, or
249(at your option) any later version.
250
251This program is distributed in the hope that it will be useful,
252but WITHOUT ANY WARRANTY; without even the implied warranty of
253MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
254GNU General Public License for more details.
255
256You should have received a copy of the GNU General Public License
257along with this program; if not, write to the Free Software
258Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
259
260
261Jonathan Westhues
262user jwesthues, at host cq.cx
263
264May 2007, Cambridge MA
Impressum, Datenschutz