mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2026-05-12 11:18:11 -07:00
@@ -27,7 +27,7 @@ jobs:
|
||||
|
||||
- name: ProxSpace version
|
||||
run: |
|
||||
$psversion = (Select-String -Pattern 'PSVERSION=' -SimpleMatch -Path "C:\ProxSpace\msys2\ps\09-proxspace_setup.post").Line.Split("""")[1]
|
||||
$psversion = (Select-String -Pattern 'PSVERSION=' -SimpleMatch -Path "C:\ProxSpace\setup\09-proxspace_setup.post").Line.Split("""")[1]
|
||||
Write-Host "ProxSpace version: $psversion"
|
||||
|
||||
- name: ProxSpace initial startup
|
||||
|
||||
@@ -73,6 +73,7 @@ tools/cryptorf/sm
|
||||
tools/cryptorf/sma
|
||||
tools/cryptorf/sma_multi
|
||||
tools/mf_nonce_brute/mf_nonce_brute
|
||||
tools/mf_nonce_brute/mf_trace_brute
|
||||
|
||||
fpga/*
|
||||
!fpga/tests
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
# Travis-CI Build for RfidResearchGroup/Proxmark3
|
||||
language: c
|
||||
|
||||
#default linux build env is: xenial
|
||||
compiler: gcc
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
dist: bionic
|
||||
|
||||
osx_image: xcode11
|
||||
|
||||
# move some env variables to homebrew env
|
||||
env:
|
||||
global:
|
||||
- HOMEBREW_TRAVIS_BRANCH=$TRAVIS_BRANCH
|
||||
- HOMEBREW_TRAVIS_COMMIT=$TRAVIS_COMMIT
|
||||
jobs:
|
||||
- TO_TEST=MAKEFILE MAKE_PARAMS='PLATFORM_EXTRAS='
|
||||
- TO_TEST=MAKEFILE MAKE_PARAMS='PLATFORM_EXTRAS=BTADDON'
|
||||
- TO_TEST=CMAKE
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- gcc-arm-none-eabi
|
||||
- libnewlib-dev
|
||||
- libbluetooth-dev
|
||||
- python3-dev
|
||||
- libbz2-dev
|
||||
homebrew:
|
||||
packages:
|
||||
- readline
|
||||
- qt5
|
||||
- RfidResearchGroup/proxmark3/arm-none-eabi-gcc
|
||||
taps: RfidResearchGroup/proxmark3
|
||||
# update trick to fix https://travis-ci.community/t/macos-build-fails-because-of-homebrew-bundle-unknown-command/7296/14
|
||||
update: true
|
||||
|
||||
before_install:
|
||||
# bug?
|
||||
# homebrew update replaced python2.7 by python3.7 but
|
||||
# python3 link failed while python@2 still present, so let's do it again:
|
||||
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||
brew link --overwrite python;
|
||||
fi
|
||||
|
||||
install:
|
||||
if ! arm-none-eabi-gcc -v; then
|
||||
echo "arm-none-eabi-gcc [ERROR]";
|
||||
travis_terminate 1;
|
||||
fi
|
||||
|
||||
script:
|
||||
- if [ "$TO_TEST" = "MAKEFILE" ]; then
|
||||
make clean && make V=1 "$MAKE_PARAMS";
|
||||
make check;
|
||||
fi
|
||||
- if [ "$TO_TEST" = "CMAKE" ]; then
|
||||
mkdir -p client/build && ( cd client/build && cmake .. && make VERBOSE=1 );
|
||||
make client/check CHECKARGS="--clientbin ./client/build/proxmark3";
|
||||
fi
|
||||
Vendored
+2
-2
@@ -36,7 +36,7 @@
|
||||
{
|
||||
"label": "client: Debug: make",
|
||||
"type": "shell",
|
||||
"command": "make client -j DEBUG=1",
|
||||
"command": "make client -j DEBUG=1 SANITIZE=1",
|
||||
"problemMatcher": [
|
||||
"$gcc"
|
||||
],
|
||||
@@ -45,7 +45,7 @@
|
||||
{
|
||||
"label": "client: Debug: clean & make",
|
||||
"type": "shell",
|
||||
"command": "make client/clean && make client -j DEBUG=1",
|
||||
"command": "make client/clean && make client -j DEBUG=1 SANITIZE=1",
|
||||
"problemMatcher": [
|
||||
"$gcc"
|
||||
],
|
||||
|
||||
+72
-2
@@ -3,9 +3,79 @@ All notable changes to this project will be documented in this file.
|
||||
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...
|
||||
|
||||
## [unreleased][unreleased]
|
||||
- Change `hf 14a/14b/15 list etc alias commands now unified helptext (@doegox)
|
||||
- Change `trace list` - now colors whole reader line (@iceman1001)
|
||||
- Change `lf search` - add option `-c` to continue searching after first hit (@doegox)
|
||||
- Fix DESFire mis-annotation (@VortixDev)
|
||||
- Change `lf pac demod` - now also search for inverted bitstreams (@iceman1001)
|
||||
- Change `hf 14b reader` - now supports continous mode (@iceman1001)
|
||||
- Fix `hf search` - now doesn't false identify ISO15693 (@iceman1001)
|
||||
- Change emv commands now works with tokenized cards (@merlokk)
|
||||
- Change `hf 15 restore` - now also support EML/JSON (@iceman1001)
|
||||
- Change - all commands now use cliparser (@iceman1001)
|
||||
- Change `lf t55xx restore` - now also support JSON (@iceman1001)
|
||||
- Change `hf mf csetuid` - adapted to accept 7byte uids ~untested~ (@iceman1001)
|
||||
- Added `hf mf view/eload/cload` - now accepts bin/eml/json (@iceman1001)
|
||||
- Added `hf mf eload/cload' - now accepts bin/eml/json (@iceman1001)
|
||||
- Fix RESTORE mis-annotation (@VortixDev)
|
||||
- Changed `smart raw` - now uses NG (@iceman1001)
|
||||
- Added `hf iclass configcard` - now can download / generate config card dumps with a cardhelper [WIP] (@iceman1001)
|
||||
- Fix swapped DESELECT and WTX annotations (@VortixDev)
|
||||
- Fixed `hf 15 findafi` - cliparser bug, and loop is user interruptable (@iceman1001)
|
||||
- Added `hf mf wipe` - takes a keyfile and wipes a MFC to default values (@iceman1001)
|
||||
- Changed `pm3 shell` - now prioritise USB connections in WSL1 (@gator96100)
|
||||
- Added `hf mf restore -w` - now supports usage of specified keyfile to authenticate with instead of default FFFFFF key (@iceman1001)
|
||||
- Added `mem info --pem`- now supports loading of private key in PEM format (@iceman1001)
|
||||
- Changed `hf mfp auth` - more verbose message (@vortixdev)
|
||||
- Fix `hf mfdes rd` - AES chained mode fixes (@anon)
|
||||
- Added `weigand decode -b` - now supports binary wiegand string as input (@iceman1001)
|
||||
- Updated `README.md` - new link to a GUI project, and textual update (@iceman1001)
|
||||
- Changed `hf search` - reenabled FeliCa search (@iceman1001)
|
||||
- Changed `auto -a` - now allows for keep on searching, useful when detecting unknown multi tech cards (@iceman1001)
|
||||
- Added more aid (@anon)
|
||||
- Changed `hw version` - now also looks for FPGA chip id match (@iceman1001)
|
||||
- Added WSL checks for outdated bootloader (@gator96100)
|
||||
- Changed many, many more commands uses cliparser (@iceman1001)
|
||||
- Changed many many cppchecker fixes (@iceman1001)
|
||||
- Changed some coverity scan fixes (@iceman1001)
|
||||
- Added `hw break` - to break device side loops from client (@iceman1001)
|
||||
- Changed `hf mf sim` - removed field detection on device side (@iceman1001)
|
||||
- Changed `mf_nonce_brute` - to recover key for nested authentications from traces (@iceman1001)
|
||||
- Changed `trace list -t mf` - now prints needed data for mf_nonce_brute (@iceman1001)
|
||||
- Fix `trace list -t mf` crc overwrote first hex char (@iceman1001)
|
||||
- Fix `trace list -t mf` to print correct parity "!" (@doegox)
|
||||
- Fix `lf em 4x05 unlock` not to break when tear off happens (@doegox)
|
||||
- Fix `mem spiffs view` to not print when file doesn't exist on flash mem (@iceman1001)
|
||||
- Changed `hf mf rdsc, egetsc, cgetsc` to have unified output (@iceman1001)
|
||||
- Changed `hf mf rdsc` output to be more clear (@iceman1001)
|
||||
- Changed `mem dump -c` now supports optional column breaks of output (@iceman1001)
|
||||
- Changed unified client menu's to use curly brackets to indicate a sub category (@iceman1001)
|
||||
- Added `mem spiffs view` to view external flash memory (@iceman1001)
|
||||
- Fix 'lf t55xx config, chk, bruteforce' some logic to got mixed up in cliparser conversion (@mwalker33)
|
||||
- Moved countones / bitcount fcts to utils.c (@doegox)
|
||||
- Changed tunings in `hf mfu opttear` (@doegox)
|
||||
- Updated the text in T5577_Guide.md to match new output (@iceman1001)
|
||||
- Added a new t55xx configblock found in the wild (@iceman1001)
|
||||
- Added `mem info -d` to support manual input of data (@iceman1001)
|
||||
- Fix 'lf t55xx detect' some logic to got mixed up in cliparser conversion (@mwalker33)
|
||||
- Added `HF_CRAFTBYTE` standalone mode that reads and emulates 14a UID (@craftbyte)
|
||||
- Added cryptoRF trace (@iceman1001)
|
||||
- Changed default tcp port to 18888 (@iceman1001)
|
||||
- Added more default keys to MFC dictionary (@iceman1001)
|
||||
- Added one more icode slix2 signature to recover_pk.py (@iceman1001)
|
||||
- Changed C15001 format to use OEM = 900 by default (@iceman1001)
|
||||
- Added a script to dump originality signatures from MFU EV1s and NTAGs (@aveao)
|
||||
- Fix `hf emrtd` segfaults (@aveao)
|
||||
- Fix `lf em 4150` timings on device side (@tharexde)
|
||||
-Changed dependecies fixes in build scripts (@doegox, @iceman1001, @gator96100)
|
||||
- Changed `recover_pk.py` to support colors (@iceman1001)
|
||||
- Changed flashing feedback text to include needed steps (@iceman1001)
|
||||
- Changed `lf_em4100_bulk.lua` in order to handle Proxspace odd 32b limit (@iceman1001)
|
||||
- Added `script run lf_em4100_bulk.lua` a EM4100 bulk enrolling script (@iceman1001)
|
||||
- Changed amiitool now linked, compiles in cmake, and outlined code usage in cmdhfmfu.c (@iceman1001)
|
||||
- Changed `hf mfu info` - to have a fingerprint fct (@iceman1001)
|
||||
- Added parsing of EF_CardAccess to display PACE algorithm, version and parameter in `hf emrtd info` (@aveao)
|
||||
- Change, numerous commands more uses cliparser (@tcprst, @iceman1001)
|
||||
- Changed numerous commands more uses cliparser (@tcprst, @iceman1001)
|
||||
- Added more originality public keys (@anon)
|
||||
- Added `hf 14a info` - now also verify MFC Ev1 signatures (@iceman1001)
|
||||
- Added `LF_THAREXDE` standalone mode which simulates and reads EM4x50 cards (@tharexde)
|
||||
@@ -19,7 +89,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac
|
||||
- Added support for older vid/pid detection (@Gator96100)
|
||||
- Added `hf mfdes bruteaid` - proper bruteforce of DESFire AID when no reading of files is possible (@craftbyte)
|
||||
- Added support for bidirectional communication for `lf em 4x50 sim` (@tharexde)
|
||||
- Change `PLATFORM=PM3OTHER` to `PLATFORM=PM3GENERIC` (@iceman1001)
|
||||
- Changed `PLATFORM=PM3OTHER` to `PLATFORM=PM3GENERIC` (@iceman1001)
|
||||
- Added `tools/hitag2crack/crack5opencl`, an optimized version of `crack5gpu` (@matrix)
|
||||
- Fixed Makefile to account for changes when running on Apple Silicon (@tcprst)
|
||||
- Added support for debugging ARM with JTAG & VSCode (@Gator96100)
|
||||
|
||||
@@ -249,14 +249,6 @@ endif
|
||||
# easy printing of MAKE VARIABLES
|
||||
print-%: ; @echo $* = $($*)
|
||||
|
||||
cliparser:
|
||||
# Get list of all commands
|
||||
cat doc/commands.md | grep -e ^\|\` | cut -f 2 -d "\`" | grep -v 'help\|list\|mem spiffs\|quit\|exit' | awk '{$$1=$$1};1' > cliparser_all_commands.tmp
|
||||
# Get list of cliparserized commands
|
||||
grep -r CLIParserInit ./client/src/ | cut -f 2 -d "\"" | awk '{$$1=$$1};1' > cliparser_done.tmp
|
||||
# Determine commands that still need cliparser conversion
|
||||
grep -xvf cliparser_done.tmp cliparser_all_commands.tmp > ./doc/cliparser_todo.txt
|
||||
|
||||
style:
|
||||
# Make sure astyle is installed
|
||||
@which astyle >/dev/null || ( echo "Please install 'astyle' package first" ; exit 1 )
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
| ------------------- |:-------------------:| -------------------:|
|
||||
|[What has changed?](#what-has-changed) | **[Setup and build for Linux](/doc/md/Installation_Instructions/Linux-Installation-Instructions.md)** | [Compilation Instructions](/doc/md/Use_of_Proxmark/0_Compilation-Instructions.md)|
|
||||
|[Development](#development) | **[Important notes on ModemManager for Linux users](/doc/md/Installation_Instructions/ModemManager-Must-Be-Discarded.md)** | [Validating proxmark client functionality](/doc/md/Use_of_Proxmark/1_Validation.md) |
|
||||
|[Why didn't you base it on official Proxmark3 Master?](#why-didnt-you-base-it-on-official-proxmark3-master)| **[Homebrew (Mac OS X) & Upgrading HomeBrew Tap Formula](/doc/md/Installation_Instructions/Mac-OS-X-Homebrew-Installation-Instructions.md)** | [First Use and Verification](/doc/md/Use_of_Proxmark/2_Configuration-and-Verification.md)|
|
||||
|[Maintainers](#maintainers--package-distro-)| **[Homebrew (Mac OS X) & Upgrading HomeBrew Tap Formula](/doc/md/Installation_Instructions/Mac-OS-X-Homebrew-Installation-Instructions.md)** | [First Use and Verification](/doc/md/Use_of_Proxmark/2_Configuration-and-Verification.md)|
|
||||
|[Proxmark3 GUI](#proxmark3-gui)|**[Setup and build for Windows](/doc/md/Installation_Instructions/Windows-Installation-Instructions.md)**|[Commands & Features](/doc/md/Use_of_Proxmark/3_Commands-and-Features.md)|
|
||||
|[Issues](#issues)|[Blue shark manual](/doc/bt_manual_v10.md) ||
|
||||
|[Donations](#Donations)|[Maintainers](/doc/md/Development/Maintainers.md)|[Command Cheat sheet](/doc/cheatsheet.md)|
|
||||
|[Pre-compiled binaries](#precompiled-binaries)|[Blue shark manual](/doc/bt_manual_v10.md) ||
|
||||
|[Donations](#donations)||[Command Cheat sheet](/doc/cheatsheet.md)|
|
||||
||[Advanced compilation parameters](/doc/md/Use_of_Proxmark/4_Advanced-compilation-parameters.md)|[More cheat sheets](https://github.com/RfidResearchGroup/proxmark3/wiki/More-cheat-sheets)|
|
||||
||**[Troubleshooting](/doc/md/Installation_Instructions/Troubleshooting.md)**|[Complete client command set](/doc/commands.md)|
|
||||
||**[JTAG](/doc/jtag_notes.md)**|[T55xx Guide](/doc/T5577_Guide.md)|
|
||||
||**[JTAG](/doc/jtag_notes.md)**|[T5577 Introduction Guide](/doc/T5577_Guide.md)|
|
||||
|
||||
|
||||
## Notes / helpful documents
|
||||
@@ -39,68 +39,107 @@
|
||||
|[Notes on Color usage](/doc/colors_notes.md)|[Makefile vs CMake](/doc/md/Development/Makefile-vs-CMake.md)|[Notes on Cloner guns](/doc/cloner_notes.md)|
|
||||
|[Notes on cliparser usage](/doc/cliparser.md)|[Notes on clocks](/doc/clocks.md)||
|
||||
|
||||
|
||||
## Build for Proxmark3 RDV4
|
||||
# How to build?
|
||||
## Proxmark3 RDV4
|
||||
See the instruction links in the tables above to build, flash and run for your Proxmark3 RDV4 device.
|
||||
|
||||
## Build for generic Proxmark3 platforms
|
||||
## Generic Proxmark3 platforms
|
||||
In order to build this repo for generic Proxmark3 platforms we urge you to read [Advanced compilation parameters](/doc/md/Use_of_Proxmark/4_Advanced-compilation-parameters.md)
|
||||
|
||||
With generic Proxmark3 platforms we mean:
|
||||
- RDV1
|
||||
- RDV2
|
||||
- RDV3 easy
|
||||
- Proxmark Evolution (needs extra care)
|
||||
- Radiowar black PCB version
|
||||
We define generic Proxmark3 platforms as following devices.
|
||||
|
||||
**Supported**
|
||||
- RDV1, RDV2, RDV3 easy
|
||||
- Ryscorp green PCB version
|
||||
- Ryscorp Pm3Pro
|
||||
- VX
|
||||
- Radiowar black PCB version
|
||||
- numerous Chinese adapted versions of the RDV3 easy (kkmoon, pisworks etc)
|
||||
|
||||
> ⚠ **Note**: About flash memory size of other Proxmark3 platforms. You need to keep a eye on how large your ARM chip built-in flash memory is. With 512kb you are fine but if its 256kb you need to compile this repo with even less functionality. When running the `./pm3-flash-all` you can see which size your device have if you have the bootloader from this repo installed. Otherwise you will find the size reported in the start message when running the Proxmark3 client `./pm3`.
|
||||
**Not supported**
|
||||
- ⚠ Proxmark Evolution (EVO)
|
||||
- **Note**: unknown pin assignments.
|
||||
- ⚠ Ryscorp Proxmark3 Pro
|
||||
- **Note**: device has different fpga and unknown pin assignments.
|
||||
|
||||
**Unknown support status**
|
||||
- ⚠ VX
|
||||
|
||||
**256kb flash memory size of generic Proxmark3 platforms**
|
||||
|
||||
> ⚠ **Note**:
|
||||
> You need to keep a eye on how large your ARM chip built-in flash memory is.
|
||||
> With 512kb you are fine but if its 256kb you need to compile this repo with even less functionality.
|
||||
> When running the `./pm3-flash-all` you can see which size your device have if you have the bootloader from this repo installed.
|
||||
> Otherwise you will find the size reported in the start message when running the Proxmark3 client `./pm3`.
|
||||
>
|
||||
> [OBS! Read the 256kb flash memory advisory](/doc/md/Use_of_Proxmark/4_Advanced-compilation-parameters.md#256kb-versions)
|
||||
|
||||
|
||||
## What has changed?
|
||||
|
||||
On the hardware side:
|
||||
|
||||
* added flash memory 256kb.
|
||||
Proxmark3 RDV4 hardware modifications:
|
||||
* added flash memory 256kb
|
||||
* added smart card module
|
||||
* added FPC connector
|
||||
* added FPC connector for peripherals such as Bluetooth+battery addon
|
||||
* improved antennas
|
||||
* swappable
|
||||
* LF Q factor switch
|
||||
* LF 125/134 frequency switch
|
||||
* tiny PCB form factor
|
||||
* ABS case
|
||||
|
||||
On the software side:
|
||||
This repo vs official Proxmark3 repo:
|
||||
see the [Changelog file](CHANGELOG.md) which we try to keep updated. In short this repo gives you a completely different user experience when it comes to Proxmark3.
|
||||
* richer CLI with use of colors / emojis
|
||||
* help text system implemented everywhere
|
||||
* hints system
|
||||
* user preference settings
|
||||
* extensive testing with continuous integration build systems on Linux, OSX and Windows, and regular usage of static analysis tools like
|
||||
* [Coverity Scan](https://scan.coverity.com/projects/proxmark3-rrg-iceman-repo/)
|
||||
* Cppcheck
|
||||
* GCC and Clang aggressive enforcement of diagnostic flags
|
||||
* auto detection of serial ports and seamless integration with Bluetooth addon
|
||||
* reconnect to device from inside client
|
||||
* Supports tearoff attacks
|
||||
* the most comprehensive compiled known keys dictionaries
|
||||
* Slimed down usb communications with NG-frames
|
||||
* the most compiled public known key recovery software
|
||||
* the fastest implementations of said software
|
||||
* support multiple fileformats for dump files (BIN/EML/JSON)
|
||||
* interoperability of said fileformats with libnfc, MFC tool app etc
|
||||
* Supports more RFID based protocols than ever
|
||||
* Easy install for package maintainers, distro maintainers
|
||||
* More documentation
|
||||
|
||||
|
||||
|
||||
All of this and more is what makes this repo different from any other Proxmark3 firmware / client software. It is truely bleeding edge in that sense of available functionality and experience with it. With all extensive testing its also quite more stable than any other Proxmark3 repo.
|
||||
|
||||
quite a lot, see the [Changelog file](CHANGELOG.md) which we try to keep updated.
|
||||
|
||||
## Development
|
||||
|
||||
> ⚠ **Note**: This is a bleeding edge repository. The maintainers actively is working out of this repository and will be periodically re-structuring the code to make it easier to comprehend, navigate, build, test, and contribute to, so **DO expect significant changes to code layout on a regular basis**.
|
||||
|
||||
> 👉 **Remember!** If you intend to contribute to the code, please read the [coding style notes](HACKING.md) first.
|
||||
We usually merge your contributions fast since we do like the idea of getting a functionality in the Proxmark3 and weed out the bugs afterwards.
|
||||
|
||||
The [public roadmap](https://github.com/RfidResearchGroup/proxmark3/wiki/Public-Roadmap) is an excellent start to read if you are interesting in contributing.
|
||||
|
||||
|
||||
## Supported operative systems
|
||||
This repo compiles nicely on
|
||||
- Proxspace v3.x
|
||||
- [latest release v3.8](https://github.com/Gator96100/ProxSpace/releases)
|
||||
- Windows/mingw environment with Qt5.6.1 & GCC 4.9
|
||||
- Ubuntu 16.04 -> 20.04
|
||||
- ParrotOS, Gentoo, Pentoo, Kali, Nethunter, Archlinux, Fedora, Debian
|
||||
- Rasbian
|
||||
- WSL1 on Windows 10
|
||||
- Proxspace v3.9 [release v3.9](https://github.com/Gator96100/ProxSpace/releases)
|
||||
- Windows/MinGW environment
|
||||
- Ubuntu, ParrotOS, Gentoo, Pentoo, Kali, NetHunter, Arch Linux, Fedora, Debian, Raspbian
|
||||
- Android / Termux
|
||||
- Mac OS X / Homebrew / Apple Silicon
|
||||
- WSL1 (Windows subsystem linux) on Windows 10
|
||||
- Mac OS X / Homebrew / Apple Silicon M1
|
||||
- Docker container
|
||||
- [ RRG / Iceman repo based ubuntu 18.04 container ](https://hub.docker.com/r/secopsconsult/proxmark3)
|
||||
- [ Iceman fork based container v1.7 ](https://hub.docker.com/r/iceman1001/proxmark3/)
|
||||
|
||||
Hardware to run client on
|
||||
- PC
|
||||
- Android
|
||||
- Raspberry Pi, Raspberry Pi Zero
|
||||
- Nvidia Jetson Nano
|
||||
|
||||
## Precompiled binaries
|
||||
We don't maintain any precompiled binaries in this repo. There is community effort over at the Proxmark3 forum where [@gator96100](https://github.com/gator96100) has set up a AWS bucket with precompiled Proxspace (Mingw) binaries which is recompiled every night and with that also up-to-date. We link to these files here as to make it easier for users.
|
||||
|
||||
_If you use his pre-compiled Proxspace binaries do consider buy him a coffee for his efforts. Remember nothing says thank you as good as a donation._
|
||||
|
||||
If you are having troubles with these files, contact the package maintainer [@gator96100](https://github.com/gator96100) and read the [homepage of his proxmark builds](https://www.proxmarkbuilds.org/) or read the [sticky thread at forum](http://www.proxmark.org/forum/viewtopic.php?pid=24763#p24763) where known issues has been documented with regards to the precompiled builds.
|
||||
We don't maintain any precompiled binaries in this repo. There is community effort over at the Proxmark3 forum where package maintainer [@gator96100](https://github.com/gator96100) has set up a AWS bucket with precompiled Proxspace (MinGW) binaries which are recompiled every night and with that also up-to-date. We link to these files here as to make it easier for users. If you are having troubles with these files, we suggest to read the [homepage of his proxmark builds](https://www.proxmarkbuilds.org/) or read the [sticky thread at forum](http://www.proxmark.org/forum/viewtopic.php?pid=24763#p24763)
|
||||
|
||||
### Proxmark3 RDV4 devices
|
||||
- [Precompiled builds for RDV40 dedicated x64](https://www.proxmarkbuilds.org/#rdv40-64/)
|
||||
@@ -110,43 +149,14 @@ If you are having troubles with these files, contact the package maintainer [@ga
|
||||
- [Precompiled builds for RRG / Iceman repository x64](https://www.proxmarkbuilds.org/#rrg_other-64/)
|
||||
|
||||
|
||||
## Roadmap
|
||||
The [public roadmap](https://github.com/RfidResearchGroup/proxmark3/wiki/Public-Roadmap) is an excellent start to read if you are interesting in contributing.
|
||||
|
||||
> 👉 **Remember!** If you intend to contribute to the code, please read the [coding style notes](HACKING.md) first.
|
||||
We usually merge your contributions fast since we do like the idea of getting a functionality in the Proxmark3 and weed out the bugs afterwards.
|
||||
|
||||
|
||||
## Issues & Troubleshooting
|
||||
Please search the [issues](https://github.com/rfidresearchgroup/proxmark3/issues) page here and see if your issue is listed in the first instance.
|
||||
Read the [Troubleshooting guide](/doc/md/Installation_Instructions/Troubleshooting.md) to weed out most known problems.
|
||||
|
||||
Next place to visit is the [Proxmark3 Forum](http://www.proxmark.org/forum/index.php). Learn to search it well and finally Google / duckduckgo is your friend :)
|
||||
You will find many blogposts, youtube videos, tweets, reddit
|
||||
|
||||
### Offical channels
|
||||
## Official channels
|
||||
Where do you find the community?
|
||||
- [RFID Hacking community discord server](https://discord.gg/QfPvGFRQxH)
|
||||
- [Proxmark3 IRC channel](http://webchat.freenode.net/?channels=#proxmark3)
|
||||
- [Proxmark3 sub reddit](https://www.reddit.com/r/proxmark3/)
|
||||
- [Proxmark3 Twitter](https://twitter.com/proxmark3/)
|
||||
- [Proxmark3 forum](http://www.proxmark.org/forum/index.php)
|
||||
- _no slack channel_
|
||||
|
||||
|
||||
### Youtube channels
|
||||
Iceman has quite a few videos on his channel and Quentyn has risen up the last year with good informative videos. We suggest you check them out and smash that subscribe buttons!
|
||||
|
||||
- [Iceman channel](https://www.youtube.com/c/ChrisHerrmann1001)
|
||||
- [Quentyn Taylor](https://www.youtube.com/channel/UCL91C3IZDv3wfj2ABhdRIrw)
|
||||
- [Hacker warehouse channel](https://www.youtube.com/channel/UCimS6P854cQ23j6c_xst7EQ)
|
||||
|
||||
_if you think of some more good youtube channels to be on this list, let us know!_
|
||||
|
||||
## Cheat sheet
|
||||
|
||||
You can enjoy a [command cheat sheet](/doc/cheatsheet.md) and we are trying to keep it updated.
|
||||
[Thanks to Alex Dib!](https://github.com/scund00r)
|
||||
|
||||
## Maintainers ( package, distro )
|
||||
|
||||
To all distro, package maintainers, we tried to make your life easier.
|
||||
@@ -154,19 +164,19 @@ To all distro, package maintainers, we tried to make your life easier.
|
||||
`make install` is now available and if you want to know more.
|
||||
- [Notes for maintainers](/doc/md/Development/Maintainers.md)
|
||||
|
||||
## Why didn't you base it on official Proxmark3 Master?
|
||||
|
||||
The separation from official Proxmark3 repo gives us a lot of freedom to create a firmware/client that suits the RDV40 features. We don't want to mess up the official Proxmark3 repo with RDV40 specific code.
|
||||
|
||||
## Proxmark3 GUI
|
||||
|
||||
The official PM3-GUI from Gaucho will not work. Not to mention is quite old and not maintained any longer.
|
||||
|
||||
The new [Proxmark3 Universal GUI](https://github.com/burma69/PM3UniversalGUI) will work more or less. Change is needed in order to show helptext when client isn't connected to a device. We don't know how active the maintainers are. There has been brought to our attention that there is quite a few Chinese Windows GUI available. Usually you find them on alibaba / taobao ads but we have no idea which fw/client they are compatible with. Proceed with caution if you decide to go down that road.
|
||||
- [Proxmark3 Universal GUI](https://github.com/burma69/PM3UniversalGUI) will work more or less.
|
||||
|
||||
- [Proxmark3 GUI cross-compiled](https://github.com/wh201906/Proxmark3GUI/) which is recently updated and claims to support latest source of this repo.
|
||||
|
||||
|
||||
# Donations
|
||||
|
||||
Nothing says thank you as much as a donation. So if you feel the love, do feel free to become a iceman patron. For some tiers it comes with rewards.
|
||||
Nothing says thank you as much as a donation.
|
||||
|
||||
https://www.patreon.com/iceman1001
|
||||
If you feel the love, do feel free to become a [Iceman patron](https://www.patreon.com/iceman1001).
|
||||
|
||||
If you are using @gator96100 's Proxspace with pre-compiled binaries do consider buy him a coffee for his efforts.
|
||||
|
||||
+1
-1
@@ -106,7 +106,7 @@ clone_script:
|
||||
|
||||
Write-Host "[ OK ]" -ForegroundColor Gree
|
||||
|
||||
$psversion = (Select-String -Pattern 'PSVERSION=' -SimpleMatch -Path "$env:proxspace_path\msys2\ps\09-proxspace_setup.post").Line.Split("""")[1]
|
||||
$psversion = (Select-String -Pattern 'PSVERSION=' -SimpleMatch -Path "$env:proxspace_path\setup\09-proxspace_setup.post").Line.Split("""")[1]
|
||||
|
||||
Write-Host "ProxSpace version: $psversion" -ForegroundColor Yellow
|
||||
|
||||
|
||||
+1
-1
@@ -206,7 +206,7 @@ uint32_t BigBuf_get_traceLen(void) {
|
||||
/**
|
||||
This is a function to store traces. All protocols can use this generic tracer-function.
|
||||
The traces produced by calling this function can be fetched on the client-side
|
||||
by 'hf list raw', alternatively 'hf list <proto>' for protocol-specific
|
||||
by 'hf list -t raw', alternatively 'hf list -t <proto>' for protocol-specific
|
||||
annotation of commands/responses.
|
||||
**/
|
||||
bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_start, uint32_t timestamp_end, uint8_t *parity, bool readerToTag) {
|
||||
|
||||
@@ -50,6 +50,9 @@ define KNOWN_STANDALONE_DEFINITIONS
|
||||
| HF_COLIN | Mifare ultra fast sniff/sim/clone |
|
||||
| (RDV4 only) | - Colin Brigato |
|
||||
+----------------------------------------------------------+
|
||||
| HF_CRAFTBYTE | UID stealer - Emulates scanned 14a UID |
|
||||
| | - Anze Jensterle |
|
||||
+----------------------------------------------------------+
|
||||
| HF_ICECLASS | Simulate HID iCLASS legacy ags |
|
||||
| (RDV4 only) | storing in flashmem |
|
||||
+----------------------------------------------------------+
|
||||
@@ -71,7 +74,7 @@ define KNOWN_STANDALONE_DEFINITIONS
|
||||
endef
|
||||
|
||||
STANDALONE_MODES := LF_SKELETON LF_EM4100EMUL LF_EM4100RSWB LF_EM4100RWC LF_HIDBRUTE LF_ICEHID LF_PROXBRUTE LF_SAMYRUN LF_THAREXDE
|
||||
STANDALONE_MODES += HF_14ASNIFF HF_AVEFUL HF_BOG HF_COLIN HF_ICECLASS HF_LEGIC HF_MATTYRUN HF_MSDSAL HF_TCPRST HF_YOUNG
|
||||
STANDALONE_MODES += HF_14ASNIFF HF_AVEFUL HF_BOG HF_COLIN HF_CRAFTBYTE HF_ICECLASS HF_LEGIC HF_MATTYRUN HF_MSDSAL HF_TCPRST HF_YOUNG
|
||||
STANDALONE_MODES_REQ_SMARTCARD :=
|
||||
STANDALONE_MODES_REQ_FLASH := LF_ICEHID LF_THAREXDE HF_14ASNIFF HF_BOG HF_COLIN HF_ICECLASS
|
||||
ifneq ($(filter $(STANDALONE),$(STANDALONE_MODES)),)
|
||||
|
||||
@@ -77,3 +77,7 @@ endif
|
||||
ifneq (,$(findstring WITH_STANDALONE_LF_THAREXDE,$(APP_CFLAGS)))
|
||||
SRC_STANDALONE = lf_tharexde.c
|
||||
endif
|
||||
# WITH_STANDALONE_HF_CRAFTBYTE
|
||||
ifneq (,$(findstring WITH_STANDALONE_HF_CRAFTBYTE,$(APP_CFLAGS)))
|
||||
SRC_STANDALONE = hf_craftbyte.c
|
||||
endif
|
||||
|
||||
@@ -31,14 +31,14 @@
|
||||
*
|
||||
* To retrieve trace data from flash:
|
||||
*
|
||||
* 1. mem spiffs dump o hf_14asniff.trc f trace.trc
|
||||
* 1. mem spiffs dump -s hf_14asniff.trc -d trace.trc
|
||||
* Copies trace data file from flash to your PC.
|
||||
*
|
||||
* 2. trace load trace.trc
|
||||
* Loads trace data from a file into PC-side buffers.
|
||||
*
|
||||
* 3. For ISO14a: trace list 14a 1
|
||||
* For MIFARE Classic: trace list mf 1
|
||||
* 3. For ISO14a: trace list -t 14a -1
|
||||
* For MIFARE Classic: trace list -t mf -1
|
||||
*
|
||||
* Lists trace data from buffer without requesting it from PM3.
|
||||
*
|
||||
@@ -71,20 +71,20 @@
|
||||
static void DownloadTraceInstructions(void) {
|
||||
Dbprintf("");
|
||||
Dbprintf("To get the trace from flash and display it:");
|
||||
Dbprintf("1. mem spiffs dump o "HF_14ASNIFF_LOGFILE" f trace.trc");
|
||||
Dbprintf("2. trace load trace.trc");
|
||||
Dbprintf("3. trace list 14a 1");
|
||||
Dbprintf("1. mem spiffs dump -s "HF_14ASNIFF_LOGFILE" -d trace.trc");
|
||||
Dbprintf("2. trace load -f trace.trc");
|
||||
Dbprintf("3. trace list -t 14a -1");
|
||||
}
|
||||
|
||||
void ModInfo(void) {
|
||||
DbpString("hf_14asniff: standalone 'hf 14a sniff', storing in flashmem");
|
||||
DbpString(" HF 14A SNIFF, a ISO14443a sniffer with storing in flashmem");
|
||||
DownloadTraceInstructions();
|
||||
}
|
||||
|
||||
void RunMod(void) {
|
||||
StandAloneMode();
|
||||
|
||||
Dbprintf("Starting standalone mode: hf_14asniff");
|
||||
Dbprintf(_YELLOW_("HF 14A SNIFF started"));
|
||||
rdv40_spiffs_lazy_mount();
|
||||
|
||||
SniffIso14443a(0);
|
||||
@@ -118,7 +118,7 @@ void RunMod(void) {
|
||||
SpinErr(LED_A, 200, 5);
|
||||
SpinDelay(100);
|
||||
|
||||
Dbprintf("-=[ exit ]=-");
|
||||
LEDsoff();
|
||||
SpinDelay(300);
|
||||
DownloadTraceInstructions();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Copyright 2020 Anze Jensterle <dev@anze.dev>
|
||||
//
|
||||
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
|
||||
// at your option, any later version. See the LICENSE.txt file for the text of
|
||||
// the license.
|
||||
//-----------------------------------------------------------------------------
|
||||
// main code for hf_craftbyte
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
//
|
||||
// `hf_craftyte` continuesly scans for ISO14443a card UID and then emulates it.
|
||||
//
|
||||
|
||||
#include "standalone.h"
|
||||
#include "proxmark3_arm.h"
|
||||
#include "appmain.h"
|
||||
#include "fpgaloader.h"
|
||||
#include "util.h"
|
||||
#include "dbprint.h"
|
||||
#include "ticks.h"
|
||||
#include "string.h"
|
||||
#include "BigBuf.h"
|
||||
#include "iso14443a.h"
|
||||
#include "protocols.h"
|
||||
#include "cmd.h"
|
||||
|
||||
#define STATE_READ 0
|
||||
#define STATE_EMUL 1
|
||||
|
||||
void ModInfo(void) {
|
||||
DbpString("HF CRAFTBYTE mode - scans and emulates ISO14443a UID (craftbyte)");
|
||||
}
|
||||
|
||||
void RunMod(void) {
|
||||
StandAloneMode();
|
||||
Dbprintf(_YELLOW_("HF CRAFTBYTE mode started"));
|
||||
FpgaDownloadAndGo(FPGA_BITSTREAM_HF);
|
||||
|
||||
// the main loop for your standalone mode
|
||||
for (;;) {
|
||||
WDT_HIT();
|
||||
|
||||
// exit from RunMod, send a usbcommand.
|
||||
if (data_available()) break;
|
||||
|
||||
iso14a_card_select_t card;
|
||||
|
||||
SpinDelay(500);
|
||||
|
||||
// 0 = search, 1 = read, 2 = emul
|
||||
int state = STATE_READ;
|
||||
|
||||
DbpString("Scanning...");
|
||||
int button_pressed = BUTTON_NO_CLICK;
|
||||
for (;;) {
|
||||
// Was our button held down or pressed?
|
||||
button_pressed = BUTTON_HELD(1000);
|
||||
|
||||
if (button_pressed != BUTTON_NO_CLICK || data_available())
|
||||
break;
|
||||
else if (state == STATE_READ) {
|
||||
iso14443a_setup(FPGA_HF_ISO14443A_READER_MOD);
|
||||
if (iso14443a_select_card(NULL, &card, NULL, true, 0, true) == false) {
|
||||
FpgaWriteConfWord(FPGA_MAJOR_MODE_OFF);
|
||||
LED_D_OFF();
|
||||
SpinDelay(500);
|
||||
continue;
|
||||
} else {
|
||||
Dbprintf("Found card with SAK: %02X, ATQA: %02X %02X, UID: ", card.sak, card.atqa[0], card.atqa[1]);
|
||||
Dbhexdump(card.uidlen, card.uid, 0);
|
||||
state = STATE_EMUL;
|
||||
}
|
||||
} else if (state == STATE_EMUL) {
|
||||
uint8_t flags = 0;
|
||||
if (card.uidlen == 4) {
|
||||
flags |= FLAG_4B_UID_IN_DATA;
|
||||
} else if (card.uidlen == 7) {
|
||||
flags |= FLAG_7B_UID_IN_DATA;
|
||||
} else if (card.uidlen == 10) {
|
||||
flags |= FLAG_10B_UID_IN_DATA;
|
||||
} else {
|
||||
Dbprintf("Unusual UID length, something is wrong. Try again please.");
|
||||
state = STATE_READ;
|
||||
continue;
|
||||
}
|
||||
|
||||
Dbprintf("Starting simulation, press pm3-button to stop and go back to search state.");
|
||||
SimulateIso14443aTag(3, flags, card.uid, 0);
|
||||
|
||||
// Go back to search state if user presses pm3-button
|
||||
state = STATE_READ;
|
||||
}
|
||||
}
|
||||
if (button_pressed == BUTTON_HOLD) //Holding down the button
|
||||
break;
|
||||
}
|
||||
|
||||
Dbprintf("-=[ exit ]=-");
|
||||
LEDsoff();
|
||||
}
|
||||
@@ -109,7 +109,7 @@ static bool have_aa2(void) {
|
||||
return memcmp(aa2_key, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", 8);
|
||||
}
|
||||
|
||||
static uint8_t get_pagemap(const picopass_hdr *hdr) {
|
||||
static uint8_t get_pagemap(const picopass_hdr_t *hdr) {
|
||||
return (hdr->conf.fuses & (FUSE_CRYPT0 | FUSE_CRYPT1)) >> 3;
|
||||
}
|
||||
|
||||
@@ -130,27 +130,27 @@ static void download_instructions(uint8_t t) {
|
||||
switch (t) {
|
||||
case ICE_STATE_FULLSIM: {
|
||||
DbpString("The emulator memory was saved to SPIFFS");
|
||||
DbpString("1. " _YELLOW_("mem spiffs dump o " HF_ICLASS_FULLSIM_MOD_BIN " f " HF_ICLASS_FULLSIM_MOD" e"));
|
||||
DbpString("1. " _YELLOW_("mem spiffs dump -s " HF_ICLASS_FULLSIM_MOD_BIN " -d " HF_ICLASS_FULLSIM_MOD" -e"));
|
||||
DbpString("2. " _YELLOW_("hf iclass view -f " HF_ICLASS_FULLSIM_MOD_BIN));
|
||||
break;
|
||||
}
|
||||
case ICE_STATE_ATTACK: {
|
||||
DbpString("The collected data was saved to SPIFFS. The file names below may differ");
|
||||
DbpString("1. " _YELLOW_("mem spiffs tree"));
|
||||
DbpString("2. " _YELLOW_("mem spiffs dump o " HF_ICLASS_ATTACK_BIN " f " HF_ICLASS_ATTACK_BIN));
|
||||
DbpString("2. " _YELLOW_("mem spiffs dump -s " HF_ICLASS_ATTACK_BIN " -d " HF_ICLASS_ATTACK_BIN));
|
||||
DbpString("3. " _YELLOW_("hf iclass loclass -f " HF_ICLASS_ATTACK_BIN));
|
||||
break;
|
||||
}
|
||||
case ICE_STATE_READER: {
|
||||
DbpString("The found tags was saved to SPIFFS");
|
||||
DbpString("1. " _YELLOW_("mem spiffs tree"));
|
||||
DbpString("2. " _YELLOW_("mem spiffs dump h"));
|
||||
DbpString("2. " _YELLOW_("mem spiffs dump -h"));
|
||||
break;
|
||||
}
|
||||
case ICE_STATE_DUMP_SIM: {
|
||||
DbpString("The found tag will be dumped to " HF_ICALSSS_READSIM_TEMP_BIN);
|
||||
DbpString("1. " _YELLOW_("mem spiffs tree"));
|
||||
DbpString("2. " _YELLOW_("mem spiffs dump h"));
|
||||
DbpString("2. " _YELLOW_("mem spiffs dump -h"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -322,7 +322,7 @@ static int reader_dump_mode(void) {
|
||||
set_tracing(false);
|
||||
|
||||
|
||||
picopass_hdr *hdr = (picopass_hdr *)card_data;
|
||||
picopass_hdr_t *hdr = (picopass_hdr_t *)card_data;
|
||||
|
||||
// select tag.
|
||||
uint32_t eof_time = 0;
|
||||
@@ -458,7 +458,7 @@ static int dump_sim_mode(void) {
|
||||
set_tracing(false);
|
||||
|
||||
|
||||
picopass_hdr *hdr = (picopass_hdr *)card_data;
|
||||
picopass_hdr_t *hdr = (picopass_hdr_t *)card_data;
|
||||
|
||||
// select tag.
|
||||
uint32_t eof_time = 0;
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
*
|
||||
* To retrieve dump files from flash:
|
||||
*
|
||||
* 1. mem spiffs dump o hf-legic-XXYYZZWW-dump.bin f hf-legic-XXYYZZWW-dump.bin
|
||||
* 1. mem spiffs dump -s hf-legic-XXYYZZWW-dump.bin -d hf-legic-XXYYZZWW-dump.bin
|
||||
* Copies log file from flash to your client.
|
||||
*
|
||||
*
|
||||
@@ -39,7 +39,7 @@
|
||||
*
|
||||
* To delete a dump file from flash:
|
||||
*
|
||||
* 1. mem spiffs remove hf-legic-XXYYZZWW-dump.bin
|
||||
* 1. mem spiffs remove -f hf-legic-XXYYZZWW-dump.bin
|
||||
*
|
||||
*/
|
||||
|
||||
@@ -50,7 +50,7 @@ static void DownloadLogInstructions(void) {
|
||||
Dbprintf("[=] " _YELLOW_("-") " mem spiffs tree");
|
||||
Dbprintf("");
|
||||
Dbprintf("[=] To save a dump file from flash to client:");
|
||||
Dbprintf("[=] " _YELLOW_("-") " mem spiffs dump o hf-legic-UID-dump.bin f hf-legic-UID-dump.bin");
|
||||
Dbprintf("[=] " _YELLOW_("-") " mem spiffs dump -s hf-legic-UID-dump.bin -d hf-legic-UID-dump.bin");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -55,9 +55,9 @@ static iso14a_card_select_t p_card;
|
||||
|
||||
// Pseudo-configuration block.
|
||||
static bool printKeys = false; // Prints keys
|
||||
static bool transferToEml = true; // Transfer keys to emulator memory
|
||||
//static bool transferToEml = true; // Transfer keys to emulator memory
|
||||
static bool ecfill = true; // Fill emulator memory with cards content.
|
||||
static bool simulation = true; // Simulates an exact copy of the target tag
|
||||
//static bool simulation = true; // Simulates an exact copy of the target tag
|
||||
static bool fillFromEmulator = false; // Dump emulator memory.
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -482,7 +482,8 @@ void RunMod(void) {
|
||||
|
||||
// If enabled, transfers found keys to memory and loads target content in emulator memory. Then it simulates to be the tag it has basically cloned.
|
||||
|
||||
if ((transferToEml) && (allKeysFound)) {
|
||||
// if ((transferToEml) && (allKeysFound)) {
|
||||
if (allKeysFound) {
|
||||
|
||||
emlClearMem();
|
||||
|
||||
@@ -517,7 +518,8 @@ void RunMod(void) {
|
||||
}
|
||||
}
|
||||
|
||||
if ((filled == PM3_SUCCESS) && simulation) {
|
||||
// if ((filled == PM3_SUCCESS) && simulation) {
|
||||
if (filled == PM3_SUCCESS) {
|
||||
Dbprintf("\t [✓] Emulator memory filled, simulation started.");
|
||||
|
||||
// This will tell the fpga to emulate using previous keys and current target tag content.
|
||||
|
||||
@@ -326,7 +326,8 @@ void RunMod(void) {
|
||||
|
||||
|
||||
if (i == 4) {
|
||||
if (apdubuffer[1] == 0x1b && apdubuffer[2] == 0xd1 && !gotndef) { //Get NDEF Data
|
||||
// Get NDEF Data
|
||||
if (apdubuffer[1] == 0x1b && apdubuffer[2] == 0xd1) {
|
||||
gotndef = true;
|
||||
memcpy(&ndef, &apdubuffer, apdulen - 2);
|
||||
break;
|
||||
|
||||
@@ -272,7 +272,7 @@ static int ExecuteMode(int mode, int slot) {
|
||||
case LF_RWSB_MODE_SIM:
|
||||
Dbprintf("[=] >> Sim mode started <<");
|
||||
construct_EM410x_emul(rev_quads(low[slot]));
|
||||
SimulateTagLowFrequency(buflen, 0, 1);
|
||||
SimulateTagLowFrequency(buflen, 0, true);
|
||||
return LF_RWSB_UNKNOWN_RESULT;
|
||||
case LF_RWSB_MODE_WRITE:
|
||||
Dbprintf("[!!] >> Write mode started <<");
|
||||
|
||||
@@ -194,7 +194,7 @@ void RunMod(void) {
|
||||
construct_EM410x_emul(rev_quads(low[selected]));
|
||||
flash_leds(100, 5);
|
||||
|
||||
SimulateTagLowFrequency(buflen, 0, 1);
|
||||
SimulateTagLowFrequency(buflen, 0, true);
|
||||
led_slot(selected);
|
||||
state = 0; // Switch to select mode
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
*
|
||||
* To retrieve log file from flash:
|
||||
*
|
||||
* 1. mem spiffs dump o lf_hidcollect.log f lf_hidcollect.log
|
||||
* 1. mem spiffs dump -s lf_hidcollect.log -d lf_hidcollect.log
|
||||
* Copies log file from flash to your client.
|
||||
*
|
||||
* 2. exit the Proxmark3 client
|
||||
@@ -48,7 +48,7 @@
|
||||
*
|
||||
* To delete the log file from flash:
|
||||
*
|
||||
* 1. mem spiffs remove lf_hidcollect.log
|
||||
* 1. mem spiffs remove -f lf_hidcollect.log
|
||||
*/
|
||||
|
||||
#define LF_HIDCOLLECT_LOGFILE "lf_hidcollect.log"
|
||||
@@ -57,7 +57,7 @@
|
||||
static void DownloadLogInstructions(void) {
|
||||
Dbprintf("");
|
||||
Dbprintf("[=] To get the logfile from flash and display it:");
|
||||
Dbprintf("[=] " _YELLOW_("1.") " mem spiffs dump o "LF_HIDCOLLECT_LOGFILE" f "LF_HIDCOLLECT_LOGFILE);
|
||||
Dbprintf("[=] " _YELLOW_("1.") " mem spiffs dump -s "LF_HIDCOLLECT_LOGFILE" -d "LF_HIDCOLLECT_LOGFILE);
|
||||
Dbprintf("[=] " _YELLOW_("2.") " exit proxmark3 client");
|
||||
Dbprintf("[=] " _YELLOW_("3.") " cat "LF_HIDCOLLECT_LOGFILE);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user