From 21065321aece0a03f04e692c2d1c9ff39f74d288 Mon Sep 17 00:00:00 2001 From: Xavier Zhang Date: Sat, 17 Feb 2024 21:44:25 -0500 Subject: [PATCH 1/6] update encoder config for new iclass syntax --- traces/iclass/encoder.cfg | Bin 7168 -> 7168 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/traces/iclass/encoder.cfg b/traces/iclass/encoder.cfg index e65a44a1f4b69319e0f5514604baf1949a3210ad..699339d2d2e80386c9a14b98a5072406772939f3 100644 GIT binary patch literal 7168 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 C-Rvj; From 9f4be280e07e86884f91b55b0e94abe522282d23 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 18 Feb 2024 20:14:32 +0100 Subject: [PATCH 2/6] style --- armsrc/Standalone/hf_15sim.c | 2 +- doc/commands.json | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/armsrc/Standalone/hf_15sim.c b/armsrc/Standalone/hf_15sim.c index 470bb59a6..b156f3b1b 100644 --- a/armsrc/Standalone/hf_15sim.c +++ b/armsrc/Standalone/hf_15sim.c @@ -205,7 +205,7 @@ void RunMod(void) { HF_15693SIM_LOGFILE, trace_buffer, trace_len, - RDV40_SPIFFS_SAFETY_SAFE + RDV40_SPIFFS_SAFETY_SAFE ); Dbprintf("[!] Wrote trace to "HF_15693SIM_LOGFILE); } else { diff --git a/doc/commands.json b/doc/commands.json index 8f472bda8..f89e62ee1 100644 --- a/doc/commands.json +++ b/doc/commands.json @@ -2898,9 +2898,10 @@ "offline": false, "options": [ "-h, --help This help", - "-f, --file Specify a filename for dump file" + "-f, --file Specify a filename for dump file", + "--ns no save to file" ], - "usage": "hf fudan dump [-h] [-f ]" + "usage": "hf fudan dump [-h] [-f ] [--ns]" }, "hf fudan help": { "command": "hf fudan help", @@ -6961,7 +6962,7 @@ "-h, --help This help", "-k, --key Authentication key (UL-C 16 bytes, EV1/NTAG 4 bytes)", "-l Swap entered key's endianness", - "-b, --block Nlock number to read", + "-b, --block Block number to read", "--force Force operation even if address is out of range" ], "usage": "hf mfu rdbl [-hl] [-k ] -b [--force]" @@ -12498,6 +12499,6 @@ "metadata": { "commands_extracted": 721, "extracted_by": "PM3Help2JSON v1.00", - "extracted_on": "2024-02-16T20:57:06" + "extracted_on": "2024-02-18T19:13:37" } } From 2e03d62e0c58425ef399d7557f30b452565bf8df Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 18 Feb 2024 20:53:19 +0100 Subject: [PATCH 3/6] release name --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 20ec6869f..c8242c245 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ 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] + +## [DEFCON is Cancelled][2024-02-18] - Changed `hf fudan dump --ns` - now supports nosave flag (@iceman1001) - Added `lf em 410x --electra` - adds two extra blocks. Thanks jareckib (@iceman1001) - Changed `hf mfu info` - now identifies UL-AES correct (@iceman1001) From 8b6d8cbb79a775dae9b466fb0fb560bf7d20e4fa Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 18 Feb 2024 20:53:52 +0100 Subject: [PATCH 4/6] Release v4.18218 - DEFCON is Cancelled --- Makefile.defs | 4 ++-- armsrc/Makefile | 2 +- bootrom/Makefile | 2 +- client/CMakeLists.txt | 4 ++-- client/Makefile | 4 ++-- client/deps/amiibo.cmake | 2 +- client/deps/cliparser.cmake | 2 +- client/deps/hardnested.cmake | 18 ++++++++-------- client/deps/jansson.cmake | 2 +- client/deps/lua.cmake | 2 +- client/deps/mbedtls.cmake | 2 +- client/deps/reveng.cmake | 2 +- client/deps/tinycbor.cmake | 2 +- client/deps/whereami.cmake | 2 +- client/experimental_lib/CMakeLists.txt | 2 +- client/src/proxmark3.c | 2 +- common/default_version_pm3.c | 29 +++++++------------------- common_arm/Makefile.common | 2 +- 18 files changed, 35 insertions(+), 50 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index 1ef2aa09d..aadb1a98b 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -112,8 +112,8 @@ ifeq ($(DEBUG),1) DEFCFLAGS = -g -O0 -fstrict-aliasing -pipe DEFLDFLAGS = else - DEFCXXFLAGS = -Wall -Werror -O3 -pipe - DEFCFLAGS = -Wall -Werror -O3 -fstrict-aliasing -pipe + DEFCXXFLAGS = -Wall -O3 -pipe + DEFCFLAGS = -Wall -O3 -fstrict-aliasing -pipe DEFLDFLAGS = endif diff --git a/armsrc/Makefile b/armsrc/Makefile index 5f641884a..cc786b9a1 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -184,7 +184,7 @@ showinfo: # version_pm3.c should be checked on every time fullimage.stage1.elf should be remade version_pm3.c: default_version_pm3.c $(OBJDIR)/fpga_version_info.o $(OBJDIR)/fpga_all.o $(THUMBOBJ) $(ARMOBJ) .FORCE $(info [-] CHECK $@) - $(Q)$(SH) ../tools/mkversion.sh $@ || $(CP) $< $@ + $(Q)$(CP) $< $@ fpga_version_info.c: $(FPGA_BITSTREAMS) $(FPGA_COMPRESSOR) $(info [-] GEN $@) diff --git a/bootrom/Makefile b/bootrom/Makefile index b6825530d..86c785cd1 100644 --- a/bootrom/Makefile +++ b/bootrom/Makefile @@ -56,7 +56,7 @@ OBJS = $(OBJDIR)/bootrom.s19 # version_pm3.c should be checked on every compilation version_pm3.c: default_version_pm3.c .FORCE $(info [=] CHECK $@) - $(Q)$(SH) ../tools/mkversion.sh $@ || $(CP) $< $@ + $(Q)$(CP) $< $@ all: showinfo $(OBJS) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index db20bcb8b..0a4b79e1a 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -423,7 +423,7 @@ set (TARGET_SOURCES add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/version_pm3.c - COMMAND sh ${PM3_ROOT}/tools/mkversion.sh ${CMAKE_BINARY_DIR}/version_pm3.c || ${CMAKE_COMMAND} -E copy ${PM3_ROOT}/common/default_version_pm3.c ${CMAKE_BINARY_DIR}/version_pm3.c + COMMAND ${CMAKE_COMMAND} -E copy ${PM3_ROOT}/common/default_version_pm3.c ${CMAKE_BINARY_DIR}/version_pm3.c DEPENDS ${PM3_ROOT}/common/default_version_pm3.c ) @@ -682,7 +682,7 @@ add_executable(proxmark3 ${ADDITIONAL_SRC} ) -target_compile_options(proxmark3 PUBLIC -Wall -Werror -O3) +target_compile_options(proxmark3 PUBLIC -Wall -O3) if (EMBED_READLINE) if (NOT SKIPREADLINE EQUAL 1) add_dependencies(proxmark3 ncurses readline) diff --git a/client/Makefile b/client/Makefile index 10929ffca..08795854c 100644 --- a/client/Makefile +++ b/client/Makefile @@ -434,7 +434,7 @@ endif PM3CFLAGS += -DHAVE_SNPRINTF -CXXFLAGS ?= -Wall -Werror +CXXFLAGS ?= -Wall CXXFLAGS += $(MYDEFS) $(MYCXXFLAGS) $(MYINCLUDES) PM3CXXFLAGS = $(CXXFLAGS) @@ -959,7 +959,7 @@ src/pm3_pywrap.c: pm3.i # version_pm3.c should be checked on every compilation src/version_pm3.c: default_version_pm3.c .FORCE $(info [=] CHECK $@) - $(Q)$(SH) ../tools/mkversion.sh $@ || $(CP) $< $@ + $(Q)$(CP) $< $@ # easy printing of MAKE VARIABLES print-%: ; @echo $* = $($*) diff --git a/client/deps/amiibo.cmake b/client/deps/amiibo.cmake index c946c0682..8c524c170 100644 --- a/client/deps/amiibo.cmake +++ b/client/deps/amiibo.cmake @@ -19,7 +19,7 @@ target_link_libraries(pm3rrg_rdv4_amiibo PRIVATE m pm3rrg_rdv4_mbedtls) -target_compile_options(pm3rrg_rdv4_amiibo PRIVATE -Wall -Werror -O3) +target_compile_options(pm3rrg_rdv4_amiibo PRIVATE -Wall -O3) set_property(TARGET pm3rrg_rdv4_amiibo PROPERTY POSITION_INDEPENDENT_CODE ON) target_include_directories(pm3rrg_rdv4_amiibo PRIVATE amiitool diff --git a/client/deps/cliparser.cmake b/client/deps/cliparser.cmake index fccae33b7..a85cc2374 100644 --- a/client/deps/cliparser.cmake +++ b/client/deps/cliparser.cmake @@ -9,5 +9,5 @@ target_include_directories(pm3rrg_rdv4_cliparser PRIVATE ../../include ../src) target_include_directories(pm3rrg_rdv4_cliparser INTERFACE cliparser) -target_compile_options(pm3rrg_rdv4_cliparser PRIVATE -Wall -Werror -O3) +target_compile_options(pm3rrg_rdv4_cliparser PRIVATE -Wall -O3) set_property(TARGET pm3rrg_rdv4_cliparser PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/deps/hardnested.cmake b/client/deps/hardnested.cmake index ec545e2a8..468ee4ef2 100644 --- a/client/deps/hardnested.cmake +++ b/client/deps/hardnested.cmake @@ -2,7 +2,7 @@ add_library(pm3rrg_rdv4_hardnested_nosimd OBJECT hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) -target_compile_options(pm3rrg_rdv4_hardnested_nosimd PRIVATE -Wall -Werror -O3) +target_compile_options(pm3rrg_rdv4_hardnested_nosimd PRIVATE -Wall -O3) set_property(TARGET pm3rrg_rdv4_hardnested_nosimd PROPERTY POSITION_INDEPENDENT_CODE ON) target_include_directories(pm3rrg_rdv4_hardnested_nosimd PRIVATE @@ -32,7 +32,7 @@ if ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST X86_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_mmx PRIVATE -Wall -Werror -O3) + target_compile_options(pm3rrg_rdv4_hardnested_mmx PRIVATE -Wall -O3) target_compile_options(pm3rrg_rdv4_hardnested_mmx BEFORE PRIVATE -mmmx -mno-sse2 -mno-avx -mno-avx2 -mno-avx512f) set_property(TARGET pm3rrg_rdv4_hardnested_mmx PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -47,7 +47,7 @@ if ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST X86_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_sse2 PRIVATE -Wall -Werror -O3) + target_compile_options(pm3rrg_rdv4_hardnested_sse2 PRIVATE -Wall -O3) target_compile_options(pm3rrg_rdv4_hardnested_sse2 BEFORE PRIVATE -mmmx -msse2 -mno-avx -mno-avx2 -mno-avx512f) set_property(TARGET pm3rrg_rdv4_hardnested_sse2 PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -62,7 +62,7 @@ if ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST X86_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_avx PRIVATE -Wall -Werror -O3) + target_compile_options(pm3rrg_rdv4_hardnested_avx PRIVATE -Wall -O3) target_compile_options(pm3rrg_rdv4_hardnested_avx BEFORE PRIVATE -mmmx -msse2 -mavx -mno-avx2 -mno-avx512f) set_property(TARGET pm3rrg_rdv4_hardnested_avx PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -77,7 +77,7 @@ if ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST X86_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_avx2 PRIVATE -Wall -Werror -O3) + target_compile_options(pm3rrg_rdv4_hardnested_avx2 PRIVATE -Wall -O3) target_compile_options(pm3rrg_rdv4_hardnested_avx2 BEFORE PRIVATE -mmmx -msse2 -mavx -mavx2 -mno-avx512f) set_property(TARGET pm3rrg_rdv4_hardnested_avx2 PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -92,7 +92,7 @@ if ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST X86_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_avx512 PRIVATE -Wall -Werror -O3) + target_compile_options(pm3rrg_rdv4_hardnested_avx512 PRIVATE -Wall -O3) target_compile_options(pm3rrg_rdv4_hardnested_avx512 BEFORE PRIVATE -mmmx -msse2 -mavx -mavx2 -mavx512f) set_property(TARGET pm3rrg_rdv4_hardnested_avx512 PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -116,7 +116,7 @@ elseif ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST ARM64_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_neon PRIVATE -Wall -Werror -O3) + target_compile_options(pm3rrg_rdv4_hardnested_neon PRIVATE -Wall -O3) set_property(TARGET pm3rrg_rdv4_hardnested_neon PROPERTY POSITION_INDEPENDENT_CODE ON) target_include_directories(pm3rrg_rdv4_hardnested_neon PRIVATE @@ -134,7 +134,7 @@ elseif ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST ARM32_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_neon PRIVATE -Wall -Werror -O3) + target_compile_options(pm3rrg_rdv4_hardnested_neon PRIVATE -Wall -O3) target_compile_options(pm3rrg_rdv4_hardnested_neon BEFORE PRIVATE -mfpu=neon) set_property(TARGET pm3rrg_rdv4_hardnested_neon PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -155,7 +155,7 @@ add_library(pm3rrg_rdv4_hardnested STATIC hardnested/hardnested_bruteforce.c $ ${SIMD_TARGETS}) -target_compile_options(pm3rrg_rdv4_hardnested PRIVATE -Wall -Werror -O3) +target_compile_options(pm3rrg_rdv4_hardnested PRIVATE -Wall -O3) set_property(TARGET pm3rrg_rdv4_hardnested PROPERTY POSITION_INDEPENDENT_CODE ON) target_include_directories(pm3rrg_rdv4_hardnested PRIVATE ../../common diff --git a/client/deps/jansson.cmake b/client/deps/jansson.cmake index c91a47047..42c701d5e 100644 --- a/client/deps/jansson.cmake +++ b/client/deps/jansson.cmake @@ -14,5 +14,5 @@ add_library(pm3rrg_rdv4_jansson STATIC target_compile_definitions(pm3rrg_rdv4_jansson PRIVATE HAVE_STDINT_H) target_include_directories(pm3rrg_rdv4_jansson INTERFACE jansson) -target_compile_options(pm3rrg_rdv4_jansson PRIVATE -Wall -Werror -Wno-unused-function -O3) +target_compile_options(pm3rrg_rdv4_jansson PRIVATE -Wall -Wno-unused-function -O3) set_property(TARGET pm3rrg_rdv4_jansson PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/deps/lua.cmake b/client/deps/lua.cmake index 12870342e..5cf33d724 100644 --- a/client/deps/lua.cmake +++ b/client/deps/lua.cmake @@ -52,5 +52,5 @@ if (NOT MINGW) endif (NOT MINGW) target_include_directories(pm3rrg_rdv4_lua INTERFACE liblua) -target_compile_options(pm3rrg_rdv4_lua PRIVATE -Wall -Werror -O3) +target_compile_options(pm3rrg_rdv4_lua PRIVATE -Wall -O3) set_property(TARGET pm3rrg_rdv4_lua PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/deps/mbedtls.cmake b/client/deps/mbedtls.cmake index c1ab8d880..9d06b1c96 100644 --- a/client/deps/mbedtls.cmake +++ b/client/deps/mbedtls.cmake @@ -48,5 +48,5 @@ add_library(pm3rrg_rdv4_mbedtls STATIC target_include_directories(pm3rrg_rdv4_mbedtls PRIVATE ../../common) target_include_directories(pm3rrg_rdv4_mbedtls INTERFACE ../../common/mbedtls) -target_compile_options(pm3rrg_rdv4_mbedtls PRIVATE -Wall -Werror -O3) +target_compile_options(pm3rrg_rdv4_mbedtls PRIVATE -Wall -O3) set_property(TARGET pm3rrg_rdv4_mbedtls PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/deps/reveng.cmake b/client/deps/reveng.cmake index d7e3cfd8a..1040730f1 100644 --- a/client/deps/reveng.cmake +++ b/client/deps/reveng.cmake @@ -13,5 +13,5 @@ target_include_directories(pm3rrg_rdv4_reveng PRIVATE ../src ../../include) target_include_directories(pm3rrg_rdv4_reveng INTERFACE reveng) -target_compile_options(pm3rrg_rdv4_reveng PRIVATE -Wall -Werror -O3) +target_compile_options(pm3rrg_rdv4_reveng PRIVATE -Wall -O3) set_property(TARGET pm3rrg_rdv4_reveng PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/deps/tinycbor.cmake b/client/deps/tinycbor.cmake index 5a6abda25..c74618149 100644 --- a/client/deps/tinycbor.cmake +++ b/client/deps/tinycbor.cmake @@ -11,5 +11,5 @@ add_library(pm3rrg_rdv4_tinycbor STATIC target_include_directories(pm3rrg_rdv4_tinycbor INTERFACE tinycbor) # Strange errors on Mingw when compiling with -O3 -target_compile_options(pm3rrg_rdv4_tinycbor PRIVATE -Wall -Werror -O2) +target_compile_options(pm3rrg_rdv4_tinycbor PRIVATE -Wall -O2) set_property(TARGET pm3rrg_rdv4_tinycbor PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/deps/whereami.cmake b/client/deps/whereami.cmake index d2d6a5b2a..721873066 100644 --- a/client/deps/whereami.cmake +++ b/client/deps/whereami.cmake @@ -2,5 +2,5 @@ add_library(pm3rrg_rdv4_whereami STATIC whereami/whereami.c) target_compile_definitions(pm3rrg_rdv4_whereami PRIVATE WAI_PM3_TUNED) target_include_directories(pm3rrg_rdv4_whereami INTERFACE whereami) -target_compile_options(pm3rrg_rdv4_whereami PRIVATE -Wall -Werror -O3) +target_compile_options(pm3rrg_rdv4_whereami PRIVATE -Wall -O3) set_property(TARGET pm3rrg_rdv4_whereami PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/experimental_lib/CMakeLists.txt b/client/experimental_lib/CMakeLists.txt index 6935534f6..334cf3794 100644 --- a/client/experimental_lib/CMakeLists.txt +++ b/client/experimental_lib/CMakeLists.txt @@ -424,7 +424,7 @@ set (TARGET_SOURCES add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/version_pm3.c - COMMAND sh ${PM3_ROOT}/tools/mkversion.sh ${CMAKE_BINARY_DIR}/version_pm3.c || ${CMAKE_COMMAND} -E copy ${PM3_ROOT}/common/default_version_pm3.c ${CMAKE_BINARY_DIR}/version_pm3.c + COMMAND ${CMAKE_COMMAND} -E copy ${PM3_ROOT}/common/default_version_pm3.c ${CMAKE_BINARY_DIR}/version_pm3.c DEPENDS ${PM3_ROOT}/common/default_version_pm3.c ) diff --git a/client/src/proxmark3.c b/client/src/proxmark3.c index 8dc359425..e10df8098 100644 --- a/client/src/proxmark3.c +++ b/client/src/proxmark3.c @@ -42,7 +42,7 @@ static int mainret = PM3_ESOFT; #ifndef LIBPM3 #define BANNERMSG1 "" #define BANNERMSG2 " [ :coffee: ]" -#define BANNERMSG3 "" +#define BANNERMSG3 "Release v4.18218 - DEFCON is Cancelled" typedef enum LogoMode { UTF8, ANSI, ASCII } LogoMode; diff --git a/common/default_version_pm3.c b/common/default_version_pm3.c index d93a7ef15..009a76dad 100644 --- a/common/default_version_pm3.c +++ b/common/default_version_pm3.c @@ -1,20 +1,5 @@ -//----------------------------------------------------------------------------- -// Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// See LICENSE.txt for the text of the license. -//----------------------------------------------------------------------------- #include "common.h" -/* This is the default version_pm3.c file that Makefile.common falls back to if sh is not available */ +/* Generated file, do not edit */ #ifndef ON_DEVICE #define SECTVERSINFO #else @@ -23,10 +8,10 @@ const struct version_information_t SECTVERSINFO g_version_information = { VERSION_INFORMATION_MAGIC, - 1, /* version 1 */ - 0, /* version information not present */ - 2, /* cleanliness couldn't be determined */ - "Iceman/master/unknown", - "1970-01-01 00:00:00", - "no sha256" + 1, + 1, + 2, + "Iceman/master/v4.18218", + "2024-02-18 20:53:52", + "0c9b909e7" }; diff --git a/common_arm/Makefile.common b/common_arm/Makefile.common index 18d931b46..3c01c9a2e 100644 --- a/common_arm/Makefile.common +++ b/common_arm/Makefile.common @@ -49,7 +49,7 @@ VPATH = . ../common_arm ../common ../common/crapto1 ../common/mbedtls ../common/ INCLUDES = ../include/proxmark3_arm.h ../include/at91sam7s512.h ../include/config_gpio.h ../include/pm3_cmd.h ARMCFLAGS = -mthumb-interwork -fno-builtin -DEFCFLAGS = -Wall -Werror -Os -pedantic -fstrict-aliasing -pipe +DEFCFLAGS = -Wall -Os -pedantic -fstrict-aliasing -pipe # Some more warnings we want as errors: DEFCFLAGS += -Wbad-function-cast -Wchar-subscripts -Wundef -Wunused -Wuninitialized -Wpointer-arith -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Wnested-externs -Wempty-body -Wignored-qualifiers -Wmissing-field-initializers -Wtype-limits From ac46d81244607dc0967f2dbb69cc5dec0647a740 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 18 Feb 2024 20:53:52 +0100 Subject: [PATCH 5/6] Revert "Release v4.18218 - DEFCON is Cancelled" This reverts commit 8b6d8cbb79a775dae9b466fb0fb560bf7d20e4fa. --- Makefile.defs | 4 ++-- armsrc/Makefile | 2 +- bootrom/Makefile | 2 +- client/CMakeLists.txt | 4 ++-- client/Makefile | 4 ++-- client/deps/amiibo.cmake | 2 +- client/deps/cliparser.cmake | 2 +- client/deps/hardnested.cmake | 18 ++++++++-------- client/deps/jansson.cmake | 2 +- client/deps/lua.cmake | 2 +- client/deps/mbedtls.cmake | 2 +- client/deps/reveng.cmake | 2 +- client/deps/tinycbor.cmake | 2 +- client/deps/whereami.cmake | 2 +- client/experimental_lib/CMakeLists.txt | 2 +- client/src/proxmark3.c | 2 +- common/default_version_pm3.c | 29 +++++++++++++++++++------- common_arm/Makefile.common | 2 +- 18 files changed, 50 insertions(+), 35 deletions(-) diff --git a/Makefile.defs b/Makefile.defs index aadb1a98b..1ef2aa09d 100644 --- a/Makefile.defs +++ b/Makefile.defs @@ -112,8 +112,8 @@ ifeq ($(DEBUG),1) DEFCFLAGS = -g -O0 -fstrict-aliasing -pipe DEFLDFLAGS = else - DEFCXXFLAGS = -Wall -O3 -pipe - DEFCFLAGS = -Wall -O3 -fstrict-aliasing -pipe + DEFCXXFLAGS = -Wall -Werror -O3 -pipe + DEFCFLAGS = -Wall -Werror -O3 -fstrict-aliasing -pipe DEFLDFLAGS = endif diff --git a/armsrc/Makefile b/armsrc/Makefile index cc786b9a1..5f641884a 100644 --- a/armsrc/Makefile +++ b/armsrc/Makefile @@ -184,7 +184,7 @@ showinfo: # version_pm3.c should be checked on every time fullimage.stage1.elf should be remade version_pm3.c: default_version_pm3.c $(OBJDIR)/fpga_version_info.o $(OBJDIR)/fpga_all.o $(THUMBOBJ) $(ARMOBJ) .FORCE $(info [-] CHECK $@) - $(Q)$(CP) $< $@ + $(Q)$(SH) ../tools/mkversion.sh $@ || $(CP) $< $@ fpga_version_info.c: $(FPGA_BITSTREAMS) $(FPGA_COMPRESSOR) $(info [-] GEN $@) diff --git a/bootrom/Makefile b/bootrom/Makefile index 86c785cd1..b6825530d 100644 --- a/bootrom/Makefile +++ b/bootrom/Makefile @@ -56,7 +56,7 @@ OBJS = $(OBJDIR)/bootrom.s19 # version_pm3.c should be checked on every compilation version_pm3.c: default_version_pm3.c .FORCE $(info [=] CHECK $@) - $(Q)$(CP) $< $@ + $(Q)$(SH) ../tools/mkversion.sh $@ || $(CP) $< $@ all: showinfo $(OBJS) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 0a4b79e1a..db20bcb8b 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -423,7 +423,7 @@ set (TARGET_SOURCES add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/version_pm3.c - COMMAND ${CMAKE_COMMAND} -E copy ${PM3_ROOT}/common/default_version_pm3.c ${CMAKE_BINARY_DIR}/version_pm3.c + COMMAND sh ${PM3_ROOT}/tools/mkversion.sh ${CMAKE_BINARY_DIR}/version_pm3.c || ${CMAKE_COMMAND} -E copy ${PM3_ROOT}/common/default_version_pm3.c ${CMAKE_BINARY_DIR}/version_pm3.c DEPENDS ${PM3_ROOT}/common/default_version_pm3.c ) @@ -682,7 +682,7 @@ add_executable(proxmark3 ${ADDITIONAL_SRC} ) -target_compile_options(proxmark3 PUBLIC -Wall -O3) +target_compile_options(proxmark3 PUBLIC -Wall -Werror -O3) if (EMBED_READLINE) if (NOT SKIPREADLINE EQUAL 1) add_dependencies(proxmark3 ncurses readline) diff --git a/client/Makefile b/client/Makefile index 08795854c..10929ffca 100644 --- a/client/Makefile +++ b/client/Makefile @@ -434,7 +434,7 @@ endif PM3CFLAGS += -DHAVE_SNPRINTF -CXXFLAGS ?= -Wall +CXXFLAGS ?= -Wall -Werror CXXFLAGS += $(MYDEFS) $(MYCXXFLAGS) $(MYINCLUDES) PM3CXXFLAGS = $(CXXFLAGS) @@ -959,7 +959,7 @@ src/pm3_pywrap.c: pm3.i # version_pm3.c should be checked on every compilation src/version_pm3.c: default_version_pm3.c .FORCE $(info [=] CHECK $@) - $(Q)$(CP) $< $@ + $(Q)$(SH) ../tools/mkversion.sh $@ || $(CP) $< $@ # easy printing of MAKE VARIABLES print-%: ; @echo $* = $($*) diff --git a/client/deps/amiibo.cmake b/client/deps/amiibo.cmake index 8c524c170..c946c0682 100644 --- a/client/deps/amiibo.cmake +++ b/client/deps/amiibo.cmake @@ -19,7 +19,7 @@ target_link_libraries(pm3rrg_rdv4_amiibo PRIVATE m pm3rrg_rdv4_mbedtls) -target_compile_options(pm3rrg_rdv4_amiibo PRIVATE -Wall -O3) +target_compile_options(pm3rrg_rdv4_amiibo PRIVATE -Wall -Werror -O3) set_property(TARGET pm3rrg_rdv4_amiibo PROPERTY POSITION_INDEPENDENT_CODE ON) target_include_directories(pm3rrg_rdv4_amiibo PRIVATE amiitool diff --git a/client/deps/cliparser.cmake b/client/deps/cliparser.cmake index a85cc2374..fccae33b7 100644 --- a/client/deps/cliparser.cmake +++ b/client/deps/cliparser.cmake @@ -9,5 +9,5 @@ target_include_directories(pm3rrg_rdv4_cliparser PRIVATE ../../include ../src) target_include_directories(pm3rrg_rdv4_cliparser INTERFACE cliparser) -target_compile_options(pm3rrg_rdv4_cliparser PRIVATE -Wall -O3) +target_compile_options(pm3rrg_rdv4_cliparser PRIVATE -Wall -Werror -O3) set_property(TARGET pm3rrg_rdv4_cliparser PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/deps/hardnested.cmake b/client/deps/hardnested.cmake index 468ee4ef2..ec545e2a8 100644 --- a/client/deps/hardnested.cmake +++ b/client/deps/hardnested.cmake @@ -2,7 +2,7 @@ add_library(pm3rrg_rdv4_hardnested_nosimd OBJECT hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) -target_compile_options(pm3rrg_rdv4_hardnested_nosimd PRIVATE -Wall -O3) +target_compile_options(pm3rrg_rdv4_hardnested_nosimd PRIVATE -Wall -Werror -O3) set_property(TARGET pm3rrg_rdv4_hardnested_nosimd PROPERTY POSITION_INDEPENDENT_CODE ON) target_include_directories(pm3rrg_rdv4_hardnested_nosimd PRIVATE @@ -32,7 +32,7 @@ if ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST X86_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_mmx PRIVATE -Wall -O3) + target_compile_options(pm3rrg_rdv4_hardnested_mmx PRIVATE -Wall -Werror -O3) target_compile_options(pm3rrg_rdv4_hardnested_mmx BEFORE PRIVATE -mmmx -mno-sse2 -mno-avx -mno-avx2 -mno-avx512f) set_property(TARGET pm3rrg_rdv4_hardnested_mmx PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -47,7 +47,7 @@ if ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST X86_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_sse2 PRIVATE -Wall -O3) + target_compile_options(pm3rrg_rdv4_hardnested_sse2 PRIVATE -Wall -Werror -O3) target_compile_options(pm3rrg_rdv4_hardnested_sse2 BEFORE PRIVATE -mmmx -msse2 -mno-avx -mno-avx2 -mno-avx512f) set_property(TARGET pm3rrg_rdv4_hardnested_sse2 PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -62,7 +62,7 @@ if ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST X86_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_avx PRIVATE -Wall -O3) + target_compile_options(pm3rrg_rdv4_hardnested_avx PRIVATE -Wall -Werror -O3) target_compile_options(pm3rrg_rdv4_hardnested_avx BEFORE PRIVATE -mmmx -msse2 -mavx -mno-avx2 -mno-avx512f) set_property(TARGET pm3rrg_rdv4_hardnested_avx PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -77,7 +77,7 @@ if ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST X86_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_avx2 PRIVATE -Wall -O3) + target_compile_options(pm3rrg_rdv4_hardnested_avx2 PRIVATE -Wall -Werror -O3) target_compile_options(pm3rrg_rdv4_hardnested_avx2 BEFORE PRIVATE -mmmx -msse2 -mavx -mavx2 -mno-avx512f) set_property(TARGET pm3rrg_rdv4_hardnested_avx2 PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -92,7 +92,7 @@ if ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST X86_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_avx512 PRIVATE -Wall -O3) + target_compile_options(pm3rrg_rdv4_hardnested_avx512 PRIVATE -Wall -Werror -O3) target_compile_options(pm3rrg_rdv4_hardnested_avx512 BEFORE PRIVATE -mmmx -msse2 -mavx -mavx2 -mavx512f) set_property(TARGET pm3rrg_rdv4_hardnested_avx512 PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -116,7 +116,7 @@ elseif ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST ARM64_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_neon PRIVATE -Wall -O3) + target_compile_options(pm3rrg_rdv4_hardnested_neon PRIVATE -Wall -Werror -O3) set_property(TARGET pm3rrg_rdv4_hardnested_neon PROPERTY POSITION_INDEPENDENT_CODE ON) target_include_directories(pm3rrg_rdv4_hardnested_neon PRIVATE @@ -134,7 +134,7 @@ elseif ("${CMAKE_SYSTEM_PROCESSOR}" IN_LIST ARM32_CPUS) hardnested/hardnested_bf_core.c hardnested/hardnested_bitarray_core.c) - target_compile_options(pm3rrg_rdv4_hardnested_neon PRIVATE -Wall -O3) + target_compile_options(pm3rrg_rdv4_hardnested_neon PRIVATE -Wall -Werror -O3) target_compile_options(pm3rrg_rdv4_hardnested_neon BEFORE PRIVATE -mfpu=neon) set_property(TARGET pm3rrg_rdv4_hardnested_neon PROPERTY POSITION_INDEPENDENT_CODE ON) @@ -155,7 +155,7 @@ add_library(pm3rrg_rdv4_hardnested STATIC hardnested/hardnested_bruteforce.c $ ${SIMD_TARGETS}) -target_compile_options(pm3rrg_rdv4_hardnested PRIVATE -Wall -O3) +target_compile_options(pm3rrg_rdv4_hardnested PRIVATE -Wall -Werror -O3) set_property(TARGET pm3rrg_rdv4_hardnested PROPERTY POSITION_INDEPENDENT_CODE ON) target_include_directories(pm3rrg_rdv4_hardnested PRIVATE ../../common diff --git a/client/deps/jansson.cmake b/client/deps/jansson.cmake index 42c701d5e..c91a47047 100644 --- a/client/deps/jansson.cmake +++ b/client/deps/jansson.cmake @@ -14,5 +14,5 @@ add_library(pm3rrg_rdv4_jansson STATIC target_compile_definitions(pm3rrg_rdv4_jansson PRIVATE HAVE_STDINT_H) target_include_directories(pm3rrg_rdv4_jansson INTERFACE jansson) -target_compile_options(pm3rrg_rdv4_jansson PRIVATE -Wall -Wno-unused-function -O3) +target_compile_options(pm3rrg_rdv4_jansson PRIVATE -Wall -Werror -Wno-unused-function -O3) set_property(TARGET pm3rrg_rdv4_jansson PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/deps/lua.cmake b/client/deps/lua.cmake index 5cf33d724..12870342e 100644 --- a/client/deps/lua.cmake +++ b/client/deps/lua.cmake @@ -52,5 +52,5 @@ if (NOT MINGW) endif (NOT MINGW) target_include_directories(pm3rrg_rdv4_lua INTERFACE liblua) -target_compile_options(pm3rrg_rdv4_lua PRIVATE -Wall -O3) +target_compile_options(pm3rrg_rdv4_lua PRIVATE -Wall -Werror -O3) set_property(TARGET pm3rrg_rdv4_lua PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/deps/mbedtls.cmake b/client/deps/mbedtls.cmake index 9d06b1c96..c1ab8d880 100644 --- a/client/deps/mbedtls.cmake +++ b/client/deps/mbedtls.cmake @@ -48,5 +48,5 @@ add_library(pm3rrg_rdv4_mbedtls STATIC target_include_directories(pm3rrg_rdv4_mbedtls PRIVATE ../../common) target_include_directories(pm3rrg_rdv4_mbedtls INTERFACE ../../common/mbedtls) -target_compile_options(pm3rrg_rdv4_mbedtls PRIVATE -Wall -O3) +target_compile_options(pm3rrg_rdv4_mbedtls PRIVATE -Wall -Werror -O3) set_property(TARGET pm3rrg_rdv4_mbedtls PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/deps/reveng.cmake b/client/deps/reveng.cmake index 1040730f1..d7e3cfd8a 100644 --- a/client/deps/reveng.cmake +++ b/client/deps/reveng.cmake @@ -13,5 +13,5 @@ target_include_directories(pm3rrg_rdv4_reveng PRIVATE ../src ../../include) target_include_directories(pm3rrg_rdv4_reveng INTERFACE reveng) -target_compile_options(pm3rrg_rdv4_reveng PRIVATE -Wall -O3) +target_compile_options(pm3rrg_rdv4_reveng PRIVATE -Wall -Werror -O3) set_property(TARGET pm3rrg_rdv4_reveng PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/deps/tinycbor.cmake b/client/deps/tinycbor.cmake index c74618149..5a6abda25 100644 --- a/client/deps/tinycbor.cmake +++ b/client/deps/tinycbor.cmake @@ -11,5 +11,5 @@ add_library(pm3rrg_rdv4_tinycbor STATIC target_include_directories(pm3rrg_rdv4_tinycbor INTERFACE tinycbor) # Strange errors on Mingw when compiling with -O3 -target_compile_options(pm3rrg_rdv4_tinycbor PRIVATE -Wall -O2) +target_compile_options(pm3rrg_rdv4_tinycbor PRIVATE -Wall -Werror -O2) set_property(TARGET pm3rrg_rdv4_tinycbor PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/deps/whereami.cmake b/client/deps/whereami.cmake index 721873066..d2d6a5b2a 100644 --- a/client/deps/whereami.cmake +++ b/client/deps/whereami.cmake @@ -2,5 +2,5 @@ add_library(pm3rrg_rdv4_whereami STATIC whereami/whereami.c) target_compile_definitions(pm3rrg_rdv4_whereami PRIVATE WAI_PM3_TUNED) target_include_directories(pm3rrg_rdv4_whereami INTERFACE whereami) -target_compile_options(pm3rrg_rdv4_whereami PRIVATE -Wall -O3) +target_compile_options(pm3rrg_rdv4_whereami PRIVATE -Wall -Werror -O3) set_property(TARGET pm3rrg_rdv4_whereami PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/client/experimental_lib/CMakeLists.txt b/client/experimental_lib/CMakeLists.txt index 334cf3794..6935534f6 100644 --- a/client/experimental_lib/CMakeLists.txt +++ b/client/experimental_lib/CMakeLists.txt @@ -424,7 +424,7 @@ set (TARGET_SOURCES add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/version_pm3.c - COMMAND ${CMAKE_COMMAND} -E copy ${PM3_ROOT}/common/default_version_pm3.c ${CMAKE_BINARY_DIR}/version_pm3.c + COMMAND sh ${PM3_ROOT}/tools/mkversion.sh ${CMAKE_BINARY_DIR}/version_pm3.c || ${CMAKE_COMMAND} -E copy ${PM3_ROOT}/common/default_version_pm3.c ${CMAKE_BINARY_DIR}/version_pm3.c DEPENDS ${PM3_ROOT}/common/default_version_pm3.c ) diff --git a/client/src/proxmark3.c b/client/src/proxmark3.c index e10df8098..8dc359425 100644 --- a/client/src/proxmark3.c +++ b/client/src/proxmark3.c @@ -42,7 +42,7 @@ static int mainret = PM3_ESOFT; #ifndef LIBPM3 #define BANNERMSG1 "" #define BANNERMSG2 " [ :coffee: ]" -#define BANNERMSG3 "Release v4.18218 - DEFCON is Cancelled" +#define BANNERMSG3 "" typedef enum LogoMode { UTF8, ANSI, ASCII } LogoMode; diff --git a/common/default_version_pm3.c b/common/default_version_pm3.c index 009a76dad..d93a7ef15 100644 --- a/common/default_version_pm3.c +++ b/common/default_version_pm3.c @@ -1,5 +1,20 @@ +//----------------------------------------------------------------------------- +// Copyright (C) Proxmark3 contributors. See AUTHORS.md for details. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// See LICENSE.txt for the text of the license. +//----------------------------------------------------------------------------- #include "common.h" -/* Generated file, do not edit */ +/* This is the default version_pm3.c file that Makefile.common falls back to if sh is not available */ #ifndef ON_DEVICE #define SECTVERSINFO #else @@ -8,10 +23,10 @@ const struct version_information_t SECTVERSINFO g_version_information = { VERSION_INFORMATION_MAGIC, - 1, - 1, - 2, - "Iceman/master/v4.18218", - "2024-02-18 20:53:52", - "0c9b909e7" + 1, /* version 1 */ + 0, /* version information not present */ + 2, /* cleanliness couldn't be determined */ + "Iceman/master/unknown", + "1970-01-01 00:00:00", + "no sha256" }; diff --git a/common_arm/Makefile.common b/common_arm/Makefile.common index 3c01c9a2e..18d931b46 100644 --- a/common_arm/Makefile.common +++ b/common_arm/Makefile.common @@ -49,7 +49,7 @@ VPATH = . ../common_arm ../common ../common/crapto1 ../common/mbedtls ../common/ INCLUDES = ../include/proxmark3_arm.h ../include/at91sam7s512.h ../include/config_gpio.h ../include/pm3_cmd.h ARMCFLAGS = -mthumb-interwork -fno-builtin -DEFCFLAGS = -Wall -Os -pedantic -fstrict-aliasing -pipe +DEFCFLAGS = -Wall -Werror -Os -pedantic -fstrict-aliasing -pipe # Some more warnings we want as errors: DEFCFLAGS += -Wbad-function-cast -Wchar-subscripts -Wundef -Wunused -Wuninitialized -Wpointer-arith -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Wnested-externs -Wempty-body -Wignored-qualifiers -Wmissing-field-initializers -Wtype-limits From 829131513791fb74d191d5b146cf85fc7ae533f7 Mon Sep 17 00:00:00 2001 From: iceman1001 Date: Sun, 18 Feb 2024 20:55:42 +0100 Subject: [PATCH 6/6] release text --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c8242c245..c8074d767 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac ## [unreleased][unreleased] -## [DEFCON is Cancelled][2024-02-18] +## [DEFCON is Cancelled.4.18218][2024-02-18] - Changed `hf fudan dump --ns` - now supports nosave flag (@iceman1001) - Added `lf em 410x --electra` - adds two extra blocks. Thanks jareckib (@iceman1001) - Changed `hf mfu info` - now identifies UL-AES correct (@iceman1001)