]>
Commit | Line | Data |
---|---|---|
02b6f355 | 1 | The iceman fork |
c00fc47d | 2 | =============== |
7edde707 | 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 | |
8b89fcae | 5 | ##This fork is HIGHLY experimental |
02b6f355 | 6 | |
703ac289 | 7 | ##Notice |
6063655a | 8 | 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. |
c0bab227 | 9 | |
703ac289 | 10 | ##Offical |
02b6f355 | 11 | The official Proxmark repository is found here: https://github.com/Proxmark/proxmark3 |
12 | ||
8b89fcae | 13 | ##Coverity Scan Config & Run |
b112787d | 14 | Download the Coverity Scan Self-buld and install it. |
15 | You will need to configure ARM-NON-EABI- Compiler for it to use: | |
16 | ||
17 | :: Configure | |
18 | cov-configure --comptype gcc --compiler /opt/devkitpro/devkitARM/bin/arm-none-eabi-gcc | |
19 | ||
20 | ::run it (I'm running on Ubuntu) | |
c0bab227 | 21 | cov-build --dir cov-int make all |
b112787d | 22 | |
23 | :: make a tarball | |
24 | tar czvf proxmark3.tgz cov-int | |
25 | ||
26 | :: upload it to coverity.com | |
27 | ||
703ac289 | 28 | ##Whats changed? |
6063655a | 29 | 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. |
02b6f355 | 30 | Among the stuff is |
31 | ||
32 | * Jonor's hf 14a raw timing patch | |
33 | * Piwi's updates. (usually gets into the master) | |
34 | * Piwi's "topaz" branch | |
35 | * Piwi's "hardnested" branch | |
36 | * Holiman's iclass, (usually gets into the master) | |
37 | * Marshmellow's fixes (usually gets into the master) | |
38 | * Midnitesnake's Ultralight, Ultralight-c enhancements | |
39 | * Izsh's lf peak modification / iir-filtering | |
40 | * Aspers's tips and tricks from inside the PM3-gui-tool, settings.xml and other stuff. | |
41 | * My own desfire, Ultralight extras, LF T55xx enhancements, bugs fixes (filelength, hf mf commands ), TNP3xxx lua scripts, Awid26, skidata scripts (will come) | |
42 | * other obscure patches like for the sammy-mode, (offline you know), tagidentifications, defaultkeys. | |
43 | * Minor textual changes here and there. | |
44 | * Simulation of Ultralight/Ntag. | |
6063655a | 45 | * Marshmellow's and my "RevEng" addon for the client. Ref: http://reveng.sourceforge.net/ Now using reveng1.31 |
02b6f355 | 46 | * Someone's alternative bruteforce Mifare changes.. (you need the two other exe to make it work) |
47 | ||
48 | * A Bruteforce for T55XX passwords against tag. | |
49 | * A Bruteforce for AWID 26, starting w a facilitycode then trying all 0xFFFF cardnumbers via simulation. To be used against a AWID Reader. | |
c0bab227 | 50 | * A Bruteforce for HID, starting w a facilitycode then trying all 0xFFFF cardnumbers via simulation. To be used against a HID Reader. |
b112787d | 51 | * Blaposts Crapto1 v3.3 |
c00fc47d I |
52 | * Icsom's legic script and legic enhancements |
53 | * Aczid's bitsliced bruteforce solver in 'hf mf hardnested' | |
fdefe5cb | 54 | |
c00fc47d I |
55 | ##Straight from the CHANGELOG |
56 | ============================= | |
185d675b | 57 | - Added `hf mf key_brute` - adds J-Runs 2nd phase bruteforce ref: https://github.com/J-Run/mf_key_brute (iceman) |
58 | - Added `lf jablotron` - adds demod/clone/sim of Jablotron LF tags. (iceman) | |
59 | - Added `lf t55xx recoverpw` - adds a new password recovery using bitflips and partial flips if password write went bad. (alexgrin) | |
60 | - `hf legic` - added improved legic data mapping. (jason) | |
61 | - `hf mf mifare` - added possibility to target key A|B (douniwan5788) | |
62 | - Added `analyse lcr` - added a new main command group, to help analysing bytes & bits & nibbles. (iceman) | |
63 | - Added `lf nedap` - added identification of a NEDAP tag. (iceman) | |
64 | - `lf viking clone` - fixed a bug. (iceman) | |
65 | - Added bitsliced bruteforce solver in `hf mf hardnested` (Aczid) | |
66 | - `hf mf chk` speedup (iceman) | |
67 | - `hf 14a/mf sim x` attack mode, now uses also moebius version of mfkey32 to try finding the key. (iceman) | |
68 | - `hf 14a sim` Added emulation of Mifare cards with 10byte UID length. (iceman) | |
69 | - `hf mf sim` Added emulation of Mifare cards with 10byte UID length. (iceman) | |
70 | - Added `lf guard clone/sim` (iceman) | |
71 | - Added `lf pyramd clone/sim` (iceman) | |
72 | - trying to fix `hf 14b` command to be able to read CALYPSO card. (iceman) | |
6063655a | 73 | - `hf legic load`, it now loads faster and a casting bug is gone. (iceman) |
185d675b | 74 | - Added `hf legic calccrc8` added a method to calculate the legic crc-8 value (iceman) |
6063655a | 75 | - `hf legic decode` fixed the output overflow bugs, better printing (iceman) |
76 | - Coverity Scan fixes a lot of resource leaks, etc (iceman) | |
185d675b | 77 | - Added `lf presco *` commands started (iceman) |
78 | - Added `lf hid wiegand` added a method to calculate WIEGAND in different formats, (iceman) | |
6063655a | 79 | - `hf mf chkkeys` better printing, same table output as nested, faster execution and added Adam Lauries "try to read Key B if Key A is found" (iceman) |
80 | - `hf mf nested` better printing and added Adam Lauries "try to read Key B if Key A is found" (iceman) | |
81 | - `hf mf mifare` fixing the zero parity path, which doesn't got called. (iceman) | |
82 | - Updated the @blapost's Crapto1 implementation to v3.3 (blapost) | |
83 | - `hf mf c*` updated the calling structure and refactored of the chinese magic commands (iceman, marshmellow) | |
84 | - Started to add Peter Fillmore's EMV fork into Iceman fork. ref: https://github.com/peterfillmore/proxmark3 (peter fillmore, iceman) | |
85 | - Added Travis-CI automatic build integration with GitHub fork. (iceman) | |
185d675b | 86 | - Updated the Reveng 1.30 sourcecode to 1.31 from Reveng project homepage (iceman) |
87 | - Updated the Reveng 1.31 sourcecode to 1.40 from Reveng project homepage (iceman) | |
6063655a | 88 | |
89 | - Added possibility to write direct to a Legic Prime Tag (MIM256/1024) without using values from the 'BigBuffer' -> 'hf legic writeRaw <addr> <value>' (icsom) | |
90 | - Added possibility to decrease DCF values at address 0x05 & 0x06 on a Legic Prime Tag | |
91 | DCF-value will be pulled from the BigBuffer (address 0x05 & 0x06) so you have to | |
92 | load the data into the BigBuffer before with 'hf legic load <path/to/legic.dump>' & then | |
93 | write the DCF-Values (both at once) with 'hf legic write 0x05 0x02' (icsom) | |
94 | - Added script `legic.lua` for display and edit Data of Legic-Prime Tags (icsom) | |
95 | - Added the experimental HITAG_S support (spenneb) | |
96 | - Added topaz detection to `hf search` (iceman) | |
185d675b | 97 | - Fixed the silent mode for 14b to be used inside `hf search` (iceman) |
98 | ||
6063655a | 99 | |
100 | --- | |
02b6f355 | 101 | Give me a hint, and I'll see if I can't merge in the stuff you have. |
102 | ||
103 | I 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. | |
104 | ||
703ac289 | 105 | ##PM3 GUI |
02b6f355 | 106 | I do tend to rename and move stuff around, the official PM3-GUI from Gaucho will not work so well. *sorry* |
107 | ||
703ac289 | 108 | ##Development |
c0bab227 | 109 | This fork now compiles just fine on |
c00fc47d I |
110 | - Windows/mingw environment with Qt5.3.1 & GCC 4.8 |
111 | - Ubuntuu 1404, 1510 | |
112 | - Mac OS X (or before the hardnested BF solver at least) | |
c0bab227 | 113 | |
703ac289 | 114 | ##Setup and build for UBUNTU |
c0bab227 | 115 | GC made updates to allow this to build easily on Ubuntu 14.04.2 LTS or 15.10 |
116 | See https://github.com/Proxmark/proxmark3/wiki/Ubuntu%20Linux | |
02b6f355 | 117 | |
c0bab227 | 118 | Run |
185d675b | 119 | -> 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 |
120 | ||
c0bab227 | 121 | Follow these instructions |
28d47dc9 | 122 | Get devkitARM release 41 from SourceForge (choose either the 64/32 bit depending on your architecture, it is assumed you know how to check and recognize your architecture): |
02b6f355 | 123 | |
124 | (64-bit) http://sourceforge.net/projects/devkitpro/files/devkitARM/previous/devkitARM_r41-x86_64-linux.tar.bz2/download | |
125 | (32-bit) http://sourceforge.net/projects/devkitpro/files/devkitARM/previous/devkitARM_r41-i686-linux.tar.bz2/download | |
c0bab227 | 126 | |
02b6f355 | 127 | Extract the contents of the .tar.bz2: |
c0bab227 | 128 | -> tar jxvf devkitARM_r41-<arch>-linux.tar.bz2 |
129 | ||
02b6f355 | 130 | Create a directory for the arm dev kit: |
c0bab227 | 131 | -> sudo mkdir -p /opt/devkitpro/ |
132 | ||
02b6f355 | 133 | Move the ARM developer kit to the newly created directory: |
c0bab227 | 134 | -> sudo mv devkitARM /opt/devkitpro/ |
135 | ||
02b6f355 | 136 | Add the appropriate environment variable: |
c0bab227 | 137 | -> export PATH=${PATH}:/opt/devkitpro/devkitARM/bin/ |
138 | ||
02b6f355 | 139 | Add the environment variable to your profile: |
c0bab227 | 140 | -> echo 'PATH=${PATH}:/opt/devkitpro/devkitARM/bin/ ' >> ~/.bashrc |
141 | ||
142 | Clone iceman fork | |
143 | -> git clone https://github.com/iceman1001/proxmark3.git | |
02b6f355 | 144 | |
c0bab227 | 145 | Get the latest commits |
146 | -> git pull | |
147 | ||
148 | CLEAN COMPILE | |
149 | -> make clean && make all | |
02b6f355 | 150 | |
c0bab227 | 151 | Flash the BOOTROM |
152 | -> client/flasher -b /dev/ttyACM0 bootrom/obj/bootrom.elf | |
153 | ||
154 | Flash the FULLIMAGE | |
155 | -> client/flasher /dev/ttyACM0 armsrc/obj/fullimage.elf | |
02b6f355 | 156 | |
c0bab227 | 157 | Change into the client folder. |
158 | -> cd client | |
02b6f355 | 159 | |
c0bab227 | 160 | Run the client |
161 | -> ./proxmark3 /dev/ttyACM0 | |
162 | ||
703ac289 | 163 | ##Homebrew (Mac OS X) |
dc1c9ae4 | 164 | These instructions comes from @Chrisfu, where I got the proxmark3.rb scriptfile from. |
4003623b | 165 | Further questions about Mac & Homebrew, contact @Chrisfu (https://github.com/chrisfu/) |
02b6f355 | 166 | |
dc1c9ae4 I |
167 | 1. Install homebrew if you haven't yet already done so: http://brew.sh/ |
168 | ||
169 | 2. Tap this repo: `brew tap iceman1001/proxmark3` | |
170 | ||
171 | 3. Install Proxmark3: `brew install proxmark3` for stable release or `brew install --HEAD proxmark3` for latest non-stable from GitHub. | |
172 | ||
703ac289 I |
173 | ##Docker container |
174 | I recently added a docker container on Docker HUB. You find it here: https://hub.docker.com/r/iceman1001/proxmark3/ | |
175 | Follow those instructions to get it up and running. No need for the old proxspace-environment anymore. | |
dc1c9ae4 | 176 | |
ba2e685d I |
177 | [1.6.0] How to start: https://www.youtube.com/watch?v=b5Zta89Cf6Q |
178 | [1.6.0] How to connect: https://youtu.be/0ZS2t5C-caI | |
179 | [1.6.1] How to flash: https://www.youtube.com/watch?v=WXouhuGYEiw | |
180 | ||
181 | Recommendations: | |
182 | Use only container tag [1.6.1] | |
183 | ||
dc1c9ae4 | 184 | |
8b89fcae | 185 | ##Buying a proxmark3 |
c0bab227 | 186 | The Proxmark 3 device is available for purchase (assembled and tested) from the following locations: |
187 | ||
b82c2f85 I |
188 | * http://proxmark3.tictail.com/ (For buyers in EU, most likely in Sweden) |
189 | ||
190 | * http://www.elechouse.com/ (new and revised hardware package 2015, located in China) | |
02b6f355 | 191 | |
c0bab227 | 192 | I recommend you to buy this version. |
02b6f355 | 193 | |
c00fc47d | 194 | |
4003623b I |
195 | ##Enjoy |
196 | ||
197 | January 2015, Sweden | |
198 | iceman at host iuse.se | |
199 | ||
200 | ||
201 | ||
202 | ||
8b89fcae | 203 | ##Note from Jonathan Westhues |
02b6f355 | 204 | Most of the ultra-low-volume contract assemblers could put |
205 | something like this together with a reasonable yield. A run of around | |
206 | a dozen units is probably cost-effective. The BOM includes (possibly- | |
207 | outdated) component pricing, and everything is available from Digikey | |
208 | and the usual distributors. | |
209 | ||
210 | If you've never assembled a modern circuit board by hand, then this is | |
211 | not a good place to start. Some of the components (e.g. the crystals) | |
212 | must not be assembled with a soldering iron, and require hot air. | |
213 | ||
214 | The schematics are included; the component values given are not | |
215 | necessarily correct for all situations, but it should be possible to do | |
216 | nearly anything you would want with appropriate population options. | |
217 | ||
218 | The printed circuit board artwork is also available, as Gerbers and an | |
219 | Excellon drill file. | |
220 | ||
221 | ||
222 | LICENSING: | |
223 | ||
224 | This program is free software; you can redistribute it and/or modify | |
225 | it under the terms of the GNU General Public License as published by | |
226 | the Free Software Foundation; either version 2 of the License, or | |
227 | (at your option) any later version. | |
228 | ||
229 | This program is distributed in the hope that it will be useful, | |
230 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
231 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
232 | GNU General Public License for more details. | |
233 | ||
234 | You should have received a copy of the GNU General Public License | |
235 | along with this program; if not, write to the Free Software | |
236 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
237 | ||
238 | ||
239 | Jonathan Westhues | |
240 | user jwesthues, at host cq.cx | |
241 | ||
242 | May 2007, Cambridge MA |