mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-03-20 03:48:33 +08:00
Merge branch 'master' of https://github.com/RfidResearchGroup/proxmark3
This commit is contained in:
commit
fa8bd85016
7 changed files with 278 additions and 280 deletions
50
Makefile
50
Makefile
|
@ -3,36 +3,36 @@ GZIP=gzip
|
|||
# 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)))
|
||||
# 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=\\#
|
||||
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
|
||||
|
||||
ifeq ($(PLATFORM),)
|
||||
-include Makefile.platform
|
||||
ifeq ($(PLATFORM),)
|
||||
PLATFORM=PM3RDV4
|
||||
else
|
||||
${info using saved PLATFORM: '$(PLATFORM)'}
|
||||
endif
|
||||
ifneq ($(PLATFORM_EXTRAS),)
|
||||
${info using saved PLATFORM_EXTRAS: '$(PLATFORM_EXTRAS)'}
|
||||
endif
|
||||
-include Makefile.platform
|
||||
ifeq ($(PLATFORM),)
|
||||
PLATFORM=PM3RDV4
|
||||
else
|
||||
${info using saved PLATFORM: '$(PLATFORM)'}
|
||||
endif
|
||||
ifneq ($(PLATFORM_EXTRAS),)
|
||||
${info using saved PLATFORM_EXTRAS: '$(PLATFORM_EXTRAS)'}
|
||||
endif
|
||||
endif
|
||||
|
||||
include common/Makefile.hal
|
||||
|
|
124
armsrc/Makefile
124
armsrc/Makefile
|
@ -10,31 +10,31 @@ APP_INCLUDES = apps.h
|
|||
|
||||
# This Makefile might have been called directly, not via the root Makefile, so:
|
||||
ifeq ($(PLTNAME),)
|
||||
-include ../Makefile.platform
|
||||
ifeq ($(PLATFORM),)
|
||||
PLATFORM=PM3RDV4
|
||||
else
|
||||
${info using saved PLATFORM: '$(PLATFORM)'}
|
||||
endif
|
||||
ifneq ($(PLATFORM_EXTRAS),)
|
||||
${info using saved PLATFORM_EXTRAS: '$(PLATFORM_EXTRAS)'}
|
||||
endif
|
||||
include ../common/Makefile.hal
|
||||
$(info ===================================================================)
|
||||
$(info Platform name: $(PLTNAME))
|
||||
$(info PLATFORM: $(PLATFORM))
|
||||
$(info PLATFORM_EXTRAS: $(PLATFORM_EXTRAS))
|
||||
$(info Included options: $(PLATFORM_DEFS_INFO))
|
||||
$(info Standalone mode: $(PLATFORM_DEFS_INFO_STANDALONE))
|
||||
$(info ===================================================================)
|
||||
-include ../Makefile.platform
|
||||
ifeq ($(PLATFORM),)
|
||||
PLATFORM=PM3RDV4
|
||||
else
|
||||
${info using saved PLATFORM: '$(PLATFORM)'}
|
||||
endif
|
||||
ifneq ($(PLATFORM_EXTRAS),)
|
||||
${info using saved PLATFORM_EXTRAS: '$(PLATFORM_EXTRAS)'}
|
||||
endif
|
||||
include ../common/Makefile.hal
|
||||
$(info ===================================================================)
|
||||
$(info Platform name: $(PLTNAME))
|
||||
$(info PLATFORM: $(PLATFORM))
|
||||
$(info PLATFORM_EXTRAS: $(PLATFORM_EXTRAS))
|
||||
$(info Included options: $(PLATFORM_DEFS_INFO))
|
||||
$(info Standalone mode: $(PLATFORM_DEFS_INFO_STANDALONE))
|
||||
$(info ===================================================================)
|
||||
endif
|
||||
|
||||
#remove one of the following defines and comment out the relevant line
|
||||
#in the next section to remove that particular feature from compilation.
|
||||
# NO space,TABs after the "\" sign.
|
||||
APP_CFLAGS = $(PLATFORM_DEFS) \
|
||||
-DON_DEVICE \
|
||||
-fno-strict-aliasing -ffunction-sections -fdata-sections
|
||||
-DON_DEVICE \
|
||||
-fno-strict-aliasing -ffunction-sections -fdata-sections
|
||||
|
||||
SRC_LF = lfops.c lfsampling.c pcf7931.c lfdemod.c
|
||||
SRC_ISO15693 = iso15693.c iso15693tools.c
|
||||
|
@ -49,21 +49,21 @@ SRC_LEGIC = legicrf.c legicrfsim.c legic_prng.c
|
|||
|
||||
# RDV40 related hardware support
|
||||
ifneq (,$(findstring WITH_FLASH,$(APP_CFLAGS)))
|
||||
SRC_FLASH = flashmem.c
|
||||
SRC_FLASH = flashmem.c
|
||||
else
|
||||
SRC_FLASH =
|
||||
SRC_FLASH =
|
||||
endif
|
||||
|
||||
ifneq (,$(findstring WITH_SMARTCARD,$(APP_CFLAGS)))
|
||||
SRC_SMARTCARD = i2c.c
|
||||
SRC_SMARTCARD = i2c.c
|
||||
else
|
||||
SRC_SMARTCARD =
|
||||
SRC_SMARTCARD =
|
||||
endif
|
||||
|
||||
ifneq (,$(findstring WITH_FPC_USART,$(APP_CFLAGS)))
|
||||
SRC_FPC = usart.c
|
||||
SRC_FPC = usart.c
|
||||
else
|
||||
SRC_FPC =
|
||||
SRC_FPC =
|
||||
endif
|
||||
|
||||
ifneq (,$(findstring WITH_HITAG,$(APP_CFLAGS)))
|
||||
|
@ -84,35 +84,35 @@ endif
|
|||
SRC_STANDALONE = placeholder.c
|
||||
# WITH_STANDALONE_LF_ICERUN
|
||||
ifneq (,$(findstring WITH_STANDALONE_LF_ICERUN,$(APP_CFLAGS)))
|
||||
SRC_STANDALONE = lf_icerun.c
|
||||
SRC_STANDALONE = lf_icerun.c
|
||||
endif
|
||||
# WITH_STANDALONE_LF_SAMYRUN
|
||||
ifneq (,$(findstring WITH_STANDALONE_LF_SAMYRUN,$(APP_CFLAGS)))
|
||||
SRC_STANDALONE = lf_samyrun.c
|
||||
SRC_STANDALONE = lf_samyrun.c
|
||||
endif
|
||||
# WITH_STANDALONE_LF_PROXBRUTE
|
||||
ifneq (,$(findstring WITH_STANDALONE_LF_PROXBRUTE,$(APP_CFLAGS)))
|
||||
SRC_STANDALONE = lf_proxbrute.c
|
||||
SRC_STANDALONE = lf_proxbrute.c
|
||||
endif
|
||||
# WITH_STANDALONE_LF_HIDBRUTE
|
||||
ifneq (,$(findstring WITH_STANDALONE_LF_HIDBRUTE,$(APP_CFLAGS)))
|
||||
SRC_STANDALONE = lf_hidbrute.c
|
||||
SRC_STANDALONE = lf_hidbrute.c
|
||||
endif
|
||||
# WITH_STANDALONE_HF_YOUNG
|
||||
ifneq (,$(findstring WITH_STANDALONE_HF_YOUNG,$(APP_CFLAGS)))
|
||||
SRC_STANDALONE = hf_young.c
|
||||
SRC_STANDALONE = hf_young.c
|
||||
endif
|
||||
# WITH_STANDALONE_HF_MATTYRUN
|
||||
ifneq (,$(findstring WITH_STANDALONE_HF_MATTYRUN,$(APP_CFLAGS)))
|
||||
SRC_STANDALONE = hf_mattyrun.c
|
||||
SRC_STANDALONE = hf_mattyrun.c
|
||||
endif
|
||||
# WITH_STANDALONE_HF_COLIN
|
||||
ifneq (,$(findstring WITH_STANDALONE_HF_COLIN,$(APP_CFLAGS)))
|
||||
SRC_STANDALONE = vtsend.c hf_colin.c
|
||||
SRC_STANDALONE = vtsend.c hf_colin.c
|
||||
endif
|
||||
# WITH_STANDALONE_HF_BOG
|
||||
ifneq (,$(findstring WITH_STANDALONE_HF_BOG,$(APP_CFLAGS)))
|
||||
SRC_STANDALONE = hf_bog.c
|
||||
SRC_STANDALONE = hf_bog.c
|
||||
endif
|
||||
|
||||
#the FPGA bitstream files. Note: order matters!
|
||||
|
@ -132,42 +132,42 @@ APP_CFLAGS += -I. -fno-stack-protector -fno-pie
|
|||
|
||||
# Compile these in thumb mode (small size)
|
||||
THUMBSRC = start.c \
|
||||
protocols.c \
|
||||
$(SRC_LCD) \
|
||||
$(SRC_ISO15693) \
|
||||
$(SRC_LF) \
|
||||
$(SRC_ZLIB) \
|
||||
$(SRC_LEGIC) \
|
||||
$(SRC_FLASH) \
|
||||
$(SRC_SMARTCARD) \
|
||||
$(SRC_FPC) \
|
||||
protocols.c \
|
||||
$(SRC_LCD) \
|
||||
$(SRC_ISO15693) \
|
||||
$(SRC_LF) \
|
||||
$(SRC_ZLIB) \
|
||||
$(SRC_LEGIC) \
|
||||
$(SRC_FLASH) \
|
||||
$(SRC_SMARTCARD) \
|
||||
$(SRC_FPC) \
|
||||
$(SRC_HITAG) \
|
||||
appmain.c \
|
||||
printf.c \
|
||||
commonutil.c \
|
||||
util.c \
|
||||
string.c \
|
||||
BigBuf.c \
|
||||
ticks.c \
|
||||
hfsnoop.c
|
||||
appmain.c \
|
||||
printf.c \
|
||||
commonutil.c \
|
||||
util.c \
|
||||
string.c \
|
||||
BigBuf.c \
|
||||
ticks.c \
|
||||
hfsnoop.c
|
||||
|
||||
|
||||
# These are to be compiled in ARM mode
|
||||
ARMSRC = fpgaloader.c \
|
||||
$(SRC_ISO14443a) \
|
||||
$(SRC_ISO14443b) \
|
||||
$(SRC_CRAPTO1) \
|
||||
$(SRC_ICLASS) \
|
||||
$(SRC_EMV) \
|
||||
$(SRC_CRC) \
|
||||
$(SRC_FELICA) \
|
||||
$(SRC_STANDALONE) \
|
||||
parity.c \
|
||||
usb_cdc.c \
|
||||
cmd.c
|
||||
$(SRC_ISO14443a) \
|
||||
$(SRC_ISO14443b) \
|
||||
$(SRC_CRAPTO1) \
|
||||
$(SRC_ICLASS) \
|
||||
$(SRC_EMV) \
|
||||
$(SRC_CRC) \
|
||||
$(SRC_FELICA) \
|
||||
$(SRC_STANDALONE) \
|
||||
parity.c \
|
||||
usb_cdc.c \
|
||||
cmd.c
|
||||
|
||||
VERSIONSRC = version.c \
|
||||
fpga_version_info.c
|
||||
fpga_version_info.c
|
||||
|
||||
# Do not move this inclusion before the definition of {THUMB,ASM,ARM}SRC
|
||||
include ../common/Makefile.common
|
||||
|
|
296
client/Makefile
296
client/Makefile
|
@ -68,10 +68,10 @@ LUAPLATFORM = generic
|
|||
ifneq (,$(findstring MINGW,$(platform)))
|
||||
LUAPLATFORM = mingw
|
||||
else
|
||||
ifeq ($(platform),Darwin)
|
||||
ifeq ($(platform),Darwin)
|
||||
LUAPLATFORM = macosx
|
||||
OBJCSRCS = util_darwin.m
|
||||
LDFLAGS += -framework Foundation -framework AppKit
|
||||
OBJCSRCS = util_darwin.m
|
||||
LDFLAGS += -framework Foundation -framework AppKit
|
||||
else
|
||||
LUALIB += -ldl
|
||||
LDLIBS += -ltermcap -lncurses
|
||||
|
@ -86,26 +86,26 @@ MOC = $(shell pkg-config --variable=host_bins Qt5Core)/moc
|
|||
UIC = $(shell pkg-config --variable=host_bins Qt5Core)/uic
|
||||
ifeq ($(QTINCLUDES), )
|
||||
# if Qt5 not found check for correctly configured Qt4
|
||||
QTINCLUDES = $(shell pkg-config --cflags QtCore QtGui 2>/dev/null)
|
||||
QTLDLIBS = $(shell pkg-config --libs QtCore QtGui 2>/dev/null)
|
||||
MOC = $(shell pkg-config --variable=moc_location QtCore)
|
||||
UIC = $(shell pkg-config --variable=uic_location QtCore)
|
||||
QTINCLUDES = $(shell pkg-config --cflags QtCore QtGui 2>/dev/null)
|
||||
QTLDLIBS = $(shell pkg-config --libs QtCore QtGui 2>/dev/null)
|
||||
MOC = $(shell pkg-config --variable=moc_location QtCore)
|
||||
UIC = $(shell pkg-config --variable=uic_location QtCore)
|
||||
else
|
||||
CXXFLAGS += -std=c++11 -fPIC
|
||||
CXXFLAGS += -std=c++11 -fPIC
|
||||
endif
|
||||
ifeq ($(QTINCLUDES), )
|
||||
# if both pkg-config commands failed, search in common places
|
||||
ifneq ($(QTDIR), )
|
||||
QTINCLUDES = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui
|
||||
QTLDLIBS = -L$(QTDIR)/lib -lQtCore4 -lQtGui4
|
||||
ifneq ($(wildcard $(QTDIR)/include/QtWidgets),)
|
||||
QTINCLUDES += -I$(QTDIR)/include/QtWidgets
|
||||
QTLDLIBS = -L$(QTDIR)/lib -lQt5Widgets -lQt5Gui -lQt5Core
|
||||
CXXFLAGS += -std=c++11 -fPIC
|
||||
endif
|
||||
MOC = $(QTDIR)/bin/moc
|
||||
UIC = $(QTDIR)/bin/uic
|
||||
endif
|
||||
ifneq ($(QTDIR), )
|
||||
QTINCLUDES = -I$(QTDIR)/include -I$(QTDIR)/include/QtCore -I$(QTDIR)/include/QtGui
|
||||
QTLDLIBS = -L$(QTDIR)/lib -lQtCore4 -lQtGui4
|
||||
ifneq ($(wildcard $(QTDIR)/include/QtWidgets),)
|
||||
QTINCLUDES += -I$(QTDIR)/include/QtWidgets
|
||||
QTLDLIBS = -L$(QTDIR)/lib -lQt5Widgets -lQt5Gui -lQt5Core
|
||||
CXXFLAGS += -std=c++11 -fPIC
|
||||
endif
|
||||
MOC = $(QTDIR)/bin/moc
|
||||
UIC = $(QTDIR)/bin/uic
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
|
@ -124,139 +124,139 @@ DEPFLAGS = -MT $@ -MMD -MP -MF $(OBJDIR)/$*.Td
|
|||
POSTCOMPILE = $(MV) -f $(OBJDIR)/$*.Td $(OBJDIR)/$*.d
|
||||
|
||||
CORESRCS = uart_posix.c \
|
||||
uart_win32.c \
|
||||
ui.c \
|
||||
commonutil.c \
|
||||
util.c \
|
||||
util_posix.c \
|
||||
scandir.c \
|
||||
crc16.c \
|
||||
comms.c
|
||||
uart_win32.c \
|
||||
ui.c \
|
||||
commonutil.c \
|
||||
util.c \
|
||||
util_posix.c \
|
||||
scandir.c \
|
||||
crc16.c \
|
||||
comms.c
|
||||
|
||||
CMDSRCS = crapto1/crapto1.c \
|
||||
crapto1/crypto1.c \
|
||||
mifare/mfkey.c \
|
||||
tea.c \
|
||||
fido/additional_ca.c \
|
||||
fido/cose.c \
|
||||
fido/cbortools.c \
|
||||
fido/fidocore.c \
|
||||
crypto/asn1dump.c \
|
||||
crypto/libpcrypto.c\
|
||||
crypto/asn1utils.c\
|
||||
cliparser/argtable3.c\
|
||||
cliparser/cliparser.c\
|
||||
loclass/cipher.c \
|
||||
loclass/cipherutils.c \
|
||||
loclass/ikeys.c \
|
||||
loclass/elite_crack.c \
|
||||
loclass/fileutils.c \
|
||||
whereami.c \
|
||||
mifare/mifarehost.c \
|
||||
parity.c \
|
||||
crc.c \
|
||||
crc64.c \
|
||||
legic_prng.c \
|
||||
iso15693tools.c \
|
||||
prng.c \
|
||||
graph.c \
|
||||
cmddata.c \
|
||||
lfdemod.c \
|
||||
emv/crypto_polarssl.c\
|
||||
emv/crypto.c\
|
||||
emv/emv_pk.c\
|
||||
emv/emv_pki.c\
|
||||
emv/emv_pki_priv.c\
|
||||
emv/test/cryptotest.c\
|
||||
emv/apduinfo.c \
|
||||
emv/dump.c \
|
||||
emv/tlv.c \
|
||||
emv/emv_tags.c \
|
||||
emv/dol.c \
|
||||
emv/emvjson.c\
|
||||
emv/emvcore.c \
|
||||
emv/test/crypto_test.c\
|
||||
emv/test/sda_test.c\
|
||||
emv/test/dda_test.c\
|
||||
emv/test/cda_test.c\
|
||||
emv/cmdemv.c \
|
||||
emv/emv_roca.c \
|
||||
CMDSRCS = crapto1/crapto1.c \
|
||||
crapto1/crypto1.c \
|
||||
mifare/mfkey.c \
|
||||
tea.c \
|
||||
fido/additional_ca.c \
|
||||
fido/cose.c \
|
||||
fido/cbortools.c \
|
||||
fido/fidocore.c \
|
||||
crypto/asn1dump.c \
|
||||
crypto/libpcrypto.c\
|
||||
crypto/asn1utils.c\
|
||||
cliparser/argtable3.c\
|
||||
cliparser/cliparser.c\
|
||||
loclass/cipher.c \
|
||||
loclass/cipherutils.c \
|
||||
loclass/ikeys.c \
|
||||
loclass/elite_crack.c \
|
||||
loclass/fileutils.c \
|
||||
whereami.c \
|
||||
mifare/mifarehost.c \
|
||||
parity.c \
|
||||
crc.c \
|
||||
crc64.c \
|
||||
legic_prng.c \
|
||||
iso15693tools.c \
|
||||
prng.c \
|
||||
graph.c \
|
||||
cmddata.c \
|
||||
lfdemod.c \
|
||||
emv/crypto_polarssl.c\
|
||||
emv/crypto.c\
|
||||
emv/emv_pk.c\
|
||||
emv/emv_pki.c\
|
||||
emv/emv_pki_priv.c\
|
||||
emv/test/cryptotest.c\
|
||||
emv/apduinfo.c \
|
||||
emv/dump.c \
|
||||
emv/tlv.c \
|
||||
emv/emv_tags.c \
|
||||
emv/dol.c \
|
||||
emv/emvjson.c\
|
||||
emv/emvcore.c \
|
||||
emv/test/crypto_test.c\
|
||||
emv/test/sda_test.c\
|
||||
emv/test/dda_test.c\
|
||||
emv/test/cda_test.c\
|
||||
emv/cmdemv.c \
|
||||
emv/emv_roca.c \
|
||||
mifare/mifare4.c \
|
||||
mifare/mad.c \
|
||||
mifare/ndef.c \
|
||||
cmdanalyse.c \
|
||||
cmdhf.c \
|
||||
cmdhflist.c \
|
||||
cmdhf14a.c \
|
||||
cmdhf14b.c \
|
||||
cmdhf15.c \
|
||||
cmdhfepa.c \
|
||||
cmdhflegic.c \
|
||||
cmdhficlass.c \
|
||||
cmdhfmf.c \
|
||||
cmdanalyse.c \
|
||||
cmdhf.c \
|
||||
cmdhflist.c \
|
||||
cmdhf14a.c \
|
||||
cmdhf14b.c \
|
||||
cmdhf15.c \
|
||||
cmdhfepa.c \
|
||||
cmdhflegic.c \
|
||||
cmdhficlass.c \
|
||||
cmdhfmf.c \
|
||||
cmdhfmfu.c \
|
||||
cmdhfmfp.c \
|
||||
cmdhfmfhard.c \
|
||||
cmdhfmfhard.c \
|
||||
hardnested/hardnested_bruteforce.c \
|
||||
cmdhfmfdes.c \
|
||||
cmdhftopaz.c \
|
||||
cmdhffido.c \
|
||||
cmdhffelica.c \
|
||||
cmdhw.c \
|
||||
cmdlf.c \
|
||||
cmdlfawid.c \
|
||||
cmdlfcotag.c \
|
||||
cmdlfem4x.c \
|
||||
cmdlffdx.c \
|
||||
cmdlfguard.c \
|
||||
cmdlfhid.c \
|
||||
cmdlfhitag.c \
|
||||
cmdlfio.c \
|
||||
cmdlfindala.c \
|
||||
cmdlfjablotron.c \
|
||||
cmdlfkeri.c \
|
||||
cmdlfnexwatch.c \
|
||||
cmdlfnedap.c \
|
||||
cmdlfnoralsy.c \
|
||||
cmdlfpac.c \
|
||||
cmdlfparadox.c \
|
||||
cmdlfpcf7931.c \
|
||||
cmdlfpresco.c \
|
||||
cmdlfpyramid.c \
|
||||
cmdlfsecurakey.c \
|
||||
cmdlft55xx.c \
|
||||
cmdlfti.c \
|
||||
cmdlfviking.c \
|
||||
cmdlfvisa2000.c \
|
||||
cmdtrace.c \
|
||||
cmdflashmem.c \
|
||||
cmdsmartcard.c \
|
||||
cmdusart.c \
|
||||
cmdparser.c \
|
||||
cmdmain.c \
|
||||
pm3_binlib.c \
|
||||
scripting.c \
|
||||
cmdscript.c \
|
||||
pm3_bitlib.c \
|
||||
protocols.c \
|
||||
cmdcrc.c \
|
||||
reveng/preset.c \
|
||||
reveng/reveng.c \
|
||||
reveng/cli.c \
|
||||
reveng/bmpbit.c \
|
||||
reveng/model.c \
|
||||
reveng/poly.c \
|
||||
bucketsort.c
|
||||
cmdhfmfdes.c \
|
||||
cmdhftopaz.c \
|
||||
cmdhffido.c \
|
||||
cmdhffelica.c \
|
||||
cmdhw.c \
|
||||
cmdlf.c \
|
||||
cmdlfawid.c \
|
||||
cmdlfcotag.c \
|
||||
cmdlfem4x.c \
|
||||
cmdlffdx.c \
|
||||
cmdlfguard.c \
|
||||
cmdlfhid.c \
|
||||
cmdlfhitag.c \
|
||||
cmdlfio.c \
|
||||
cmdlfindala.c \
|
||||
cmdlfjablotron.c \
|
||||
cmdlfkeri.c \
|
||||
cmdlfnexwatch.c \
|
||||
cmdlfnedap.c \
|
||||
cmdlfnoralsy.c \
|
||||
cmdlfpac.c \
|
||||
cmdlfparadox.c \
|
||||
cmdlfpcf7931.c \
|
||||
cmdlfpresco.c \
|
||||
cmdlfpyramid.c \
|
||||
cmdlfsecurakey.c \
|
||||
cmdlft55xx.c \
|
||||
cmdlfti.c \
|
||||
cmdlfviking.c \
|
||||
cmdlfvisa2000.c \
|
||||
cmdtrace.c \
|
||||
cmdflashmem.c \
|
||||
cmdsmartcard.c \
|
||||
cmdusart.c \
|
||||
cmdparser.c \
|
||||
cmdmain.c \
|
||||
pm3_binlib.c \
|
||||
scripting.c \
|
||||
cmdscript.c \
|
||||
pm3_bitlib.c \
|
||||
protocols.c \
|
||||
cmdcrc.c \
|
||||
reveng/preset.c \
|
||||
reveng/reveng.c \
|
||||
reveng/cli.c \
|
||||
reveng/bmpbit.c \
|
||||
reveng/model.c \
|
||||
reveng/poly.c \
|
||||
bucketsort.c
|
||||
|
||||
cpu_arch = $(shell uname -m)
|
||||
ifneq ($(findstring 86, $(cpu_arch)), )
|
||||
MULTIARCHSRCS = hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c
|
||||
MULTIARCHSRCS = hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c
|
||||
endif
|
||||
ifneq ($(findstring amd64, $(cpu_arch)), )
|
||||
MULTIARCHSRCS = hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c
|
||||
MULTIARCHSRCS = hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c
|
||||
endif
|
||||
ifeq ($(MULTIARCHSRCS), )
|
||||
CMDSRCS += hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c
|
||||
CMDSRCS += hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c
|
||||
endif
|
||||
|
||||
ZLIBSRCS = deflate.c adler32.c trees.c zutil.c inflate.c inffast.c inftrees.c
|
||||
|
@ -270,10 +270,10 @@ CMDOBJS = $(CMDSRCS:%.c=$(OBJDIR)/%.o)
|
|||
OBJCOBJS = $(OBJCSRCS:%.m=$(OBJDIR)/%.o)
|
||||
ZLIBOBJS = $(ZLIBSRCS:%.c=$(OBJDIR)/%.o)
|
||||
MULTIARCHOBJS = $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_NOSIMD.o) \
|
||||
$(MULTIARCHSRCS:%.c=$(OBJDIR)/%_MMX.o) \
|
||||
$(MULTIARCHSRCS:%.c=$(OBJDIR)/%_SSE2.o) \
|
||||
$(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX.o) \
|
||||
$(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX2.o)
|
||||
$(MULTIARCHSRCS:%.c=$(OBJDIR)/%_MMX.o) \
|
||||
$(MULTIARCHSRCS:%.c=$(OBJDIR)/%_SSE2.o) \
|
||||
$(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX.o) \
|
||||
$(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX2.o)
|
||||
|
||||
SUPPORTS_AVX512 := $(shell echo | gcc -E -mavx512f - > /dev/null 2>&1 && echo "True" )
|
||||
|
||||
|
@ -284,12 +284,12 @@ HARD_SWITCH_AVX = -mmmx -msse2 -mavx -mno-avx2
|
|||
HARD_SWITCH_AVX2 = -mmmx -msse2 -mavx -mavx2
|
||||
HARD_SWITCH_AVX512 = -mmmx -msse2 -mavx -mavx2 -mavx512f
|
||||
ifeq "$(SUPPORTS_AVX512)" "True"
|
||||
HARD_SWITCH_NOSIMD += -mno-avx512f
|
||||
HARD_SWITCH_MMX += -mno-avx512f
|
||||
HARD_SWITCH_SSE2 += -mno-avx512f
|
||||
HARD_SWITCH_AVX += -mno-avx512f
|
||||
HARD_SWITCH_AVX2 += -mno-avx512f
|
||||
MULTIARCHOBJS += $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX512.o)
|
||||
HARD_SWITCH_NOSIMD += -mno-avx512f
|
||||
HARD_SWITCH_MMX += -mno-avx512f
|
||||
HARD_SWITCH_SSE2 += -mno-avx512f
|
||||
HARD_SWITCH_AVX += -mno-avx512f
|
||||
HARD_SWITCH_AVX2 += -mno-avx512f
|
||||
MULTIARCHOBJS += $(MULTIARCHSRCS:%.c=$(OBJDIR)/%_AVX512.o)
|
||||
endif
|
||||
|
||||
BINS = proxmark3 flasher fpga_compress
|
||||
|
|
|
@ -89,15 +89,15 @@ $(VERSIONOBJ): $(OBJDIR)/%.o: %.c $(INCLUDES)
|
|||
# without touching start address or RAM addresses (.bss and .data sections)
|
||||
# See ldscript.common. -- Henryk Plötz <henryk@ploetzli.ch> 2009-08-27
|
||||
OBJCOPY_TRANSLATIONS = --no-change-warnings \
|
||||
--change-addresses -0x100000 --change-start 0 \
|
||||
--change-section-address .bss+0 --change-section-address .data-0x100000 \
|
||||
--change-section-address .commonarea+0
|
||||
--change-addresses -0x100000 --change-start 0 \
|
||||
--change-section-address .bss+0 --change-section-address .data-0x100000 \
|
||||
--change-section-address .commonarea+0
|
||||
$(OBJDIR)/%.s19: $(OBJDIR)/%.elf
|
||||
$(OBJCOPY) -Osrec --srec-forceS3 --strip-debug $(OBJCOPY_TRANSLATIONS) $^ $@
|
||||
|
||||
# easy printing of MAKE VARIABLES
|
||||
print-%: ; @echo $* = $($*)
|
||||
|
||||
|
||||
# Automatic dependency generation
|
||||
DEPENDENCY_FILES = $(patsubst %.c,$(OBJDIR)/%.d,$(notdir $(THUMBSRC))) \
|
||||
$(patsubst %.c,$(OBJDIR)/%.d,$(notdir $(ARMSRC))) \
|
||||
|
|
|
@ -40,56 +40,56 @@ endef
|
|||
PLTNAME = Unknown Platform
|
||||
|
||||
ifeq ($(PLATFORM),PM3RDV4)
|
||||
MCU = AT91SAM7S512
|
||||
PLATFORM_DEFS = -DWITH_SMARTCARD -DWITH_FLASH
|
||||
PLTNAME = Proxmark3 rdv4
|
||||
MCU = AT91SAM7S512
|
||||
PLATFORM_DEFS = -DWITH_SMARTCARD -DWITH_FLASH
|
||||
PLTNAME = Proxmark3 rdv4
|
||||
else ifeq ($(PLATFORM),PM3EVO)
|
||||
MCU = AT91SAM7S512
|
||||
PLTNAME = Proxmark3 EVO
|
||||
MCU = AT91SAM7S512
|
||||
PLTNAME = Proxmark3 EVO
|
||||
else ifeq ($(PLATFORM),PM3EASY)
|
||||
MCU = AT91SAM7S256
|
||||
PLTNAME = Proxmark3 rdv3 Easy
|
||||
MCU = AT91SAM7S256
|
||||
PLTNAME = Proxmark3 rdv3 Easy
|
||||
else ifeq ($(PLATFORM),PM3RDV2)
|
||||
MCU = AT91SAM7S512
|
||||
PLTNAME = Proxmark3 rdv2
|
||||
MCU = AT91SAM7S512
|
||||
PLTNAME = Proxmark3 rdv2
|
||||
else ifeq ($(PLATFORM),PM3OLD256)
|
||||
MCU = AT91SAM7S256
|
||||
PLTNAME = Proxmark3 V1 with AT91SAM7S256
|
||||
MCU = AT91SAM7S256
|
||||
PLTNAME = Proxmark3 V1 with AT91SAM7S256
|
||||
else ifeq ($(PLATFORM),PM3OLD512)
|
||||
MCU = AT91SAM7S512
|
||||
PLTNAME = Proxmark3 V1 with AT91SAM7S512
|
||||
MCU = AT91SAM7S512
|
||||
PLTNAME = Proxmark3 V1 with AT91SAM7S512
|
||||
else
|
||||
$(error Invalid or empty PLATFORM: $(PLATFORM). Known platforms: $(KNOWN_PLATFORMS))
|
||||
$(error Invalid or empty PLATFORM: $(PLATFORM). Known platforms: $(KNOWN_PLATFORMS))
|
||||
endif
|
||||
|
||||
# parsing additional PLATFORM_EXTRAS tokens
|
||||
PLATFORM_EXTRAS_TMP:=$(PLATFORM_EXTRAS)
|
||||
ifneq (,$(findstring BTADDON,$(PLATFORM_EXTRAS_TMP)))
|
||||
PLATFORM_DEFS += -DWITH_FPC_USART_HOST
|
||||
PLATFORM_EXTRAS_TMP := $(strip $(filter-out BTADDON,$(PLATFORM_EXTRAS_TMP)))
|
||||
PLATFORM_DEFS += -DWITH_FPC_USART_HOST
|
||||
PLATFORM_EXTRAS_TMP := $(strip $(filter-out BTADDON,$(PLATFORM_EXTRAS_TMP)))
|
||||
endif
|
||||
ifneq (,$(findstring FPC_USART_DEV,$(PLATFORM_EXTRAS_TMP)))
|
||||
PLATFORM_DEFS += -DWITH_FPC_USART_DEV
|
||||
PLATFORM_EXTRAS_TMP := $(strip $(filter-out FPC_USART_DEV,$(PLATFORM_EXTRAS_TMP)))
|
||||
PLATFORM_DEFS += -DWITH_FPC_USART_DEV
|
||||
PLATFORM_EXTRAS_TMP := $(strip $(filter-out FPC_USART_DEV,$(PLATFORM_EXTRAS_TMP)))
|
||||
endif
|
||||
ifneq (,$(PLATFORM_EXTRAS_TMP))
|
||||
$(error Unknown PLATFORM_EXTRAS token(s): $(PLATFORM_EXTRAS_TMP))
|
||||
$(error Unknown PLATFORM_EXTRAS token(s): $(PLATFORM_EXTRAS_TMP))
|
||||
endif
|
||||
|
||||
# common LF support
|
||||
PLATFORM_DEFS += \
|
||||
-DWITH_LF \
|
||||
-DWITH_HITAG
|
||||
-DWITH_LF \
|
||||
-DWITH_HITAG
|
||||
|
||||
# common HF support
|
||||
PLATFORM_DEFS += \
|
||||
-DWITH_ISO15693 \
|
||||
-DWITH_LEGICRF \
|
||||
-DWITH_ISO14443b \
|
||||
-DWITH_ISO14443a \
|
||||
-DWITH_ICLASS \
|
||||
-DWITH_FELICA \
|
||||
-DWITH_HFSNIFF
|
||||
-DWITH_ISO15693 \
|
||||
-DWITH_LEGICRF \
|
||||
-DWITH_ISO14443b \
|
||||
-DWITH_ISO14443a \
|
||||
-DWITH_ICLASS \
|
||||
-DWITH_FELICA \
|
||||
-DWITH_HFSNIFF
|
||||
|
||||
# Standalone mode
|
||||
# !! Choose only one !!
|
||||
|
@ -112,7 +112,7 @@ $(info $(findstring WITH_STANDALONE_*,$(PLATFORM_DEFS)))
|
|||
|
||||
# WITH_FPC_USART_* needs WITH_FPC_USART :
|
||||
ifneq (,$(findstring WITH_FPC_USART_,$(PLATFORM_DEFS)))
|
||||
PLATFORM_DEFS += -DWITH_FPC_USART
|
||||
PLATFORM_DEFS += -DWITH_FPC_USART
|
||||
endif
|
||||
|
||||
PLATFORM_DEFS_INFO = $(strip $(filter-out STANDALONE%, $(subst -DWITH_,,$(PLATFORM_DEFS))))
|
||||
|
@ -120,7 +120,7 @@ PLATFORM_DEFS_INFO_STANDALONE = $(strip $(subst STANDALONE_,, $(filter STANDALON
|
|||
|
||||
# Check that only one Standalone mode has been chosen
|
||||
ifneq (,$(word 2, $(PLATFORM_DEFS_INFO_STANDALONE)))
|
||||
$(error You must choose only one Standalone mode!: $(PLATFORM_DEFS_INFO_STANDALONE))
|
||||
$(error You must choose only one Standalone mode!: $(PLATFORM_DEFS_INFO_STANDALONE))
|
||||
endif
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# External resources
|
||||
|
||||
You might want to follow one of these external resources to get an overview, but please still read carefully this page as some instructions may vary.
|
||||
You might want to follow one of these external resources to get an overview, but please still read carefully this page as some instructions may have evolved.
|
||||
|
||||
* [Kali Video Installation guide](https://youtu.be/t5eBPS6lV3E "Kali Linux Installation Tutorial")
|
||||
* [Ubuntu Video Installation guide](https://youtu.be/DThmkH8CdMo "Ubuntu Installation Tutorial")
|
||||
|
@ -9,11 +9,8 @@ You might want to follow one of these external resources to get an overview, but
|
|||

|
||||
|
||||
* ParrotOS: some further notes can be found at @5w0rdfish repo [Proxmark Installation for Parrot OS](https://github.com/5w0rdfish/Proxmark3-RDV4-ParrotOS)
|
||||
* Ubuntu 14.04.2 LTS, 15.10 or 16.04 GC updates on the [Proxmark3 Ubuntu wiki page](https://github.com/Proxmark/proxmark3/wiki/Ubuntu%20Linux)
|
||||
* A nice and cool install script made by @daveio is found here: https://github.com/daveio/attacksurface/blob/master/proxmark3/pm3-setup.sh (unavailable?)
|
||||
* Iceman has also added this script to the fork. https://github.com/RfidResearchGroup/proxmark3/blob/master/install.sh
|
||||
|
||||
|
||||
# Install the required dependencies
|
||||
|
||||
## On Debian / Ubuntu / Kali / ParrotOS
|
||||
|
@ -31,15 +28,22 @@ sudo apt-get install p7zip git ca-certificates build-essential libreadline5 libr
|
|||
libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib
|
||||
```
|
||||
|
||||
If you don't need the graphical components of the Proxmark3 client, you can skip the installation of `libqt4-dev`.
|
||||
|
||||
If you get some (non blocking) error at runtime such as _Gtk-Message: Failed to load module "canberra-gtk-module"_ you may have to install `libcanberra-gtk-module`.
|
||||
|
||||
## On ArchLinux
|
||||
|
||||
```sh
|
||||
sudo pacman -Sy base-devel p7zip libusb readline ncurses arm-none-eabi-newlib --needed
|
||||
sudo pacman -Sy base-devel p7zip libusb readline ncurses arm-none-eabi-gcc arm-none-eabi-newlib git --needed
|
||||
```
|
||||
Additional AUR packages:
|
||||
```sh
|
||||
yaourt -S termcap
|
||||
```
|
||||
|
||||
Note that with only these requirements, you will not get the graphical components of the Proxmark3 client. (Untested: how to get it? `yaourt -S qt4` ?)
|
||||
|
||||
# Clone the RRG/Iceman repository
|
||||
|
||||
```sh
|
||||
|
|
|
@ -2,12 +2,6 @@
|
|||
You will need to use the Gator96100 Proxspace package to assist in your windows installation.
|
||||
This can be downloaded from https://github.com/Gator96100/ProxSpace/
|
||||
|
||||
## Notes
|
||||
If you receive gcc errors using v3.1 during build, download and use v2.2. This may help resolve the issue.
|
||||
|
||||
- https://github.com/Gator96100/ProxSpace/releases/tag/v3.1 (release v3.1 with gcc v7.3.0 )
|
||||
- https://github.com/Gator96100/ProxSpace/releases/tag/v2.2 (release v2.2 with gcc v5.3.0 arm-none-eabi-gcc v7.1.0)
|
||||
|
||||
---
|
||||
# Video Installation guide
|
||||
[](https://youtu.be/zzF0NCMJnYU "Windows Installation Tutorial")
|
||||
|
|
Loading…
Add table
Reference in a new issue