mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 05:43:48 -07:00
Merge branch 'master' of https://github.com/RfidResearchGroup/proxmark3
This commit is contained in:
commit
b7d412d27b
8 changed files with 23 additions and 29 deletions
|
@ -3,6 +3,7 @@ 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]
|
||||
- Rework hitag2 read/write help (@ViRb3)
|
||||
- Add 'lf nedap' - encoding / decoding (anon)
|
||||
- Add client option `-i` to stay in interactive mode after a script or command (@DidierStevens/@doegox)
|
||||
- Add VSCode tasks (@ViRb3)
|
||||
|
|
4
Makefile
4
Makefile
|
@ -55,7 +55,7 @@ recovery/%: FORCE cleanifplatformchanged bootrom/% armsrc/%
|
|||
$(Q)$(MAKE) --no-print-directory -C recovery $(patsubst recovery/%,%,$@)
|
||||
FORCE: # Dummy target to force remake in the subdirectories, even if files exist (this Makefile doesn't know about the prerequisites)
|
||||
|
||||
.PHONY: all clean help _test bootrom flash-bootrom os flash-os flash-all recovery client mfkey nounce2key style checks FORCE udev accessrights cleanifplatformchanged
|
||||
.PHONY: all clean help _test bootrom flash-bootrom os flash-os flash-all recovery client mfkey nonce2key style checks FORCE udev accessrights cleanifplatformchanged
|
||||
|
||||
help:
|
||||
@echo "Multi-OS Makefile"
|
||||
|
@ -73,7 +73,7 @@ help:
|
|||
@echo
|
||||
@echo "+ client - Make only the OS-specific host client"
|
||||
@echo "+ mfkey - Make tools/mfkey"
|
||||
@echo "+ nounce2key - Make tools/nounce2key"
|
||||
@echo "+ nonce2key - Make tools/nonce2key"
|
||||
@echo
|
||||
@echo "+ style - Apply some automated source code formatting rules"
|
||||
@echo "+ checks - Detect various encoding issues in source code"
|
||||
|
|
|
@ -204,6 +204,7 @@ tarbin: $(OBJS)
|
|||
$(Q)$(TAR) $(TARFLAGS) ../proxmark3-$(platform)-bin.tar $(OBJS:%=armsrc/%) $(OBJS:%.s19=armsrc/%.elf)
|
||||
|
||||
clean:
|
||||
$(Q)$(DELETE) $(DEPENDENCY_FILES)
|
||||
$(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.o
|
||||
$(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.elf
|
||||
$(Q)$(DELETE) $(OBJDIR)$(PATHSEP)*.s19
|
||||
|
|
|
@ -292,7 +292,7 @@ ifeq "$(SUPPORTS_AVX512)" "True"
|
|||
endif
|
||||
|
||||
BINS = proxmark3 flasher fpga_compress
|
||||
CLEAN = $(BINS) $(COREOBJS) $(CMDOBJS) $(OBJCOBJS) $(ZLIBOBJS) $(QTGUIOBJS) $(MULTIARCHOBJS) $(OBJDIR)/*.o *.moc.cpp ui/ui_overlays.h lualibs/pm3_cmd.lua lualibs/mf_default_keys.lua
|
||||
CLEAN = $(BINS) $(DEPENDENCY_FILES) $(COREOBJS) $(CMDOBJS) $(OBJCOBJS) $(ZLIBOBJS) $(QTGUIOBJS) $(MULTIARCHOBJS) $(OBJDIR)/*.o *.moc.cpp ui/ui_overlays.h lualibs/pm3_cmd.lua lualibs/mf_default_keys.lua
|
||||
|
||||
# need to assign dependancies to build these first...
|
||||
all: lua_build jansson_build mbedtls_build cbor_build $(BINS)
|
||||
|
|
|
@ -358,7 +358,7 @@ void getKeySettings(uint8_t *aid) {
|
|||
str = "All keys (except AMK,see Bit0) within this application are frozen";
|
||||
break;
|
||||
default:
|
||||
str = "Authentication with the specified key is necessary to change any ley. A change key and a PICC master key (CMK) can only be changed after authentication with the master key. For keys other then the master or change key, an authentication with the same key is needed.";
|
||||
str = "Authentication with the specified key is necessary to change any key. A change key and a PICC master key (CMK) can only be changed after authentication with the master key. For keys other then the master or change key, an authentication with the same key is needed.";
|
||||
break;
|
||||
}
|
||||
PrintAndLogEx(NORMAL, "Changekey Access rights");
|
||||
|
|
|
@ -84,13 +84,14 @@ static int usage_hitag_reader(void) {
|
|||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h This help");
|
||||
PrintAndLogEx(NORMAL, " HitagS (0*)");
|
||||
PrintAndLogEx(NORMAL, " 01 <nr> <ar> Challenge, read all pages from a Hitag S tag");
|
||||
PrintAndLogEx(NORMAL, " 02 <key> Set to 0 if no authentication is needed. Read all pages from a Hitag S tag");
|
||||
PrintAndLogEx(NORMAL, " 01 <nr> <ar> Read all pages, challenge mode");
|
||||
PrintAndLogEx(NORMAL, " 02 <key> Read all pages, crypto mode. Set key=0 for no auth");
|
||||
PrintAndLogEx(NORMAL, " Hitag1 (1*)");
|
||||
PrintAndLogEx(NORMAL, " Not implemented");
|
||||
PrintAndLogEx(NORMAL, " Hitag2 (2*)");
|
||||
PrintAndLogEx(NORMAL, " 21 <password> Password mode");
|
||||
PrintAndLogEx(NORMAL, " 22 <nr> <ar> Authentication");
|
||||
PrintAndLogEx(NORMAL, " 23 <key> Authentication, key is in format: ISK high + ISK low");
|
||||
PrintAndLogEx(NORMAL, " 21 <password> Read all pages, password mode. Default: 4D494B52 (\"MIKR\")");
|
||||
PrintAndLogEx(NORMAL, " 22 <nr> <ar> Read all pages, challenge mode");
|
||||
PrintAndLogEx(NORMAL, " 23 <key> Read all pages, crypto mode. Key format: ISK high + ISK low. Default: 4F4E4D494B52 (\"ONMIKR\")");
|
||||
PrintAndLogEx(NORMAL, " 25 Test recorded authentications");
|
||||
PrintAndLogEx(NORMAL, " 26 Just read UID");
|
||||
return 0;
|
||||
|
@ -99,14 +100,16 @@ static int usage_hitag_writer(void) {
|
|||
PrintAndLogEx(NORMAL, "Hitag writer functions");
|
||||
PrintAndLogEx(NORMAL, "Usage: lf hitag write [h] <reader function #>");
|
||||
PrintAndLogEx(NORMAL, "Options:");
|
||||
PrintAndLogEx(NORMAL, " h This help");
|
||||
PrintAndLogEx(NORMAL, " h This help");
|
||||
PrintAndLogEx(NORMAL, " HitagS (0*)");
|
||||
PrintAndLogEx(NORMAL, " 03 <nr,ar> (Challenge) <page> <byte0...byte3> write page on a Hitag S tag");
|
||||
PrintAndLogEx(NORMAL, " 04 <key> (set to 0 if no authentication is needed) <page> <byte0...byte3> write page on a Hitag S tag");
|
||||
PrintAndLogEx(NORMAL, " 03 <nr,ar> <page> <byte0...byte3> Write page, challenge mode");
|
||||
PrintAndLogEx(NORMAL, " 04 <key> <page> <byte0...byte3> Write page, crypto mode. Set key=0 for no auth");
|
||||
PrintAndLogEx(NORMAL, " Hitag1 (1*)");
|
||||
PrintAndLogEx(NORMAL, " Not implemented");
|
||||
PrintAndLogEx(NORMAL, " Hitag2 (2*)");
|
||||
PrintAndLogEx(NORMAL, " 24 <key> (set to 0 if no authentication is needed) <page> <byte0...byte3> write page on a Hitag2 tag");
|
||||
PrintAndLogEx(NORMAL, " 27 <password> <page> <byte0...byte3> write page on a Hitag2 tag");
|
||||
PrintAndLogEx(NORMAL, " 24 <key> <page> <byte0...byte3> Write page, crypto mode. Key format: ISK high + ISK low.");
|
||||
PrintAndLogEx(NORMAL, " Default: 4F4E4D494B52 (\"ONMIKR\"). Set key=0 for no auth");
|
||||
PrintAndLogEx(NORMAL, " 27 <password> <page> <byte0...byte3> Write page, password mode. Default: 4D494B52 (\"MIKR\")");
|
||||
return 0;
|
||||
}
|
||||
static int usage_hitag_checkchallenges(void) {
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
PLATFORM?=PM3RDV4
|
||||
|
||||
# Standalone Mode info (path depends if make is called at top or from armsrc)
|
||||
# Guard Makefile.hal against implicit rules: (with % to avoid being first goal)
|
||||
%/Makefile.hal: ;
|
||||
-include armsrc/Standalone/Makefile.hal
|
||||
-include Standalone/Makefile.hal
|
||||
ifndef DEFAULT_STANDALONE
|
||||
|
|
|
@ -29,28 +29,15 @@ ref : https://github.com/Proxmark/proxmark3/wiki/android
|
|||
- [Magisk 19.3](https://github.com/topjohnwu/Magisk/)
|
||||
|
||||
## Setup
|
||||
### Getting ncurses with termcap
|
||||
You need `termcap` to build the Proxmark3 client. Unfortunately, the prebuilt `ncurses` package does not include it. Since [this PR](https://github.com/termux/termux-packages/pull/2131) hasn't been merged yet, you will have to build `ncurses` yourself
|
||||
|
||||
1. Clone the [termux-packages](https://github.com/termux/termux-packages) repo
|
||||
2. Apply [the PR](https://github.com/termux/termux-packages/pull/2131)
|
||||
3. Build `ncurses`. Refer to the [build docs](https://github.com/termux/termux-packages/blob/master/docs/BUILD_ENVIRONMENT.md) for more information. The easiest way is to use Docker:
|
||||
- `./scripts/run-docker.sh`
|
||||
- `./build-package.sh ncurses`
|
||||
- the built packages will be under the `debs` directory
|
||||
4. Copy `ncurses_6.1.x-x_aarch64.deb` to your phone's `/sdcard`
|
||||
### Setting up Termux
|
||||
1. Install [Termux](https://play.google.com/store/apps/details?id=com.termux) and start it
|
||||
2. Run the following commands:
|
||||
```
|
||||
pkg install make, clang, clang++, readline-dev, libclang-dev, libc++, git, tsu
|
||||
termux-setup-storage
|
||||
dpkg -i /sdcard/ncurses_6.1.x-x_aarch64.deb
|
||||
pkg install make clang clang++ readline libc++ git tsu
|
||||
git clone https://github.com/RfidResearchGroup/proxmark3.git
|
||||
```
|
||||
### Building Proxmark3 client
|
||||
1. Edit `proxmark3/client/Makefile` and append `-fPIC` to the `CFLAGS` variable (line 30)
|
||||
2. `make clean && make client`
|
||||
1. `make clean && make client`
|
||||
|
||||
### USB_ACM
|
||||
You need the `USB_ACM` driver enabled and working to communicate with the Proxmark3. To see if it's working, run `tsudo ls /dev/tty*` and it should list `/dev/ttyACM0` (or similar). If you see this, congratulations, skip this step!
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue