mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-08-14 02:26:59 -07:00
Update/cleanup Makefiles (#265)
- add new target "make mfkey" to build mfkey32 and mfkey64 - include above when "make all" - fix Qt detection for Kali Linux - create and use dependency files when building client - create client/lualibs/usb_cmd.lua from include/usb_cmd.h when building client - add Windows *.exe files with "make tarbin" - For the time being don't include Makefile.common in Makefile and client/Makefile - set com3 as default flashing port for Windows (including mingw) - remove static targets snooper and cli. Remove their sources as well.
This commit is contained in:
parent
b642ce7ab5
commit
fb9acd4588
8 changed files with 274 additions and 322 deletions
39
Makefile
39
Makefile
|
@ -1,17 +1,40 @@
|
|||
include common/Makefile.common
|
||||
|
||||
GZIP=gzip
|
||||
# Windows' echo echos its input verbatim, on Posix there is some
|
||||
# amount of shell command line parsing going on. echo "" on
|
||||
# Windows yields literal "", on Linux yields an empty line
|
||||
ifeq ($(shell echo ""),)
|
||||
# This is probably a proper system, so we can use uname
|
||||
DELETE=rm -rf
|
||||
FLASH_TOOL=client/flasher
|
||||
platform=$(shell uname)
|
||||
ifneq (,$(findstring MINGW,$(platform)))
|
||||
FLASH_PORT=com3
|
||||
PATHSEP=\\#
|
||||
else
|
||||
FLASH_PORT=/dev/ttyACM0
|
||||
PATHSEP=/
|
||||
endif
|
||||
else
|
||||
# Assume that we are running on native Windows
|
||||
DELETE=del /q
|
||||
FLASH_TOOL=client/flasher.exe
|
||||
platform=Windows
|
||||
FLASH_PORT=com3
|
||||
PATHSEP=\\#
|
||||
endif
|
||||
|
||||
all clean: %: client/% bootrom/% armsrc/% recovery/%
|
||||
all clean: %: client/% bootrom/% armsrc/% recovery/% mfkey/%
|
||||
|
||||
bootrom/%: FORCE
|
||||
$(MAKE) -C bootrom $(patsubst bootrom/%,%,$@)
|
||||
$(MAKE) -C bootrom $(patsubst bootrom/%, %, $@)
|
||||
armsrc/%: FORCE
|
||||
$(MAKE) -C armsrc $(patsubst armsrc/%,%,$@)
|
||||
$(MAKE) -C armsrc $(patsubst armsrc/%, %, $@)
|
||||
client/%: FORCE
|
||||
$(MAKE) -C client $(patsubst client/%,%,$@)
|
||||
$(MAKE) -C client $(patsubst client/%, %, $@)
|
||||
recovery/%: FORCE
|
||||
$(MAKE) -C recovery $(patsubst recovery/%,%,$@)
|
||||
$(MAKE) -C recovery $(patsubst recovery/%, %, $@)
|
||||
mfkey/%: FORCE
|
||||
$(MAKE) -C tools/mfkey $(patsubst mfkey/%, %, $@)
|
||||
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 flash-bootrom flash-os flash-all FORCE
|
||||
|
@ -28,6 +51,8 @@ help:
|
|||
|
||||
client: client/all
|
||||
|
||||
mfkey: mfkey/all
|
||||
|
||||
flash-bootrom: bootrom/obj/bootrom.elf $(FLASH_TOOL)
|
||||
$(FLASH_TOOL) $(FLASH_PORT) -b $(subst /,$(PATHSEP),$<)
|
||||
|
||||
|
|
129
client/Makefile
129
client/Makefile
|
@ -3,11 +3,15 @@
|
|||
# at your option, any later version. See the LICENSE.txt file for the text of
|
||||
# the license.
|
||||
#-----------------------------------------------------------------------------
|
||||
include ../common/Makefile.common
|
||||
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
LD = g++
|
||||
TAR = tar
|
||||
TARFLAGS = -C .. --ignore-failed-read -rvf
|
||||
RM = rm -f
|
||||
MV = mv
|
||||
|
||||
CC=gcc
|
||||
CXX=g++
|
||||
#COMMON_FLAGS = -m32
|
||||
VPATH = ../common ../zlib
|
||||
OBJDIR = obj
|
||||
|
@ -15,46 +19,52 @@ OBJDIR = obj
|
|||
LDLIBS = -L/opt/local/lib -L/usr/local/lib -lreadline -lpthread -lm
|
||||
LUALIB = ../liblua/liblua.a
|
||||
LDFLAGS = $(COMMON_FLAGS)
|
||||
CFLAGS = -std=c99 -D_ISOC99_SOURCE -I. -I../include -I../common -I../tools -I../zlib -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4
|
||||
CFLAGS = -std=c99 -D_ISOC99_SOURCE -I. -I../include -I../common -I../zlib -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4
|
||||
LUAPLATFORM = generic
|
||||
|
||||
platform = $(shell uname)
|
||||
ifneq (,$(findstring MINGW,$(platform)))
|
||||
CXXFLAGS = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui
|
||||
MOC = $(QTDIR)/bin/moc
|
||||
LUAPLATFORM = mingw
|
||||
ifneq ($(wildcard $(QTDIR)/include/QtWidgets),)
|
||||
CXXFLAGS += -I$(QTDIR)/include/QtWidgets
|
||||
QTLDLIBS = -L$(QTDIR)/lib -lQt5Core -lQt5Gui -lQt5Widgets
|
||||
else
|
||||
QTLDLIBS = -L$(QTDIR)/lib -lQtCore4 -lQtGui4
|
||||
endif
|
||||
else ifeq ($(platform),Darwin)
|
||||
CXXFLAGS = $(shell pkg-config --cflags QtCore QtGui 2>/dev/null) -Wall -O4
|
||||
QTLDLIBS = $(shell pkg-config --libs QtCore QtGui 2>/dev/null)
|
||||
MOC = $(shell pkg-config --variable=moc_location QtCore)
|
||||
LUAPLATFORM = macosx
|
||||
MOC = $(QTDIR)/bin/moc
|
||||
LUAPLATFORM = mingw
|
||||
else
|
||||
CXXFLAGS = $(shell pkg-config --cflags QtCore QtGui 2>/dev/null) -Wall -O4
|
||||
QTLDLIBS = $(shell pkg-config --libs QtCore QtGui 2>/dev/null)
|
||||
LUALIB += -ldl
|
||||
LDLIBS += -ltermcap -lncurses
|
||||
MOC = $(shell pkg-config --variable=moc_location QtCore)
|
||||
# Below is a variant you can use if you have problems compiling with QT5 on ubuntu. see http://www.proxmark.org/forum/viewtopic.php?id=1661 for more info.
|
||||
#MOC = /usr/lib/x86_64-linux-gnu/qt4/bin/moc
|
||||
LUAPLATFORM = linux
|
||||
CXXFLAGS = $(shell pkg-config --cflags Qt5Core Qt5Widgets 2>/dev/null) -Wall -O4
|
||||
QTLDLIBS = $(shell pkg-config --libs Qt5Core Qt5Widgets 2>/dev/null)
|
||||
MOC = $(shell pkg-config --variable=host_bins Qt5Core)/moc
|
||||
ifeq ($(QTLDLIBS), )
|
||||
CXXFLAGS = $(shell pkg-config --cflags QtCore QtGui 2>/dev/null) -Wall -O4
|
||||
QTLDLIBS = $(shell pkg-config --libs QtCore QtGui 2>/dev/null)
|
||||
MOC = $(shell pkg-config --variable=moc_location QtCore)
|
||||
endif
|
||||
ifeq ($(platform),Darwin)
|
||||
LUAPLATFORM = macosx
|
||||
else
|
||||
LUALIB += -ldl
|
||||
LDLIBS += -ltermcap -lncurses
|
||||
LUAPLATFORM = linux
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(QTLDLIBS),)
|
||||
QTGUI = $(OBJDIR)/proxgui.o $(OBJDIR)/proxguiqt.o $(OBJDIR)/proxguiqt.moc.o
|
||||
QTGUIOBJS = $(OBJDIR)/proxgui.o $(OBJDIR)/proxguiqt.o $(OBJDIR)/proxguiqt.moc.o
|
||||
CFLAGS += -DHAVE_GUI
|
||||
LINK.o = $(LINK.cpp)
|
||||
else
|
||||
QTGUI = guidummy.o
|
||||
QTGUIOBJS = $(OBJDIR)/guidummy.o
|
||||
endif
|
||||
|
||||
CORESRCS = uart.c \
|
||||
util.c \
|
||||
# Flags to generate temporary dependency files
|
||||
DEPFLAGS = -MT $@ -MMD -MP -MF $(OBJDIR)/$*.Td
|
||||
# make temporary to final dependeny files after successful compilation
|
||||
POSTCOMPILE = $(MV) -f $(OBJDIR)/$*.Td $(OBJDIR)/$*.d
|
||||
|
||||
CORESRCS = uart.c \
|
||||
util.c
|
||||
|
||||
CMDSRCS = crapto1/crapto1.c\
|
||||
crapto1/crypto1.c\
|
||||
|
@ -129,57 +139,82 @@ CMDSRCS = crapto1/crapto1.c\
|
|||
reveng/getopt.c\
|
||||
|
||||
ZLIBSRCS = deflate.c adler32.c trees.c zutil.c inflate.c inffast.c inftrees.c
|
||||
ZLIB_FLAGS = -DZ_SOLO -DZ_PREFIX -DNO_GZIP -DZLIB_PM3_TUNED
|
||||
ZLIBFLAGS = -DZ_SOLO -DZ_PREFIX -DNO_GZIP -DZLIB_PM3_TUNED
|
||||
#-DDEBUG -Dverbose=1
|
||||
|
||||
QTGUISRCS = proxgui.cpp proxguiqt.cpp proxguiqt.moc.cpp guidummy.cpp
|
||||
|
||||
COREOBJS = $(CORESRCS:%.c=$(OBJDIR)/%.o)
|
||||
CMDOBJS = $(CMDSRCS:%.c=$(OBJDIR)/%.o)
|
||||
ZLIBOBJS = $(ZLIBSRCS:%.c=$(OBJDIR)/%.o)
|
||||
|
||||
RM = rm -f
|
||||
BINS = proxmark3 flasher fpga_compress #snooper cli
|
||||
CLEAN = cli cli.exe flasher flasher.exe proxmark3 proxmark3.exe fpga_compress fpga_compress.exe snooper snooper.exe $(CMDOBJS) $(OBJDIR)/*.o *.o *.moc.cpp
|
||||
BINS = proxmark3 flasher fpga_compress
|
||||
WINBINS = $(patsubst %, %.exe, $(BINS))
|
||||
CLEAN = $(BINS) $(WINBINS) $(COREOBJS) $(CMDOBJS) $(ZLIBOBJS) $(QTGUIOBJS) $(OBJDIR)/*.o *.moc.cpp
|
||||
|
||||
all: lua_build $(BINS)
|
||||
all: lua_build $(BINS)
|
||||
|
||||
all-static: LDLIBS:=-static $(LDLIBS)
|
||||
all-static: snooper cli flasher fpga_compress
|
||||
all-static: proxmark3 flasher fpga_compress
|
||||
|
||||
proxmark3: LDLIBS+=$(LUALIB) $(QTLDLIBS)
|
||||
proxmark3: $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(QTGUI)
|
||||
$(CXX) $(CXXFLAGS) $^ $(LDLIBS) -o $@
|
||||
|
||||
snooper: $(OBJDIR)/snooper.o $(COREOBJS) $(CMDOBJS) $(OBJDIR)/guidummy.o
|
||||
$(CXX) $(CXXFLAGS) $^ $(LDLIBS) -o $@
|
||||
|
||||
cli: $(OBJDIR)/cli.o $(COREOBJS) $(CMDOBJS) $(OBJDIR)/guidummy.o
|
||||
$(CXX) $(CXXFLAGS) $^ $(LDLIBS) -o $@
|
||||
proxmark3: $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(QTGUIOBJS) lualibs/usb_cmd.lua
|
||||
$(LD) $(LDFLAGS) $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(QTGUIOBJS) $(LDLIBS) -o $@
|
||||
|
||||
flasher: $(OBJDIR)/flash.o $(OBJDIR)/flasher.o $(COREOBJS)
|
||||
$(CXX) $(CXXFLAGS) $^ $(LDLIBS) -o $@
|
||||
$(LD) $(LDFLAGS) $^ $(LDLIBS) -o $@
|
||||
|
||||
fpga_compress: $(OBJDIR)/fpga_compress.o $(ZLIBOBJS)
|
||||
$(CXX) $(CXXFLAGS) $(ZLIB_FLAGS) $^ $(LDLIBS) -o $@
|
||||
|
||||
$(OBJDIR)/%.o: %.c
|
||||
$(CC) $(CFLAGS) $(ZLIB_FLAGS) -c -o $@ $<
|
||||
|
||||
$(OBJDIR)/%.o: %.cpp
|
||||
$(CXX) $(CXXFLAGS) -c -o $@ $<
|
||||
$(LD) $(LDFLAGS) $(ZLIBFLAGS) $^ $(LDLIBS) -o $@
|
||||
|
||||
proxguiqt.moc.cpp: proxguiqt.h
|
||||
$(MOC) -o$@ $^
|
||||
|
||||
lualibs/usb_cmd.lua: ../include/usb_cmd.h
|
||||
awk -f usb_cmd_h2lua.awk $^ > $@
|
||||
|
||||
clean:
|
||||
$(RM) $(CLEAN)
|
||||
cd ../liblua && make clean
|
||||
|
||||
tarbin: $(BINS)
|
||||
$(TAR) $(TARFLAGS) ../proxmark3-$(platform)-bin.tar $(BINS:%=client/%)
|
||||
$(TAR) $(TARFLAGS) ../proxmark3-$(platform)-bin.tar $(BINS:%=client/%) $(WINBINS:%=client/%)
|
||||
|
||||
lua_build:
|
||||
@echo Compiling liblua, using platform $(LUAPLATFORM)
|
||||
cd ../liblua && make $(LUAPLATFORM)
|
||||
|
||||
.PHONY: all clean
|
||||
|
||||
%.o: %.c
|
||||
$(OBJDIR)/%.o : %.c $(OBJDIR)/%.d
|
||||
$(CC) $(DEPFLAGS) $(CFLAGS) $(ZLIBFLAGS) -c -o $@ $<
|
||||
$(POSTCOMPILE)
|
||||
|
||||
%.o: %.cpp
|
||||
$(OBJDIR)/%.o : %.cpp $(OBJDIR)/%.d
|
||||
$(CXX) $(DEPFLAGS) $(CXXFLAGS) -c -o $@ $<
|
||||
$(POSTCOMPILE)
|
||||
|
||||
|
||||
#$(CMDOBJS) $(COREOBJS): $(notdir $(%.c)) %.d
|
||||
# $(CC) $(DEPFLAGS) $(CFLAGS) -c -o $@ $<
|
||||
# $(POSTCOMPILE)
|
||||
|
||||
#$(ZLIBOBJS): $(notdir $(%.c)) %.d
|
||||
# $(CC) $(DEPFLAGS) $(CFLAGS) $(ZLIBFLAGS) -c -o $@ $<
|
||||
# $(POSTCOMPILE)
|
||||
|
||||
#$(QTGUIOBJS): $(notdir $(%.cpp)) %.d
|
||||
# $(CXX) $(DEPFLAGS) $(CXXFLAGS) -c -o $@ $<
|
||||
# $(POSTCOMPILE)
|
||||
|
||||
DEPENDENCY_FILES = $(patsubst %.c, $(OBJDIR)/%.d, $(CORESRCS) $(CMDSRCS) $(ZLIBSRCS)) \
|
||||
$(patsubst %.cpp, $(OBJDIR)/%.d, $(QTGUISRCS)) \
|
||||
$(OBJDIR)/proxmark3.d $(OBJDIR)/flash.d $(OBJDIR)/flasher.d $(OBJDIR)/fpga_compress.d
|
||||
|
||||
$(DEPENDENCY_FILES): ;
|
||||
.PRECIOUS: $(DEPENDENCY_FILES)
|
||||
|
||||
-include $(DEPENDENCY_FILES)
|
||||
|
||||
|
|
58
client/cli.c
58
client/cli.c
|
@ -1,58 +0,0 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// 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.
|
||||
//-----------------------------------------------------------------------------
|
||||
// Command line binary
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include <stdio.h>
|
||||
#include "sleep.h"
|
||||
#include "ui.h"
|
||||
#include "proxusb.h"
|
||||
#include "cmdmain.h"
|
||||
|
||||
#define HANDLE_ERROR if (error_occured) { \
|
||||
error_occured = 0;\
|
||||
break;\
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
if (argc != 3 && argc != 4)
|
||||
{
|
||||
printf("\n\tusage: cli <command 1> <command 2> [logfile (default cli.log)]\n");
|
||||
printf("\n");
|
||||
printf("\texample: cli hi14asnoop hi14alist h14a.log\n");
|
||||
printf("\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
usb_init();
|
||||
if (argc == 4)
|
||||
SetLogFilename(argv[3]);
|
||||
else
|
||||
SetLogFilename("cli.log");
|
||||
|
||||
return_on_error = 1;
|
||||
|
||||
while (1) {
|
||||
while (!OpenProxmark(0)) { sleep(1); }
|
||||
while (1) {
|
||||
UsbCommand cmdbuf;
|
||||
CommandReceived(argv[1]);
|
||||
HANDLE_ERROR;
|
||||
ReceiveCommand(&cmdbuf);
|
||||
HANDLE_ERROR;
|
||||
for (int i = 0; i < 5; ++i) {
|
||||
ReceiveCommandPoll(&cmdbuf);
|
||||
}
|
||||
HANDLE_ERROR;
|
||||
CommandReceived(argv[2]);
|
||||
HANDLE_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
CloseProxmark();
|
||||
return 0;
|
||||
}
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
#include <stdio.h>
|
||||
|
||||
void ShowGraphWindow(void)
|
||||
extern "C" void ShowGraphWindow(void)
|
||||
{
|
||||
static int warned = 0;
|
||||
|
||||
|
@ -20,8 +20,8 @@ void ShowGraphWindow(void)
|
|||
}
|
||||
}
|
||||
|
||||
void HideGraphWindow(void) {}
|
||||
void RepaintGraphWindow(void) {}
|
||||
void MainGraphics() {}
|
||||
void InitGraphics(int argc, char **argv) {}
|
||||
void ExitGraphics(void) {}
|
||||
extern "C" void HideGraphWindow(void) {}
|
||||
extern "C" void RepaintGraphWindow(void) {}
|
||||
extern "C" void MainGraphics() {}
|
||||
extern "C" void InitGraphics(int argc, char **argv) {}
|
||||
extern "C" void ExitGraphics(void) {}
|
|
@ -1,164 +1,8 @@
|
|||
--[[
|
||||
These are command definitions. This file should correspond exactly to usb_cmd.h.
|
||||
Handle Proxmark USB Commands
|
||||
--]]
|
||||
--// For the bootloader
|
||||
local _commands = {
|
||||
CMD_DEVICE_INFO = 0x0000,
|
||||
CMD_SETUP_WRITE = 0x0001,
|
||||
CMD_FINISH_WRITE = 0x0003,
|
||||
CMD_HARDWARE_RESET = 0x0004,
|
||||
CMD_START_FLASH = 0x0005,
|
||||
CMD_NACK = 0x00fe,
|
||||
CMD_ACK = 0x00ff,
|
||||
|
||||
--// For general mucking around
|
||||
CMD_DEBUG_PRINT_STRING = 0x0100,
|
||||
CMD_DEBUG_PRINT_INTEGERS = 0x0101,
|
||||
CMD_DEBUG_PRINT_BYTES = 0x0102,
|
||||
CMD_LCD_RESET = 0x0103,
|
||||
CMD_LCD = 0x0104,
|
||||
CMD_BUFF_CLEAR = 0x0105,
|
||||
CMD_READ_MEM = 0x0106,
|
||||
CMD_VERSION = 0x0107,
|
||||
CMD_STATUS = 0x0108,
|
||||
CMD_PING = 0x0109,
|
||||
--// For low-frequency tags
|
||||
CMD_READ_TI_TYPE = 0x0202,
|
||||
CMD_WRITE_TI_TYPE = 0x0203,
|
||||
CMD_DOWNLOADED_RAW_BITS_TI_TYPE = 0x0204,
|
||||
CMD_ACQUIRE_RAW_ADC_SAMPLES_125K = 0x0205,
|
||||
CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K = 0x0206,
|
||||
CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K = 0x0207,
|
||||
CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K = 0x0208,
|
||||
CMD_DOWNLOADED_SIM_SAMPLES_125K = 0x0209,
|
||||
CMD_SIMULATE_TAG_125K = 0x020A,
|
||||
CMD_HID_DEMOD_FSK = 0x020B,
|
||||
CMD_HID_SIM_TAG = 0x020C,
|
||||
CMD_SET_LF_DIVISOR = 0x020D,
|
||||
CMD_LF_SIMULATE_BIDIR = 0x020E,
|
||||
CMD_SET_ADC_MUX = 0x020F,
|
||||
CMD_HID_CLONE_TAG = 0x0210,
|
||||
CMD_EM410X_WRITE_TAG = 0x0211,
|
||||
CMD_INDALA_CLONE_TAG = 0x0212,
|
||||
--// for 224 bits UID
|
||||
CMD_INDALA_CLONE_TAG_L = 0x0213,
|
||||
CMD_T55XX_READ_BLOCK = 0x0214,
|
||||
CMD_T55XX_WRITE_BLOCK = 0x0215,
|
||||
CMD_T55XX_RESET_READ = 0x0216,
|
||||
CMD_PCF7931_READ = 0x0217,
|
||||
CMD_EM4X_READ_WORD = 0x0218,
|
||||
CMD_EM4X_WRITE_WORD = 0x0219,
|
||||
CMD_IO_DEMOD_FSK = 0x021A,
|
||||
CMD_IO_CLONE_TAG = 0x021B,
|
||||
CMD_EM410X_DEMOD = 0x021c,
|
||||
CMD_SET_LF_SAMPLING_CONFIG = 0x021d,
|
||||
CMD_FSK_SIM_TAG = 0x021E,
|
||||
CMD_ASK_SIM_TAG = 0x021F,
|
||||
CMD_PSK_SIM_TAG = 0x0220,
|
||||
CMD_AWID_DEMOD_FSK = 0x0221,
|
||||
CMD_VIKING_CLONE_TAG = 0x0223,
|
||||
CMD_T55XX_WAKEUP = 0x0224,
|
||||
CMD_COTAG = 0x0225,
|
||||
--/* CMD_SET_ADC_MUX: ext1 is 0 for lopkd, 1 for loraw, 2 for hipkd, 3 for hiraw */
|
||||
|
||||
--// For the 13.56 MHz tags
|
||||
CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_15693 = 0x0300,
|
||||
CMD_READ_SRI512_TAG = 0x0303,
|
||||
CMD_READ_SRIX4K_TAG = 0x0304,
|
||||
CMD_READER_ISO_15693 = 0x0310,
|
||||
CMD_SIMTAG_ISO_15693 = 0x0311,
|
||||
CMD_RECORD_RAW_ADC_SAMPLES_ISO_15693 = 0x0312,
|
||||
CMD_ISO_15693_COMMAND = 0x0313,
|
||||
CMD_ISO_15693_COMMAND_DONE = 0x0314,
|
||||
CMD_ISO_15693_FIND_AFI = 0x0315,
|
||||
CMD_ISO_15693_DEBUG = 0x0316,
|
||||
CMD_LF_SNOOP_RAW_ADC_SAMPLES = 0x0317,
|
||||
|
||||
--// For Hitag2 transponders
|
||||
CMD_SNOOP_HITAG = 0x0370,
|
||||
CMD_SIMULATE_HITAG = 0x0371,
|
||||
CMD_READER_HITAG = 0x0372,
|
||||
|
||||
CMD_SIMULATE_TAG_ISO_14443B = 0x0381,
|
||||
CMD_SNOOP_ISO_14443B = 0x0382,
|
||||
CMD_SNOOP_ISO_14443a = 0x0383,
|
||||
CMD_SIMULATE_TAG_ISO_14443a = 0x0384,
|
||||
CMD_READER_ISO_14443a = 0x0385,
|
||||
CMD_SIMULATE_TAG_LEGIC_RF = 0x0387,
|
||||
CMD_READER_LEGIC_RF = 0x0388,
|
||||
CMD_WRITER_LEGIC_RF = 0x0389,
|
||||
CMD_EPA_PACE_COLLECT_NONCE = 0x038A,
|
||||
--//CMD_EPA_ = 0x038B,
|
||||
|
||||
CMD_ICLASS_READCHECK = 0x038F,
|
||||
CMD_ICLASS_CLONE = 0x0390,
|
||||
CMD_ICLASS_DUMP = 0x0391,
|
||||
CMD_SNOOP_ICLASS = 0x0392,
|
||||
CMD_SIMULATE_TAG_ICLASS = 0x0393,
|
||||
CMD_READER_ICLASS = 0x0394,
|
||||
CMD_READER_ICLASS_REPLAY = 0x0395,
|
||||
CMD_ICLASS_READBLOCK = 0x0396,
|
||||
CMD_ICLASS_WRITEBLOCK = 0x0397,
|
||||
CMD_ICLASS_EML_MEMSET = 0x0398,
|
||||
CMD_ICLASS_AUTHENTICATION = 0x0399,
|
||||
|
||||
--// For measurements of the antenna tuning
|
||||
CMD_MEASURE_ANTENNA_TUNING = 0x0400,
|
||||
CMD_MEASURE_ANTENNA_TUNING_HF = 0x0401,
|
||||
CMD_MEASURED_ANTENNA_TUNING = 0x0410,
|
||||
CMD_LISTEN_READER_FIELD = 0x0420,
|
||||
|
||||
--// For direct FPGA control
|
||||
CMD_FPGA_MAJOR_MODE_OFF = 0x0500,
|
||||
|
||||
--// For mifare commands
|
||||
CMD_MIFARE_SET_DBGMODE = 0x0600,
|
||||
CMD_MIFARE_EML_MEMCLR = 0x0601,
|
||||
CMD_MIFARE_EML_MEMSET = 0x0602,
|
||||
CMD_MIFARE_EML_MEMGET = 0x0603,
|
||||
CMD_MIFARE_EML_CARDLOAD = 0x0604,
|
||||
|
||||
--// magic chinese card commands
|
||||
CMD_MIFARE_CSETBLOCK = 0x0605,
|
||||
CMD_MIFARE_CGETBLOCK = 0x0606,
|
||||
CMD_MIFARE_CIDENT = 0x0607,
|
||||
|
||||
CMD_SIMULATE_MIFARE_CARD = 0x0610,
|
||||
|
||||
CMD_READER_MIFARE = 0x0611,
|
||||
CMD_MIFARE_NESTED = 0x0612,
|
||||
|
||||
CMD_MIFARE_READBL = 0x0620,
|
||||
CMD_MIFAREU_READBL = 0x0720,
|
||||
|
||||
CMD_MIFARE_READSC = 0x0621,
|
||||
CMD_MIFAREU_READCARD = 0x0721,
|
||||
|
||||
CMD_MIFARE_WRITEBL = 0x0622,
|
||||
CMD_MIFAREU_WRITEBL = 0x0722,
|
||||
CMD_MIFAREU_WRITEBL_COMPAT = 0x0723,
|
||||
|
||||
CMD_MIFARE_CHKKEYS = 0x0623,
|
||||
|
||||
CMD_MIFARE_SNIFFER = 0x0630,
|
||||
|
||||
--//ultralightC
|
||||
CMD_MIFAREUC_AUTH = 0x0724,
|
||||
CMD_MIFAREUC_SETPWD = 0x0727,
|
||||
CMD_MIFAREU_SETUID = 0x0728,
|
||||
|
||||
--// mifare desfire
|
||||
CMD_MIFARE_DESFIRE_READBL = 0x0728,
|
||||
CMD_MIFARE_DESFIRE_WRITEBL = 0x0729,
|
||||
CMD_MIFARE_DESFIRE_AUTH1 = 0x072a,
|
||||
CMD_MIFARE_DESFIRE_AUTH2 = 0x072b,
|
||||
CMD_MIFARE_DES_READER = 0x072c,
|
||||
CMD_MIFARE_DESFIRE_INFO = 0x072d,
|
||||
CMD_MIFARE_DESFIRE = 0x072e,
|
||||
|
||||
CMD_UNKNOWN = 0xFFFF,
|
||||
}
|
||||
|
||||
local _commands = require('usb_cmd')
|
||||
|
||||
local _reverse_lookup,k,v = {}
|
||||
for k, v in pairs(_commands) do
|
||||
|
|
137
client/lualibs/usb_cmd.lua
Normal file
137
client/lualibs/usb_cmd.lua
Normal file
|
@ -0,0 +1,137 @@
|
|||
--[[
|
||||
These are Proxmark command definitions.
|
||||
This file is automatically generated from usb_cmd.h - DON'T EDIT MANUALLY.
|
||||
--]]
|
||||
local __commands = {
|
||||
CMD_DEVICE_INFO = 0x0000,
|
||||
CMD_SETUP_WRITE = 0x0001,
|
||||
CMD_FINISH_WRITE = 0x0003,
|
||||
CMD_HARDWARE_RESET = 0x0004,
|
||||
CMD_START_FLASH = 0x0005,
|
||||
CMD_NACK = 0x00fe,
|
||||
CMD_ACK = 0x00ff,
|
||||
CMD_DEBUG_PRINT_STRING = 0x0100,
|
||||
CMD_DEBUG_PRINT_INTEGERS = 0x0101,
|
||||
CMD_DEBUG_PRINT_BYTES = 0x0102,
|
||||
CMD_LCD_RESET = 0x0103,
|
||||
CMD_LCD = 0x0104,
|
||||
CMD_BUFF_CLEAR = 0x0105,
|
||||
CMD_READ_MEM = 0x0106,
|
||||
CMD_VERSION = 0x0107,
|
||||
CMD_STATUS = 0x0108,
|
||||
CMD_PING = 0x0109,
|
||||
CMD_READ_TI_TYPE = 0x0202,
|
||||
CMD_WRITE_TI_TYPE = 0x0203,
|
||||
CMD_DOWNLOADED_RAW_BITS_TI_TYPE = 0x0204,
|
||||
CMD_ACQUIRE_RAW_ADC_SAMPLES_125K = 0x0205,
|
||||
CMD_MOD_THEN_ACQUIRE_RAW_ADC_SAMPLES_125K = 0x0206,
|
||||
CMD_DOWNLOAD_RAW_ADC_SAMPLES_125K = 0x0207,
|
||||
CMD_DOWNLOADED_RAW_ADC_SAMPLES_125K = 0x0208,
|
||||
CMD_DOWNLOADED_SIM_SAMPLES_125K = 0x0209,
|
||||
CMD_SIMULATE_TAG_125K = 0x020A,
|
||||
CMD_HID_DEMOD_FSK = 0x020B,
|
||||
CMD_HID_SIM_TAG = 0x020C,
|
||||
CMD_SET_LF_DIVISOR = 0x020D,
|
||||
CMD_LF_SIMULATE_BIDIR = 0x020E,
|
||||
CMD_SET_ADC_MUX = 0x020F,
|
||||
CMD_HID_CLONE_TAG = 0x0210,
|
||||
CMD_EM410X_WRITE_TAG = 0x0211,
|
||||
CMD_INDALA_CLONE_TAG = 0x0212,
|
||||
CMD_INDALA_CLONE_TAG_L = 0x0213,
|
||||
CMD_T55XX_READ_BLOCK = 0x0214,
|
||||
CMD_T55XX_WRITE_BLOCK = 0x0215,
|
||||
CMD_T55XX_RESET_READ = 0x0216,
|
||||
CMD_PCF7931_READ = 0x0217,
|
||||
CMD_PCF7931_WRITE = 0x0222,
|
||||
CMD_EM4X_READ_WORD = 0x0218,
|
||||
CMD_EM4X_WRITE_WORD = 0x0219,
|
||||
CMD_IO_DEMOD_FSK = 0x021A,
|
||||
CMD_IO_CLONE_TAG = 0x021B,
|
||||
CMD_EM410X_DEMOD = 0x021c,
|
||||
CMD_SET_LF_SAMPLING_CONFIG = 0x021d,
|
||||
CMD_FSK_SIM_TAG = 0x021E,
|
||||
CMD_ASK_SIM_TAG = 0x021F,
|
||||
CMD_PSK_SIM_TAG = 0x0220,
|
||||
CMD_AWID_DEMOD_FSK = 0x0221,
|
||||
CMD_VIKING_CLONE_TAG = 0x0223,
|
||||
CMD_T55XX_WAKEUP = 0x0224,
|
||||
CMD_COTAG = 0x0225,
|
||||
CMD_ACQUIRE_RAW_ADC_SAMPLES_ISO_15693 = 0x0300,
|
||||
CMD_READ_SRI512_TAG = 0x0303,
|
||||
CMD_READ_SRIX4K_TAG = 0x0304,
|
||||
CMD_ISO_14443B_COMMAND = 0x0305,
|
||||
CMD_READER_ISO_15693 = 0x0310,
|
||||
CMD_SIMTAG_ISO_15693 = 0x0311,
|
||||
CMD_RECORD_RAW_ADC_SAMPLES_ISO_15693 = 0x0312,
|
||||
CMD_ISO_15693_COMMAND = 0x0313,
|
||||
CMD_ISO_15693_COMMAND_DONE = 0x0314,
|
||||
CMD_ISO_15693_FIND_AFI = 0x0315,
|
||||
CMD_ISO_15693_DEBUG = 0x0316,
|
||||
CMD_LF_SNOOP_RAW_ADC_SAMPLES = 0x0317,
|
||||
CMD_SNOOP_HITAG = 0x0370,
|
||||
CMD_SIMULATE_HITAG = 0x0371,
|
||||
CMD_READER_HITAG = 0x0372,
|
||||
CMD_SIMULATE_HITAG_S = 0x0368,
|
||||
CMD_TEST_HITAGS_TRACES = 0x0367,
|
||||
CMD_READ_HITAG_S = 0x0373,
|
||||
CMD_WR_HITAG_S = 0x0375,
|
||||
CMD_EMU_HITAG_S = 0x0376,
|
||||
CMD_SIMULATE_TAG_ISO_14443B = 0x0381,
|
||||
CMD_SNOOP_ISO_14443B = 0x0382,
|
||||
CMD_SNOOP_ISO_14443a = 0x0383,
|
||||
CMD_SIMULATE_TAG_ISO_14443a = 0x0384,
|
||||
CMD_READER_ISO_14443a = 0x0385,
|
||||
CMD_SIMULATE_TAG_LEGIC_RF = 0x0387,
|
||||
CMD_READER_LEGIC_RF = 0x0388,
|
||||
CMD_WRITER_LEGIC_RF = 0x0389,
|
||||
CMD_EPA_PACE_COLLECT_NONCE = 0x038A,
|
||||
CMD_EPA_PACE_REPLAY = 0x038B,
|
||||
CMD_ICLASS_READCHECK = 0x038F,
|
||||
CMD_ICLASS_CLONE = 0x0390,
|
||||
CMD_ICLASS_DUMP = 0x0391,
|
||||
CMD_SNOOP_ICLASS = 0x0392,
|
||||
CMD_SIMULATE_TAG_ICLASS = 0x0393,
|
||||
CMD_READER_ICLASS = 0x0394,
|
||||
CMD_READER_ICLASS_REPLAY = 0x0395,
|
||||
CMD_ICLASS_READBLOCK = 0x0396,
|
||||
CMD_ICLASS_WRITEBLOCK = 0x0397,
|
||||
CMD_ICLASS_EML_MEMSET = 0x0398,
|
||||
CMD_ICLASS_AUTHENTICATION = 0x0399,
|
||||
CMD_MEASURE_ANTENNA_TUNING = 0x0400,
|
||||
CMD_MEASURE_ANTENNA_TUNING_HF = 0x0401,
|
||||
CMD_MEASURED_ANTENNA_TUNING = 0x0410,
|
||||
CMD_LISTEN_READER_FIELD = 0x0420,
|
||||
CMD_FPGA_MAJOR_MODE_OFF = 0x0500,
|
||||
CMD_MIFARE_SET_DBGMODE = 0x0600,
|
||||
CMD_MIFARE_EML_MEMCLR = 0x0601,
|
||||
CMD_MIFARE_EML_MEMSET = 0x0602,
|
||||
CMD_MIFARE_EML_MEMGET = 0x0603,
|
||||
CMD_MIFARE_EML_CARDLOAD = 0x0604,
|
||||
CMD_MIFARE_CSETBLOCK = 0x0605,
|
||||
CMD_MIFARE_CGETBLOCK = 0x0606,
|
||||
CMD_MIFARE_CIDENT = 0x0607,
|
||||
CMD_SIMULATE_MIFARE_CARD = 0x0610,
|
||||
CMD_READER_MIFARE = 0x0611,
|
||||
CMD_MIFARE_NESTED = 0x0612,
|
||||
CMD_MIFARE_READBL = 0x0620,
|
||||
CMD_MIFAREU_READBL = 0x0720,
|
||||
CMD_MIFARE_READSC = 0x0621,
|
||||
CMD_MIFAREU_READCARD = 0x0721,
|
||||
CMD_MIFARE_WRITEBL = 0x0622,
|
||||
CMD_MIFAREU_WRITEBL = 0x0722,
|
||||
CMD_MIFAREU_WRITEBL_COMPAT = 0x0723,
|
||||
CMD_MIFARE_CHKKEYS = 0x0623,
|
||||
CMD_MIFARE_SNIFFER = 0x0630,
|
||||
CMD_MIFAREUC_AUTH = 0x0724,
|
||||
CMD_MIFAREUC_SETPWD = 0x0727,
|
||||
CMD_MIFARE_DESFIRE_READBL = 0x0728,
|
||||
CMD_MIFARE_DESFIRE_WRITEBL = 0x0729,
|
||||
CMD_MIFARE_DESFIRE_AUTH1 = 0x072a,
|
||||
CMD_MIFARE_DESFIRE_AUTH2 = 0x072b,
|
||||
CMD_MIFARE_DES_READER = 0x072c,
|
||||
CMD_MIFARE_DESFIRE_INFO = 0x072d,
|
||||
CMD_MIFARE_DESFIRE = 0x072e,
|
||||
CMD_HF_SNIFFER = 0x0800,
|
||||
CMD_UNKNOWN = 0xFFFF,
|
||||
}
|
||||
return __commands
|
|
@ -1,46 +0,0 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// Copyright (C) 2009 Michael Gernoth <michael at gernoth.net>
|
||||
//
|
||||
// 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.
|
||||
//-----------------------------------------------------------------------------
|
||||
// Snooper binary
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include "ui.h"
|
||||
#include "proxusb.h"
|
||||
#include "cmdmain.h"
|
||||
|
||||
#define HANDLE_ERROR if (error_occured) { \
|
||||
error_occured = 0;\
|
||||
break;\
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
usb_init();
|
||||
SetLogFilename("snooper.log");
|
||||
|
||||
return_on_error = 1;
|
||||
|
||||
while(1) {
|
||||
while (!OpenProxmark(0)) { sleep(1); }
|
||||
while (1) {
|
||||
UsbCommand cmdbuf;
|
||||
CommandReceived("hf 14a snoop");
|
||||
HANDLE_ERROR;
|
||||
ReceiveCommand(&cmdbuf);
|
||||
HANDLE_ERROR;
|
||||
for (int i = 0; i < 5; ++i) {
|
||||
ReceiveCommandPoll(&cmdbuf);
|
||||
}
|
||||
HANDLE_ERROR;
|
||||
CommandReceived("hf 14a list");
|
||||
HANDLE_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
CloseProxmark();
|
||||
return 0;
|
||||
}
|
15
client/usb_cmd_h2lua.awk
Normal file
15
client/usb_cmd_h2lua.awk
Normal file
|
@ -0,0 +1,15 @@
|
|||
BEGIN {
|
||||
print "--[["
|
||||
print "These are Proxmark command definitions."
|
||||
print "This file is automatically generated from usb_cmd.h - DON'T EDIT MANUALLY."
|
||||
print "--]]"
|
||||
print "local __commands = {"
|
||||
}
|
||||
|
||||
#$1 ~ /#define/ && $2 ~ /^CMD_([[:alnum:]_])+/ { print $2, "=", $3, "," }
|
||||
$1 ~ /#define/ && $2 ~ /^CMD_[A-Za-z0-9_]+/ { sub(/\r/, ""); print $2, "=", $3 "," }
|
||||
|
||||
END {
|
||||
print "}"
|
||||
print "return __commands"
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue