Skip to content

Commit 5f77121

Browse files
author
Chris
committed
initial commit to be in sync the-soon-defunct repo pm3rdv40.
1 parent 905df58 commit 5f77121

34 files changed

+709
-508
lines changed

Diff for: .github/ISSUE_TEMPLATE/bug_report.md

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
5+
---
6+
7+
**Describe the bug**
8+
A clear and concise description of what the bug is.
9+
10+
**To Reproduce**
11+
Steps to reproduce the behavior:
12+
1. Go to '...'
13+
2. Click on '....'
14+
3. Scroll down to '....'
15+
4. See error
16+
17+
**Expected behavior**
18+
A clear and concise description of what you expected to happen.
19+
20+
**Screenshots**
21+
If applicable, add screenshots to help explain your problem.
22+
23+
**Desktop (please complete the following information):**
24+
- OS: [e.g. iOS]
25+
- inside proxmark3 client run the following commands and paste the output here.
26+
- hw version
27+
- hw status
28+
- data tune
29+
30+
**Additional context**
31+
Add any other context about the problem here.

Diff for: .travis.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Travis-CI Build for IcemanFork/Proxmark3
1+
# Travis-CI Build for RfidResearchGroup/Proxmark3
22
language: c
33

44
#default linux build env is: Ubuntu 14.04 trusty
@@ -28,7 +28,7 @@ before_install:
2828
sudo apt-get install -y gcc-arm-none-eabi;
2929
elif [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
3030
brew update;
31-
brew tap iceman1001/proxmark3;
31+
brew tap RfidResearchGroup/proxmark3;
3232
fi
3333

3434
install:

Diff for: CHANGELOG.md

+10-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,16 @@
22
All notable changes to this project will be documented in this file.
33
This project uses the changelog in accordance with [keepchangelog](http://keepachangelog.com/). Please use this to write notable changes, which is not the same as git commit log...
44

5-
## [unreleased][unreleased]
5+
## [unreleased][unreleased]
6+
- Fix 'hf legic' enhancement of rx / tx in legic commands (@drandreas)
7+
- Fix 'data buffclear' - now frees bigbuff also (@iceman)
8+
- Fix GET_TICKS and signess while shifting (@drandreas)
9+
- Added 'hf 14b dump' - now dumps to file (bin & eml) (@iceman)
10+
- Fix fixed xcorrelation for strong signal (@drandreas)
11+
- Fix 'hf mf chk' - keytype was reversed (@TomHarkness)
12+
- Added strange vid/pid found in wild. Could be pm3 easy clones. (@iceman)
13+
- Fix 'make udev' - udev filename could be in conflict, renamed. (@blshkv)
14+
- Fix 'lf t55xx config' - wrong sized array disabled FSK1a/FSK2a as options (@grauerfuchs)
615
- Added more default keys (@j8048188) (@iceman)
716
- Added 'sc list/info/raw/reader/upgrade' - (RDV40) smart card module functionality (@iceman)
817
- Fix 'download eml buffer' (@drandreas)

Diff for: COMPILING.txt

-58
Original file line numberDiff line numberDiff line change
@@ -30,64 +30,6 @@ Links
3030
https://github.com/Gator96100/ProxSpace/archive/master.zip
3131

3232

33-
-- OR --
34-
35-
Use the following list of packages required to setup the compile environment yourself.
36-
37-
1 - Install QT SDK for Windows [1]
38-
39-
In the following instructions, we'll assume you installed it to C:\QT
40-
41-
2 - MSYS-1.0.11 [2]
42-
43-
Just follow the installation procedure.
44-
When asked if you have MinGW installed and for its path, provide:
45-
C:/QT/mingw
46-
47-
3 - readline-5.0-1-bin [5]
48-
49-
From this archive, copy:
50-
bin/* to C:\QT\mingw\bin
51-
include/* to C:\QT\mingw\include
52-
lib/*.a to C:\QT\mingw\lib
53-
54-
4 - libusb-win32-device-bin-0.1.12.2 [6]
55-
56-
Be careful here, it is *NOT* working with the filter version!
57-
Likewise copy:
58-
include/usb.h to C:\QT\mingw\include
59-
lib/gcc/libusb.a to C:\QT\mingw\lib
60-
61-
62-
5 - Install DevkitPro [5]
63-
64-
You'll need it to compile the firmware (ARM) side.
65-
You only need devkitARM, nothing more (no extra lib or anything else)
66-
Assuming you installed it to C:\devkitpro, make sure you set
67-
the DEVKITARM environment variable to /c/devkitPro/devkitARM :
68-
export DEVKITARM=/c/devkitPro/devkitARM
69-
Also, add its bin to your PATH:
70-
export PATH=$PATH:$DEVKITARM/bin
71-
72-
6 - Install Strawberry Perl [6]
73-
74-
7 - Setup a few variables
75-
76-
In your shell from MSYS, make sure you set QTDIR to your QT installation:
77-
export QTDIR=/c/QT/qt
78-
And add its bin to your path as well:
79-
export PATH=$PATH:$QTDIR/bin
80-
81-
Download links:
82-
83-
[1] http://qt.nokia.com/downloads/sdk-windows-cpp
84-
[2] http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe
85-
[3] http://sourceforge.net/projects/gnuwin32/files/readline/5.0-1/readline-5.0-1-bin.zip/download
86-
[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
87-
[5] http://sourceforge.net/projects/devkitpro/files/Automated%20Installer/devkitProUpdater-1.5.0.exe/download
88-
[6] http://strawberry-perl.googlecode.com/files/strawberry-perl-5.10.1.1.msi
89-
90-
9133
============
9234
= Mac OS X =
9335
============

Diff for: Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ tarbin: newtarbin client/tarbin armsrc/tarbin bootrom/tarbin
7777
# you may need to logout, relogin to get this access right correct.
7878
# Finally, you might need to run the proxmark3 client under SUDO on some systems
7979
udev:
80-
sudo cp -rf driver/77-mm-usb-device-blacklist.rules /etc/udev/rules.d/77-mm-usb-device-blacklist.rules
80+
sudo cp -rf driver/77-pm3-usb-device-blacklist.rules /etc/udev/rules.d/77-pm3-usb-device-blacklist.rules
8181
sudo udevadm control --reload-rules
8282
ifneq ($(wildcard /etc/arch-release),) #If user is running ArchLinux
8383
sudo usermod -aG uucp $(USER) #Use specific command and group

Diff for: README.md

+21-66
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,11 @@
11
Iceman fork
22
===============
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/project/proxmark3_iceman_fork)[![Latest release](https://img.shields.io/github/release/iceman1001/proxmark3.svg)](https://github.com/iceman1001/proxmark3/releases/latest)
3+
[![Latest release](https://img.shields.io/github/release/RfidResearchGroup/proxmark3.svg)](https://github.com/RfidResearchGroup/proxmark3/releases/latest)
44

5-
## This fork is HIGHLY experimental and bleeding edge
6-
7-
8-
The kickstarter for the latest revision of proxmark is out.
9-
[proxmark3 rdv4.0](https://www.kickstarter.com/projects/1408815241/proxmark3-rdv-40)
10-
11-
That one is a beauty!
12-
13-
14-
15-
16-
## Nothing says thank you as much as a donation
17-
https://paypal.me/iceman1001/ Feel free to donate. All support is welcome.
18-
19-
monereo: 43mNJLpgBVaTvyZmX9ajcohpvVkaRy1kbZPm8tqAb7itZgfuYecgkRF36rXrKFUkwEGeZedPsASRxgv4HPBHvJwyJdyvQuP
5+
## Proxmark3 RDV40 dedicated
206

217
## Notice
22-
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.
8+
This repo is based on iceman fork for proxmark3. It is dedicated to bring the most out of the new features for proxmark3 RDV40 device.
239

2410
## Coverity Scan Config & Run
2511
Download the Coverity Scan Self-buld and install it.
@@ -41,40 +27,20 @@ You will need to configure ARM-NON-EABI- Compiler for it to use:
4127

4228

4329
## Whats changed?
44-
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.
45-
Among the stuff is
46-
47-
* Jonor's hf 14a raw timing patch
48-
* Piwi's updates. (usually gets into the master)
49-
* Piwi's "topaz" branch
50-
* Piwi's "hardnested" branch
51-
* Holiman's iclass, (usually gets into the master)
52-
* Marshmellow's fixes (usually gets into the master)
53-
* Midnitesnake's Ultralight, Ultralight-c enhancements
54-
* Izsh's lf peak modification / iir-filtering
55-
* Aspers's tips and tricks from inside the PM3-gui-tool, settings.xml and other stuff.
56-
* My own desfire, Ultralight extras, LF T55xx enhancements, bugs fixes (filelength, hf mf commands ), TNP3xxx lua scripts, Awid26, skidata scripts (will come)
57-
* other obscure patches like for the sammy-mode, (offline you know), tagidentifications, defaultkeys.
58-
* Minor textual changes here and there.
59-
* Simulation of Ultralight/Ntag.
60-
* Marshmellow's and my "RevEng" addon for the client. Ref: http://reveng.sourceforge.net/ Now using reveng1.44
61-
* J-Run alternative bruteforce Mifare nested auths.. (you need one other exe to make it work)
62-
* A Bruteforce for T55XX passwords against tag.
63-
* A Bruteforce for AWID 26, starting w a facilitycode then trying all 0xFFFF cardnumbers via simulation. To be used against a AWID Reader.
64-
* A Bruteforce for HID, starting w a facilitycode then trying all 0xFFFF cardnumbers via simulation. To be used against a HID Reader.
65-
* Blaposts Crapto1 v3.3
66-
* Icsom's legic script and legic enhancements
67-
* Aczid's bitsliced bruteforce solver in 'hf mf hardnested'
30+
* added flash memory 256kb.
31+
* added smart card module
32+
* added FPC connector
6833

6934
---
70-
## Why don't you merged with offical PM3 Master?
71-
Me fiddling with the code so much, there is a nightmare in merging a PR. I will never find time to do PR because of it. Much of what you find here is not in the interest for offical PM3. However and luckily I have @marshmellow42 who takes some stuff and push PR's back. The separation from offical pm3 repo gives me very much freedom to create a firmware/client in the way I want to use the PM3.
35+
## Why didn't you based it on offical PM3 Master?
36+
The separation from offical pm3 repo gives us very much freedom to create a firmware/client that suits the RDV40 features. We don't want to mess up the offical pm3 repo with RDV40 specific code.
7237

7338
## Why don't you add this or that functionality?
74-
Give me a hint, and I'll see if I can't merge in the stuff you have.
39+
Give us a hint, and we'll see if we can't merge in the stuff you have.
7540

7641
## PM3 GUI
77-
I do tend to rename and move stuff around, the official PM3-GUI from Gaucho will not work so well. *sorry*
42+
The official PM3-GUI from Gaucho will not work.
43+
The new universial GUI will work.
7844

7945
## Development
8046
This fork now compiles just fine on
@@ -90,13 +56,13 @@ See https://github.com/Proxmark/proxmark3/wiki/Ubuntu%20Linux
9056
A nice and cool install script made by @daveio is found here:
9157
https://github.com/daveio/attacksurface/blob/master/proxmark3/pm3-setup.sh
9258
I have also added this script to the fork.
93-
https://github.com/iceman1001/proxmark3/blob/master/install.sh
59+
https://github.com/RfidResearchGroup/proxmark3/blob/master/install.sh
9460

9561
- Run
9662
`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`
9763

98-
- Clone iceman fork
99-
`git clone https://github.com/iceman1001/proxmark3.git`
64+
- Clone fork
65+
`git clone https://github.com/RfidResearchGroup/proxmark3.git`
10066

10167
- Get the latest commits
10268
`git pull`
@@ -121,8 +87,8 @@ https://github.com/iceman1001/proxmark3/blob/master/install.sh
12187
`sudo pacman -Sy base-devel p7zip libusb readline ncurses arm-none-eabi-newlib --needed`
12288
`yaourt -S termcap`
12389

124-
- Clone iceman fork
125-
`git clone https://github.com/iceman1001/proxmark3.git`
90+
- Clone fork
91+
`git clone https://github.com/RfidResearchGroup/proxmark3.git`
12692

12793
- Get the latest commits
12894
`git pull`
@@ -148,7 +114,7 @@ Further questions about Mac & Homebrew, contact @Chrisfu (https://github.com/c
148114

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

151-
2. Tap this repo: `brew tap iceman1001/proxmark3`
117+
2. Tap this repo: `brew tap RfidResearchGroup/proxmark3`
152118

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

@@ -161,7 +127,7 @@ Tested on macOS High Sierra 10.13.2
161127
*Note: This assumes you have already installed iceman's fork from HomeBrew as mentioned above*
162128

163129
1. Force HomeBrew to pull the latest source from github
164-
`brew upgrade --fetch-HEAD iceman1001/proxmark3/proxmark3`
130+
`brew upgrade --fetch-HEAD RfidResearchGroup/proxmark3`
165131

166132
2. Flash the bootloader & fullimage.elf
167133
* With your Proxmark3 unplugged from your machine, press and hold the button on your Proxmark 3 as you plug it into a USB port. Continue to hold the button until after this step is complete and the `proxmark3-flasher` command outputs "Have a nice day!"*
@@ -172,16 +138,6 @@ Tested on macOS High Sierra 10.13.2
172138

173139
4. Enjoy the update
174140

175-
## Docker container
176-
I recently added a docker container on Docker HUB. You find it here: https://hub.docker.com/r/iceman1001/proxmark3/
177-
Follow those instructions to get it up and running. No need for the old proxspace-environment anymore.
178-
179-
-[1.6.0] How to start: https://www.youtube.com/watch?v=b5Zta89Cf6Q
180-
-[1.6.0] How to connect: https://youtu.be/0ZS2t5C-caI
181-
-[1.6.1] How to flash: https://www.youtube.com/watch?v=WXouhuGYEiw
182-
183-
Recommendations: Use only latest container.
184-
185141

186142
## Building on Windows
187143

@@ -196,13 +152,12 @@ Read instructions on @Gator96100 repo page. (https://github.com/Gator96100/ProxS
196152
Links
197153
- https://github.com/Gator96100/ProxSpace/archive/master.zip
198154
- https://github.com/Gator96100/ProxSpace/releases/tag/v2.2 (release v2.2 with gcc v5.3.0 arm-none-eabi-gcc v7.1.0)
199-
- https://github.com/Gator96100/ProxSpace/releases/tag/v2.1 (release v2.1 with gcc v5.3.0)
200155

201156

202157
### 7. Build and run
203158

204-
- Clone iceman fork
205-
`git clone https://github.com/iceman1001/proxmark3.git`
159+
- Clone fork
160+
`git clone https://github.com/RfidResearchGroup/proxmark3.git`
206161

207162
- Get the latest commits
208163
`git pull`
@@ -222,4 +177,4 @@ Assuming you have Proxmark3 Windows drivers installed you can run the Proxmark s
222177
`proxmark3.exe comX`
223178

224179
iceman at host iuse.se
225-
January 2015, Sweden
180+
July 2018, Sweden

Diff for: armsrc/appmain.c

+1
Original file line numberDiff line numberDiff line change
@@ -1070,6 +1070,7 @@ void UsbPacketReceived(uint8_t *packet, int len) {
10701070
#endif
10711071
case CMD_BUFF_CLEAR:
10721072
BigBuf_Clear();
1073+
BigBuf_free();
10731074
break;
10741075

10751076
case CMD_MEASURE_ANTENNA_TUNING:

Diff for: armsrc/felica.c

+5-9
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,6 @@ static void BuildFliteRdblk(uint8_t* idm, int blocknum, uint16_t *blocks ) {
320320

321321
static void TransmitFor18092_AsReader(uint8_t * frame, int len, uint32_t *timing, uint8_t power, uint8_t highspeed) {
322322

323-
volatile uint16_t b;
324323
uint8_t flags = FPGA_MAJOR_MODE_ISO18092;
325324

326325
if ( power )
@@ -340,25 +339,23 @@ static void TransmitFor18092_AsReader(uint8_t * frame, int len, uint32_t *timing
340339
// sending 0x00 0x00 0x00 0x00 0x00 0x00
341340
uint16_t c = 0;
342341
while (c < 6) {
342+
343+
// keep tx buffer in a defined state anyway.
343344
if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) {
344345
AT91C_BASE_SSC->SSC_THR = 0x00;
345346
c++;
346347
}
347-
if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
348-
b = (uint16_t)(AT91C_BASE_SSC->SSC_RHR); (void)b;
349-
}
350348
}
351349
// sending sync code
352350

353351
// sending data
354352
c = 0;
355353
while (c < len) {
354+
355+
// Put byte into tx holding register as soon as it is ready
356356
if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_TXRDY)) {
357357
AT91C_BASE_SSC->SSC_THR = frame[c++];
358358
}
359-
if (AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
360-
b = (uint16_t)(AT91C_BASE_SSC->SSC_RHR); (void)b;
361-
}
362359
}
363360

364361
/**/
@@ -436,7 +433,7 @@ bool WaitForFelicaReply(uint16_t maxbytes) {
436433
// Set up FeliCa communication (similar to iso14443a_setup)
437434
// field is setup for "Sending as Reader"
438435
static void felica_setup(uint8_t fpga_minor_mode) {
439-
if (MF_DBGLEVEL > 3) Dbprintf("FeliCa_setup Enter");
436+
440437
LEDsoff();
441438
FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
442439

@@ -471,7 +468,6 @@ static void felica_setup(uint8_t fpga_minor_mode) {
471468
StartCountSspClk();
472469

473470
LED_D_ON();
474-
if (MF_DBGLEVEL > 3) Dbprintf("FeliCa_setup Exit");
475471
}
476472
//-----------------------------------------------------------------------------
477473
// RAW FeliCa commands. Send out commands and store answers.

0 commit comments

Comments
 (0)