]>
Commit | Line | Data |
---|---|---|
1 | The iceman fork | |
2 | =============== | |
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) | |
4 | ||
5 | ##This fork is HIGHLY experimental | |
6 | ||
7 | ##Notice | |
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. | |
9 | ||
10 | ##Offical | |
11 | The official Proxmark repository is found here: https://github.com/Proxmark/proxmark3 | |
12 | ||
13 | ##Coverity Scan Config & Run | |
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) | |
21 | cov-build --dir cov-int make all | |
22 | ||
23 | :: make a tarball | |
24 | tar czvf proxmark3.tgz cov-int | |
25 | ||
26 | :: upload it to coverity.com | |
27 | ||
28 | ##Whats changed? | |
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. | |
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. | |
45 | * Marshmellow's and my "RevEng" addon for the client. Ref: http://reveng.sourceforge.net/ Now using reveng1.31 | |
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. | |
50 | * A Bruteforce for HID, starting w a facilitycode then trying all 0xFFFF cardnumbers via simulation. To be used against a HID Reader. | |
51 | * Blaposts Crapto1 v3.3 | |
52 | * Icsom's legic script and legic enhancements | |
53 | * Aczid's bitsliced bruteforce solver in 'hf mf hardnested' | |
54 | ||
55 | ##Straight from the CHANGELOG | |
56 | ============================= | |
57 | - 'lf nedap' - added identification of a NEDAP tag. (iceman) | |
58 | - 'lf viking clone' - fixed a bug. (iceman) | |
59 | - Added bitsliced bruteforce solver in 'hf mf hardnested' (aczid) | |
60 | - 'hf mf chk' speedup (iceman) | |
61 | - 'hf 14a/mf sim x" attack mode, now uses also moebius version of mfkey32 to try finding the key. (iceman) | |
62 | - 'hf 14a sim' Added emulation of Mifare cards with 10byte UID length. (iceman) | |
63 | - 'hf mf sim' Added emulation of Mifare cards with 10byte UID length. (iceman) | |
64 | - Added `lf guard clone/sim` (iceman) | |
65 | - Added `lf pyramd clone/sim` (iceman) | |
66 | - trying to fix "hf 14b" command to be able to read CALYPSO card. (iceman) | |
67 | - `hf legic load`, it now loads faster and a casting bug is gone. (iceman) | |
68 | - Added `hf legic calccrc8` added a method to calculate the legic crc-8 value (iceman) | |
69 | - `hf legic decode` fixed the output overflow bugs, better printing (iceman) | |
70 | - Coverity Scan fixes a lot of resource leaks, etc (iceman) | |
71 | - Added `lf presco *` commands started (iceman) | |
72 | - Added `lf hid wiegand` added a method to calculate WIEGAND in different formats, (iceman) | |
73 | - `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) | |
74 | - `hf mf nested` better printing and added Adam Lauries "try to read Key B if Key A is found" (iceman) | |
75 | - `hf mf mifare` fixing the zero parity path, which doesn't got called. (iceman) | |
76 | - Updated the @blapost's Crapto1 implementation to v3.3 (blapost) | |
77 | - `hf mf c*` updated the calling structure and refactored of the chinese magic commands (iceman, marshmellow) | |
78 | - Started to add Peter Fillmore's EMV fork into Iceman fork. ref: https://github.com/peterfillmore/proxmark3 (peter fillmore, iceman) | |
79 | - Added Travis-CI automatic build integration with GitHub fork. (iceman) | |
80 | - Updated the Reveng 1.30 sourcecode to 1.31 from Reveng projecthomepage (iceman) | |
81 | ||
82 | - Added possibility to write direct to a Legic Prime Tag (MIM256/1024) without using values from the 'BigBuffer' -> 'hf legic writeRaw <addr> <value>' (icsom) | |
83 | - Added possibility to decrease DCF values at address 0x05 & 0x06 on a Legic Prime Tag | |
84 | DCF-value will be pulled from the BigBuffer (address 0x05 & 0x06) so you have to | |
85 | load the data into the BigBuffer before with 'hf legic load <path/to/legic.dump>' & then | |
86 | write the DCF-Values (both at once) with 'hf legic write 0x05 0x02' (icsom) | |
87 | - Added script `legic.lua` for display and edit Data of Legic-Prime Tags (icsom) | |
88 | - Added the experimental HITAG_S support (spenneb) | |
89 | - Added topaz detection to `hf search` (iceman) | |
90 | - Fixed the silent mode for 14b to be used inside 'hf search' (iceman) | |
91 | ||
92 | --- | |
93 | Give me a hint, and I'll see if I can't merge in the stuff you have. | |
94 | ||
95 | 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. | |
96 | ||
97 | ##PM3 GUI | |
98 | I do tend to rename and move stuff around, the official PM3-GUI from Gaucho will not work so well. *sorry* | |
99 | ||
100 | ##Development | |
101 | This fork now compiles just fine on | |
102 | - Windows/mingw environment with Qt5.3.1 & GCC 4.8 | |
103 | - Ubuntuu 1404, 1510 | |
104 | - Mac OS X (or before the hardnested BF solver at least) | |
105 | ||
106 | ##Setup and build for UBUNTU | |
107 | GC made updates to allow this to build easily on Ubuntu 14.04.2 LTS or 15.10 | |
108 | See https://github.com/Proxmark/proxmark3/wiki/Ubuntu%20Linux | |
109 | ||
110 | Run | |
111 | -> sudo apt-get install p7zip git build-essential libreadline5 libreadline-dev libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget | |
112 | ||
113 | Follow these instructions | |
114 | 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): | |
115 | ||
116 | (64-bit) http://sourceforge.net/projects/devkitpro/files/devkitARM/previous/devkitARM_r41-x86_64-linux.tar.bz2/download | |
117 | (32-bit) http://sourceforge.net/projects/devkitpro/files/devkitARM/previous/devkitARM_r41-i686-linux.tar.bz2/download | |
118 | ||
119 | Extract the contents of the .tar.bz2: | |
120 | -> tar jxvf devkitARM_r41-<arch>-linux.tar.bz2 | |
121 | ||
122 | Create a directory for the arm dev kit: | |
123 | -> sudo mkdir -p /opt/devkitpro/ | |
124 | ||
125 | Move the ARM developer kit to the newly created directory: | |
126 | -> sudo mv devkitARM /opt/devkitpro/ | |
127 | ||
128 | Add the appropriate environment variable: | |
129 | -> export PATH=${PATH}:/opt/devkitpro/devkitARM/bin/ | |
130 | ||
131 | Add the environment variable to your profile: | |
132 | -> echo 'PATH=${PATH}:/opt/devkitpro/devkitARM/bin/ ' >> ~/.bashrc | |
133 | ||
134 | Clone iceman fork | |
135 | -> git clone https://github.com/iceman1001/proxmark3.git | |
136 | ||
137 | Get the latest commits | |
138 | -> git pull | |
139 | ||
140 | CLEAN COMPILE | |
141 | -> make clean && make all | |
142 | ||
143 | Flash the BOOTROM | |
144 | -> client/flasher -b /dev/ttyACM0 bootrom/obj/bootrom.elf | |
145 | ||
146 | Flash the FULLIMAGE | |
147 | -> client/flasher /dev/ttyACM0 armsrc/obj/fullimage.elf | |
148 | ||
149 | Change into the client folder. | |
150 | -> cd client | |
151 | ||
152 | Run the client | |
153 | -> ./proxmark3 /dev/ttyACM0 | |
154 | ||
155 | ##Homebrew (Mac OS X) | |
156 | These instructions comes from @Chrisfu, where I got the proxmark3.rb scriptfile from. | |
157 | Further questions about Mac & Homebrew, contact @Chrisfu (https://github.com/chrisfu/) | |
158 | ||
159 | 1. Install homebrew if you haven't yet already done so: http://brew.sh/ | |
160 | ||
161 | 2. Tap this repo: `brew tap iceman1001/proxmark3` | |
162 | ||
163 | 3. Install Proxmark3: `brew install proxmark3` for stable release or `brew install --HEAD proxmark3` for latest non-stable from GitHub. | |
164 | ||
165 | ##Docker container | |
166 | I recently added a docker container on Docker HUB. You find it here: https://hub.docker.com/r/iceman1001/proxmark3/ | |
167 | Follow those instructions to get it up and running. No need for the old proxspace-environment anymore. | |
168 | ||
169 | ||
170 | ##Buying a proxmark3 | |
171 | The Proxmark 3 device is available for purchase (assembled and tested) from the following locations: | |
172 | ||
173 | * http://www.elechouse.com (new and revised hardware package 2015) | |
174 | ||
175 | I recommend you to buy this version. | |
176 | ||
177 | ||
178 | ##Enjoy | |
179 | ||
180 | January 2015, Sweden | |
181 | iceman at host iuse.se | |
182 | ||
183 | ||
184 | ||
185 | ||
186 | ##Note from Jonathan Westhues | |
187 | Most of the ultra-low-volume contract assemblers could put | |
188 | something like this together with a reasonable yield. A run of around | |
189 | a dozen units is probably cost-effective. The BOM includes (possibly- | |
190 | outdated) component pricing, and everything is available from Digikey | |
191 | and the usual distributors. | |
192 | ||
193 | If you've never assembled a modern circuit board by hand, then this is | |
194 | not a good place to start. Some of the components (e.g. the crystals) | |
195 | must not be assembled with a soldering iron, and require hot air. | |
196 | ||
197 | The schematics are included; the component values given are not | |
198 | necessarily correct for all situations, but it should be possible to do | |
199 | nearly anything you would want with appropriate population options. | |
200 | ||
201 | The printed circuit board artwork is also available, as Gerbers and an | |
202 | Excellon drill file. | |
203 | ||
204 | ||
205 | LICENSING: | |
206 | ||
207 | This program is free software; you can redistribute it and/or modify | |
208 | it under the terms of the GNU General Public License as published by | |
209 | the Free Software Foundation; either version 2 of the License, or | |
210 | (at your option) any later version. | |
211 | ||
212 | This program is distributed in the hope that it will be useful, | |
213 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
214 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
215 | GNU General Public License for more details. | |
216 | ||
217 | You should have received a copy of the GNU General Public License | |
218 | along with this program; if not, write to the Free Software | |
219 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
220 | ||
221 | ||
222 | Jonathan Westhues | |
223 | user jwesthues, at host cq.cx | |
224 | ||
225 | May 2007, Cambridge MA |