Iceman Fork - Proxmark3
Find a file
2018-01-29 16:36:07 +01:00
armsrc REM: 'hf 15 debug' removed command, unified with mf_debuglevel instead. The idea is to have ONE debug flag on deviceside. 2018-01-29 15:58:00 +01:00
bootrom chg: re-arranged 2017-10-20 14:49:36 +02:00
client REM: 'hf 15 debug' removed command, unified with mf_debuglevel instead. The idea is to have ONE debug flag on deviceside. 2018-01-29 15:58:00 +01:00
common chg: iClass crc is byteswap 2018-01-29 16:36:07 +01:00
doc
driver Update 77-mm-usb-device-blacklist.rules 2017-06-16 19:47:28 +02:00
fpga CHG: Thanks to @pwpiwi , his latest adjustments to HF. 2017-11-10 19:51:37 +01:00
include CHG: 'hf 15' - swapped crc impl to table based. 2018-01-29 15:55:56 +01:00
liblua monster merge... 2017-07-30 09:17:48 +02:00
recovery
tools fix: increase possible state sizes 2018-01-11 21:48:04 +01:00
traces some update logs 2017-08-30 22:27:05 +02:00
uart chg: // took settings from libnfc/buses/uart.c 2018-01-09 16:52:43 +01:00
zlib syntax sugar 2018-01-25 18:45:13 +01:00
.gitattributes some updated scripts 2017-07-04 20:05:50 +02:00
.gitignore ADD: New standalone mode by (@cjbrigato) Excellent work! 2017-10-20 15:29:33 +02:00
.travis.yml chg: two OSX images are more then enough to test against. 2017-12-08 10:37:20 +01:00
appveyor.yml chg: increased appveyor test timeouts from 40s -> 60s 2017-12-15 16:00:03 +01:00
CHANGELOG.md updates 2017-12-27 10:43:07 +01:00
COMPILING.txt CHG: updated some changelogs and instructions. 2017-09-26 17:40:21 +02:00
covbuild.sh UPD: updates of the coverity scan scripts, to make the release 2017.07 of coverity build tools 2017-07-11 13:33:42 +02:00
covconfig.sh UPD: updates of the coverity scan scripts, to make the release 2017.07 of coverity build tools 2017-07-11 13:33:42 +02:00
HACKING.txt
iceman.txt
install.sh chg; switch fork to clone. 2017-07-26 10:41:32 +02:00
LICENSE.txt
Makefile Install instructions and makefile switch for ArchLinux 2018-01-20 19:31:04 +01:00
proxmark3.sh Enhanced BASH scripts to detect either pm3-x or ttyACMx style devices. 2017-10-23 19:25:58 -04:00
README.md Update README.md 2018-01-25 11:42:18 +01:00
update.sh Enhanced BASH scripts to detect either pm3-x or ttyACMx style devices. 2017-10-23 19:25:58 -04:00

The iceman fork

Build StatusCoverity StatusLatest release

This fork is HIGHLY experimental and bleeding edge

Donate

Click here to lend your support to: Iceman's donation fund and make a donation at pledgie.com !

https://paypal.me/iceman1001/ Feel free to donate. All support is welcome.

monereo: 43mNJLpgBVaTvyZmX9ajcohpvVkaRy1kbZPm8tqAb7itZgfuYecgkRF36rXrKFUkwEGeZedPsASRxgv4HPBHvJwyJdyvQuP

Notice

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. 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.

Coverity Scan Config & Run

Download the Coverity Scan Self-buld and install it. You will need to configure ARM-NON-EABI- Compiler for it to use:

  • Configure

cov-configure --comptype gcc --compiler /opt/devkitpro/devkitARM/bin/arm-none-eabi-gcc

  • Run it (I'm running on Ubuntu)

cov-build --dir cov-int make all

  • Make a tarball

tar czvf proxmark3.tgz cov-int

  • Upload it to coverity.com

Whats changed?

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. Among the stuff is

* Jonor's hf 14a raw timing patch
* Piwi's updates. (usually gets into the master)
* Piwi's "topaz" branch
* Piwi's "hardnested" branch 
* Holiman's iclass, (usually gets into the master)
* Marshmellow's fixes (usually gets into the master)
* Midnitesnake's Ultralight,  Ultralight-c enhancements
* Izsh's lf peak modification / iir-filtering
* Aspers's tips and tricks from inside the PM3-gui-tool, settings.xml and other stuff.
* My own desfire, Ultralight extras, LF T55xx enhancements, bugs fixes (filelength, hf mf commands ), TNP3xxx lua scripts,  Awid26,  skidata scripts (will come)
* other obscure patches like for the sammy-mode,  (offline you know), tagidentifications, defaultkeys. 
* Minor textual changes here and there.
* Simulation of Ultralight/Ntag.
* Marshmellow's and my "RevEng" addon for the client.  Ref: http://reveng.sourceforge.net/    Now using reveng1.44
* J-Run alternative bruteforce Mifare nested auths.. (you need one other exe to make it work)
* A Bruteforce for T55XX passwords against tag.
* A Bruteforce for AWID 26, starting w a facilitycode then trying all 0xFFFF cardnumbers via simulation. To be used against a AWID Reader.
* A Bruteforce for HID,  starting w a facilitycode then trying all 0xFFFF cardnumbers via simulation. To be used against a HID Reader.
* Blaposts Crapto1 v3.3
* Icsom's  legic script and legic enhancements
* Aczid's bitsliced bruteforce solver in 'hf mf hardnested'

Why don't you merged with offical PM3 Master?

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. Me 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.

Why don't you add this or that functionality?

Give me a hint, and I'll see if I can't merge in the stuff you have.

PM3 GUI

I do tend to rename and move stuff around, the official PM3-GUI from Gaucho will not work so well. sorry

Development

This fork now compiles just fine on

  • Windows/mingw environment with Qt5.6.1 & GCC 4.8
  • Ubuntu 1404, 1510, 1604
  • Mac OS X / Homebrew
  • Docker container

Setup and build for UBUNTU

GC made updates to allow this to build easily on Ubuntu 14.04.2 LTS, 15.10 or 16.04 See https://github.com/Proxmark/proxmark3/wiki/Ubuntu%20Linux

A nice and cool install script made by @daveio is found here: https://github.com/daveio/attacksurface/blob/master/proxmark3/pm3-setup.sh I have also added this script to the fork. https://github.com/iceman1001/proxmark3/blob/master/install.sh

  • Run 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

  • Clone iceman fork git clone https://github.com/iceman1001/proxmark3.git

  • Get the latest commits git pull

  • Install the blacklist rules and 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. make udev

  • Clean and complete compilation make clean && make all

  • Flash the BOOTROM client/flasher /dev/ttyACM0 -b bootrom/obj/bootrom.elf

  • Flash the FULLIMAGE client/flasher /dev/ttyACM0 armsrc/obj/fullimage.elf

  • Change into the client folder cd client

  • Run the client ./proxmark3 /dev/ttyACM0

Setup and build for ArchLinux

  • Run sudo pacman -Sy base-devel p7zip libusb readline ncurses arm-none-eabi-newlib --needed yaourt -S termcap

  • Clone iceman fork git clone https://github.com/iceman1001/proxmark3.git

  • Get the latest commits git pull

  • Install the blacklist rules and 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. make udev

  • Clean and complete compilation make clean && make all

  • Flash the BOOTROM client/flasher /dev/ttyACM0 -b bootrom/obj/bootrom.elf

  • Flash the FULLIMAGE client/flasher /dev/ttyACM0 armsrc/obj/fullimage.elf

  • Change into the client folder cd client

  • Run the client ./proxmark3 /dev/ttyACM0

Homebrew (Mac OS X)

These instructions comes from @Chrisfu, where I got the proxmark3.rb scriptfile from. Further questions about Mac & Homebrew, contact @Chrisfu (https://github.com/chrisfu/)

  1. Install homebrew if you haven't yet already done so: http://brew.sh/

  2. Tap this repo: brew tap iceman1001/proxmark3

  3. Install Proxmark3: brew install proxmark3 for stable release or brew install --HEAD proxmark3 for latest non-stable from GitHub.

Docker container

I recently added a docker container on Docker HUB. You find it here: https://hub.docker.com/r/iceman1001/proxmark3/ Follow those instructions to get it up and running. No need for the old proxspace-environment anymore.

-[1.6.0] How to start: https://www.youtube.com/watch?v=b5Zta89Cf6Q -[1.6.0] How to connect: https://youtu.be/0ZS2t5C-caI -[1.6.1] How to flash: https://www.youtube.com/watch?v=WXouhuGYEiw

Recommendations: Use only latest container.

Building on Windows

Gator96100 distro

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/)

Links

OR

Use the following list of packages required to setup the compile environment yourself.

1. QT Open Source

Download 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 Install to C:\Qt and choose the following components to be installed:

  • QT - MinGW 32 bit
  • Tools - MinGW

In your shell from MSYS (see below), make sure you set QTDIR to your QT installation and add its bin to your path as well: export QTDIR=/c/Qt/5.6/mingw49_32 export PATH=$PATH:$QTDIR/bin

2. MSYS

MSYS 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.

Download MSYS: http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe

Follow 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

3. Readline

Download and unpack: https://sourceforge.net/projects/gnuwin32/files/readline/5.0-1/readline-5.0-1-bin.zip/download

bin/* to C:\Qt\5.6\Tools\mingw492_32\bin include/* to C:\Qt\5.6\Tools\mingw492_32\include lib/* to C:\Qt\5.6\Tools\mingw492_32\lib

4. LibUSB

Download and unpack: https://sourceforge.net/projects/libusb-win32/files/latest/download?source=files

include/lusb0_usb.h to C:\Qt\5.6\Tools\mingw492_32\include lib/gcc/libusb.a to C:\Qt\5.6\Tools\mingw492_32\lib

5. DevkitPro

Download and install: https://sourceforge.net/projects/devkitpro/files/latest/download?source=files

You 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: export DEVKITARM=/c/devkitPro/devkitARM export PATH=$PATH:$DEVKITARM/bin

6. Install Strawberry Perl

Download and install: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/strawberry-perl/strawberry-perl-5.10.1.3.msi

7. Build and run

Download and install Git for Windows: https://git-scm.com/download/win

  • Run minimal system: C:\Qt\msys\msys.bat

  • Set the environment: export DEVKITARM=/c/devkitPro/devkitARM export PATH=$PATH:$DEVKITARM/bin export QTDIR=/c/Qt/5.6/mingw49_32 export PATH=$PATH:$QTDIR/bin

  • Clone iceman fork git clone https://github.com/iceman1001/proxmark3.git

  • Get the latest commits git pull

  • CLEAN COMPILE make clean && make all

Assuming you have Proxmark3 Windows drivers installed you can run the Proxmark software where "X" is the com port number assigned to proxmark3 under Windows.

  • Flash the BOOTROM client/flasher.exe comX -b bootrom/obj/bootrom.elf

  • Flash the FULLIMAGE client/flasher.exe comX armsrc/obj/fullimage.elf

  • Change into the client folder cd client

  • Run the client proxmark3.exe comX

Buying a proxmark3

The Proxmark 3 device is available for purchase (assembled and tested) from the following locations:

Enjoy!

iceman at host iuse.se January 2015, Sweden

Note from Jonathan Westhues

LICENSING:

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Jonathan Westhues user jwesthues, at host cq.cx

May 2007, Cambridge MA