From f598ee82ae4f94aa3c548d2a4a7c5a87b26b3851 Mon Sep 17 00:00:00 2001 From: "Rick Farina (Zero_Chaos)" Date: Mon, 16 Jun 2025 11:03:47 -0400 Subject: [PATCH 1/2] proxmark3: add 4.20469 --- net-wireless/proxmark3/Manifest | 1 + .../proxmark3/proxmark3-4.20469.ebuild | 231 ++++++++++++++++++ profiles/pentoo/zero-system/profile.bashrc | 3 + 3 files changed, 235 insertions(+) create mode 100644 net-wireless/proxmark3/proxmark3-4.20469.ebuild diff --git a/net-wireless/proxmark3/Manifest b/net-wireless/proxmark3/Manifest index 72a2674cf..1ec2bd921 100644 --- a/net-wireless/proxmark3/Manifest +++ b/net-wireless/proxmark3/Manifest @@ -1,2 +1,3 @@ DIST proxmark3-4.18994.tar.gz 31699671 BLAKE2B fadc6e0829da27b295ed83857372bf16e1dfde35bee2d6fc63d8c9071d29df8d1a5b15a7fb29d8da064b6634b48e1d31f34be8afeb9a70ba6c5d4d48d6e0e41b SHA512 718809522036ebd0de880c7dc3cc9c291eac62d3d67061f6f22b7d07be4850c952b23299c45324d2537594227f787e242bcfa741c7050f416a4666aaf87e1c19 DIST proxmark3-4.20142.tar.gz 31953315 BLAKE2B 31e973af7d99029e64b80ca54f4dd142ec3e93d96699b21ac0ac3b9b7faddf513e092311ce17d81aef4a5eb3f003beb3f3cbb620b84578929ed3f3cfae4147bc SHA512 cee17dcf875cd6227dc867e688cdb81616f329a7d8e4c9755c73dcdf7ecbc87f5414b54eca8561412e799c1341e490ba64f3f60293acfeb4887f32ce45d22ac0 +DIST proxmark3-4.20469.tar.gz 34467290 BLAKE2B cb5d80d6d8273a079671d3b8c42ca8f32b73d7ecea617fcb82d9a4321b363fafc592390289db7fe0831fc103fa13e9aafa82ce0e4d787181bf88223675fb10fe SHA512 d796d954d8046da9e8040aec8d8d0a52c2d88169a41dc300cbab3462b7331398cd96853a50be7c6c49626c3ed7bad83adb986c577163daff5ac06c5adff9f661 diff --git a/net-wireless/proxmark3/proxmark3-4.20469.ebuild b/net-wireless/proxmark3/proxmark3-4.20469.ebuild new file mode 100644 index 000000000..393222190 --- /dev/null +++ b/net-wireless/proxmark3/proxmark3-4.20469.ebuild @@ -0,0 +1,231 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit udev toolchain-funcs + +if [ "${PV}" = "9999" ]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/RfidResearchGroup/proxmark3.git" + RESTRICT="strip" +else + #snapshot + #HASH_COMMIT="1ac5211601b50b82b41737dce0c3a72d9e0374ac" + #SRC_URI="https://github.com/RfidResearchGroup/${PN}/archive/${HASH_COMMIT}.tar.gz -> ${P}.tar.gz" + #S=${WORKDIR}/${PN}-${HASH_COMMIT} + + #or release + KEYWORDS="~amd64" + SRC_URI="https://github.com/RfidResearchGroup/proxmark3/archive/v${PV}.tar.gz -> ${P}.tar.gz" +fi +DESCRIPTION="A general purpose RFID tool for Proxmark3 hardware" +HOMEPAGE="https://github.com/RfidResearchGroup/proxmark3" + +LICENSE="GPL-3+" +SLOT="0" +IUSE="+bluez +firmware opencl +qt" + +CDEPEND=" + app-arch/bzip2 + app-arch/lz4:= + dev-libs/jansson:= + dev-libs/openssl:= + sys-libs/readline:= + media-libs/gd:2= + bluez? ( net-wireless/bluez:= ) + opencl? ( dev-libs/opencl-icd-loader ) + qt? ( dev-qt/qtcore:5 + dev-qt/qtwidgets:5 + dev-qt/qtgui:5 ) +" +DEPEND="${CDEPEND} + dev-util/opencl-headers +" +RDEPEND="${CDEPEND} + dev-python/ansicolors + dev-python/sslcrypto +" +#ncurses is basically just used for termcap +PDEPEND="sys-libs/ncurses:*[tinfo]" +BDEPEND="firmware? ( sys-devel/gcc-arm-none-eabi:0 )" + +QA_FLAGS_IGNORED="usr/share/proxmark3/firmware/bootrom.elf + usr/share/proxmark3/firmware/fullimage.elf + usr/share/proxmark3/firmware/PM3BOOTROM.elf + usr/share/proxmark3/firmware/PM3GENERIC_256.elf + usr/share/proxmark3/firmware/PM3GENERIC.elf + usr/share/proxmark3/firmware/PM3GENERIC_LFSKELETON.elf + usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100EMUL.elf + usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RSWB.elf + usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RSWW.elf + usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RWC.elf + usr/share/proxmark3/firmware/PM3GENERIC_LFHIDBRUTE.elf + usr/share/proxmark3/firmware/PM3GENERIC_LFMULTIHID.elf + usr/share/proxmark3/firmware/PM3GENERIC_LFNEDAP_SIM.elf + usr/share/proxmark3/firmware/PM3GENERIC_LFPROXBRUTE.elf + usr/share/proxmark3/firmware/PM3GENERIC_LFPROX2BRUTE.elf + usr/share/proxmark3/firmware/PM3GENERIC_LFSAMYRUN.elf + usr/share/proxmark3/firmware/PM3GENERIC_HF14ASNIFF.elf + usr/share/proxmark3/firmware/PM3GENERIC_HF14BSNIFF.elf + usr/share/proxmark3/firmware/PM3GENERIC_HF15SNIFF.elf + usr/share/proxmark3/firmware/PM3GENERIC_HF15SIM.elf + usr/share/proxmark3/firmware/PM3GENERIC_HFAVEFUL.elf + usr/share/proxmark3/firmware/PM3GENERIC_HFCRAFTBYTE.elf + usr/share/proxmark3/firmware/PM3GENERIC_HFLEGIC.elf + usr/share/proxmark3/firmware/PM3GENERIC_HFMATTYRUN.elf + usr/share/proxmark3/firmware/PM3GENERIC_HFMSDSAL.elf + usr/share/proxmark3/firmware/PM3GENERIC_HFTCPRST.elf + usr/share/proxmark3/firmware/PM3GENERIC_HFTMUDFORD.elf + usr/share/proxmark3/firmware/PM3GENERIC_HFUNISNIFF.elf + usr/share/proxmark3/firmware/PM3GENERIC_HFYOUNG.elf + usr/share/proxmark3/firmware/PM3GENERIC_DANKARMULTI.elf + usr/share/proxmark3/firmware/PM3RDV4.elf + usr/share/proxmark3/firmware/PM3RDV4_LFSKELETON.elf + usr/share/proxmark3/firmware/PM3RDV4_LFEM4100EMUL.elf + usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RSWB.elf + usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RSWW.elf + usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RWC.elf + usr/share/proxmark3/firmware/PM3RDV4_LFHIDBRUTE.elf + usr/share/proxmark3/firmware/PM3RDV4_LFHIDFCBRUTE.elf + usr/share/proxmark3/firmware/PM3RDV4_LFICEHID.elf + usr/share/proxmark3/firmware/PM3RDV4_LFMULTIHID.elf + usr/share/proxmark3/firmware/PM3RDV4_LFNEDAP_SIM.elf + usr/share/proxmark3/firmware/PM3RDV4_LFNEXID.elf + usr/share/proxmark3/firmware/PM3RDV4_LFPROXBRUTE.elf + usr/share/proxmark3/firmware/PM3RDV4_LFPROX2BRUTE.elf + usr/share/proxmark3/firmware/PM3RDV4_LFSAMYRUN.elf + usr/share/proxmark3/firmware/PM3RDV4_LFTHAREXDE.elf + usr/share/proxmark3/firmware/PM3RDV4_HF14ASNIFF.elf + usr/share/proxmark3/firmware/PM3RDV4_HF14BSNIFF.elf + usr/share/proxmark3/firmware/PM3RDV4_HF15SNIFF.elf + usr/share/proxmark3/firmware/PM3RDV4_HF15SIM.elf + usr/share/proxmark3/firmware/PM3RDV4_HFAVEFUL.elf + usr/share/proxmark3/firmware/PM3RDV4_HFBOG.elf + usr/share/proxmark3/firmware/PM3RDV4_HFCOLIN.elf + usr/share/proxmark3/firmware/PM3RDV4_HFCRAFTBYTE.elf + usr/share/proxmark3/firmware/PM3RDV4_HFICECLASS.elf + usr/share/proxmark3/firmware/PM3RDV4_HFLEGIC.elf + usr/share/proxmark3/firmware/PM3RDV4_HFLEGICSIM.elf + usr/share/proxmark3/firmware/PM3RDV4_HFMATTYRUN.elf + usr/share/proxmark3/firmware/PM3RDV4_HFMFCSIM.elf + usr/share/proxmark3/firmware/PM3RDV4_HFMSDSAL.elf + usr/share/proxmark3/firmware/PM3RDV4_HFTCPRST.elf + usr/share/proxmark3/firmware/PM3RDV4_HFTMUDFORD.elf + usr/share/proxmark3/firmware/PM3RDV4_HFUNISNIFF.elf + usr/share/proxmark3/firmware/PM3RDV4_HFYOUNG.elf + usr/share/proxmark3/firmware/PM3RDV4_DANKARMULTI.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFSKELETON.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100EMUL.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RSWB.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RSWW.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RWC.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFHIDBRUTE.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFHIDFCBRUTE.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFICEHID.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFMULTIHID.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFNEDAP_SIM.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFNEXID.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFPROXBRUTE.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFPROX2BRUTE.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFSAMYRUN.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFTHAREXDE.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF14ASNIFF.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF14BSNIFF.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF15SNIFF.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF15SIM.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFAVEFUL.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFBOG.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCARDHOPPER.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCOLIN.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCRAFTBYTE.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFICECLASS.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFLEGIC.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFLEGICSIM.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMATTYRUN.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMFCSIM.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMSDSAL.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFREBLAY.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFTCPRST.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFTMUDFORD.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFUNISNIFF.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFYOUNG.elf + usr/share/proxmark3/firmware/PM3RDV4_BTADDON_DANKARMULTI.elf +" + +src_prepare(){ + default + build_time=$(date '+%Y-%m-%d %H:%M:%S') + sed -i "s#\"\$ctime\",#\"${build_time}\",#" tools/mkversion.sh || die +} + +src_compile(){ + export PREFIX=/usr + #verbose + export V=1 + #common flags + EMAKE_COMMON=CC="$(tc-getCC)" DEFCFLAGS="${CFLAGS}" MYCFLAGS="${CFLAGS}" + EMAKE_COMMON+= MYCXXFLAGS="${CXXFLAGS}" MYLDFLAGS="${LDFLAGS}" + use bluez || export SKIPBT=1 + use qt || export SKIPQT=1 + use opencl || export SKIPOPENCL=1 + if use firmware; then + #prevent repeat cleaning of things which were never built + sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C recovery clean/d' Makefile || die + sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C client clean/d' Makefile || die + #prevent rebuilding fpga_compress for every firmware + sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C tools\/fpga_compress clean/d' Makefile || die + DEST="firmware" MKFLAGS="${MAKEOPTS} ${EMAKE_COMMON}" ./tools/build_all_firmwares.sh || die + # We removed the auto cleans for speed so we have to do it once manually + emake clean + fi + # If we wanted firmware we built it in USE=firmware + sed -i 's#bootrom/% armsrc/% recovery/%##' Makefile || die + emake ${EMAKE_COMMON} all hitag2crack +} + +src_install(){ + export PREFIX=/usr + export DESTDIR="${ED}" + # hitag2crack needs it's own DESTDIR variable? + export MYDESTDIR="${ED}" + export UDEV_PREFIX="$(get_udevdir)/rules.d" + export INSTALLDOCSRELPATH="/share/doc/${PF}" + emake INSTALLDOCSRELPATH="/share/doc/${PF}" install hitag2crack/install + if use firmware; then + insinto /usr/share/${PN} + doins -r "${S}"/firmware + ln -s ./PM3BOOTROM.elf "${ED}/usr/share/${PN}/firmware/bootrom.elf" + ln -s ./PM3GENERIC_256.elf "${ED}/usr/share/${PN}/firmware/proxmark3_recovery.bin" + ln -s ./PM3GENERIC.elf "${ED}/usr/share/${PN}/firmware/fullimage.elf" + fi +} + +src_test() { + # Because of building all firmware the some files end up in a different location with a different name + sed -i -e 's#bootrom/obj/bootrom.elf#firmware/PM3BOOTROM.elf#' \ + -e 's#recovery/proxmark3_recovery.bin#firmware/PM3GENERIC_256.elf#' \ + -e 's#armsrc/obj/fullimage.elf#firmware/PM3GENERIC.elf#' tools/pm3_tests.sh || die + # This isn't installed and was removed by "make clean" after firmware build + sed -i '/if ! CheckFileExist "fpgacompress exists"/d' tools/pm3_tests.sh || die + if use firmware; then + ./tools/pm3_tests.sh --long || die + else + ./tools/pm3_tests.sh --long client || die + fi + # Opencl stuff doesn't work as the portage user + #if use opencl; then + # ./tools/pm3_tests.sh --long --opencl hitag2crack || die + #else + ./tools/pm3_tests.sh --long hitag2crack || die + #fi +} + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/profiles/pentoo/zero-system/profile.bashrc b/profiles/pentoo/zero-system/profile.bashrc index 1fde3db5f..06b4aed33 100644 --- a/profiles/pentoo/zero-system/profile.bashrc +++ b/profiles/pentoo/zero-system/profile.bashrc @@ -88,6 +88,9 @@ if [[ ${CATEGORY}/${PN} == net-misc/lksctp-tools ]]; then export CFLAGS="${CFLAGS/-fhardened/}" fi # No hardened warnings +if [[ ${CATEGORY}/${PN} == net-wireless/proxmark3 ]]; then + export CFLAGS="${CFLAGS} -Wno-hardened" +fi if [[ ${CATEGORY}/${PN} == dev-libs/apr-util ]]; then export CFLAGS="${CFLAGS} -Wno-hardened" fi From 00a10933cf31a535db5230715c28b27b56dc4c83 Mon Sep 17 00:00:00 2001 From: "Rick Farina (Zero_Chaos)" Date: Mon, 16 Jun 2025 11:04:23 -0400 Subject: [PATCH 2/2] proxmark3: drop 4.18994 --- net-wireless/proxmark3/Manifest | 1 - .../proxmark3/proxmark3-4.18994.ebuild | 231 ------------------ 2 files changed, 232 deletions(-) delete mode 100644 net-wireless/proxmark3/proxmark3-4.18994.ebuild diff --git a/net-wireless/proxmark3/Manifest b/net-wireless/proxmark3/Manifest index 1ec2bd921..e5f757a56 100644 --- a/net-wireless/proxmark3/Manifest +++ b/net-wireless/proxmark3/Manifest @@ -1,3 +1,2 @@ -DIST proxmark3-4.18994.tar.gz 31699671 BLAKE2B fadc6e0829da27b295ed83857372bf16e1dfde35bee2d6fc63d8c9071d29df8d1a5b15a7fb29d8da064b6634b48e1d31f34be8afeb9a70ba6c5d4d48d6e0e41b SHA512 718809522036ebd0de880c7dc3cc9c291eac62d3d67061f6f22b7d07be4850c952b23299c45324d2537594227f787e242bcfa741c7050f416a4666aaf87e1c19 DIST proxmark3-4.20142.tar.gz 31953315 BLAKE2B 31e973af7d99029e64b80ca54f4dd142ec3e93d96699b21ac0ac3b9b7faddf513e092311ce17d81aef4a5eb3f003beb3f3cbb620b84578929ed3f3cfae4147bc SHA512 cee17dcf875cd6227dc867e688cdb81616f329a7d8e4c9755c73dcdf7ecbc87f5414b54eca8561412e799c1341e490ba64f3f60293acfeb4887f32ce45d22ac0 DIST proxmark3-4.20469.tar.gz 34467290 BLAKE2B cb5d80d6d8273a079671d3b8c42ca8f32b73d7ecea617fcb82d9a4321b363fafc592390289db7fe0831fc103fa13e9aafa82ce0e4d787181bf88223675fb10fe SHA512 d796d954d8046da9e8040aec8d8d0a52c2d88169a41dc300cbab3462b7331398cd96853a50be7c6c49626c3ed7bad83adb986c577163daff5ac06c5adff9f661 diff --git a/net-wireless/proxmark3/proxmark3-4.18994.ebuild b/net-wireless/proxmark3/proxmark3-4.18994.ebuild deleted file mode 100644 index 393222190..000000000 --- a/net-wireless/proxmark3/proxmark3-4.18994.ebuild +++ /dev/null @@ -1,231 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit udev toolchain-funcs - -if [ "${PV}" = "9999" ]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/RfidResearchGroup/proxmark3.git" - RESTRICT="strip" -else - #snapshot - #HASH_COMMIT="1ac5211601b50b82b41737dce0c3a72d9e0374ac" - #SRC_URI="https://github.com/RfidResearchGroup/${PN}/archive/${HASH_COMMIT}.tar.gz -> ${P}.tar.gz" - #S=${WORKDIR}/${PN}-${HASH_COMMIT} - - #or release - KEYWORDS="~amd64" - SRC_URI="https://github.com/RfidResearchGroup/proxmark3/archive/v${PV}.tar.gz -> ${P}.tar.gz" -fi -DESCRIPTION="A general purpose RFID tool for Proxmark3 hardware" -HOMEPAGE="https://github.com/RfidResearchGroup/proxmark3" - -LICENSE="GPL-3+" -SLOT="0" -IUSE="+bluez +firmware opencl +qt" - -CDEPEND=" - app-arch/bzip2 - app-arch/lz4:= - dev-libs/jansson:= - dev-libs/openssl:= - sys-libs/readline:= - media-libs/gd:2= - bluez? ( net-wireless/bluez:= ) - opencl? ( dev-libs/opencl-icd-loader ) - qt? ( dev-qt/qtcore:5 - dev-qt/qtwidgets:5 - dev-qt/qtgui:5 ) -" -DEPEND="${CDEPEND} - dev-util/opencl-headers -" -RDEPEND="${CDEPEND} - dev-python/ansicolors - dev-python/sslcrypto -" -#ncurses is basically just used for termcap -PDEPEND="sys-libs/ncurses:*[tinfo]" -BDEPEND="firmware? ( sys-devel/gcc-arm-none-eabi:0 )" - -QA_FLAGS_IGNORED="usr/share/proxmark3/firmware/bootrom.elf - usr/share/proxmark3/firmware/fullimage.elf - usr/share/proxmark3/firmware/PM3BOOTROM.elf - usr/share/proxmark3/firmware/PM3GENERIC_256.elf - usr/share/proxmark3/firmware/PM3GENERIC.elf - usr/share/proxmark3/firmware/PM3GENERIC_LFSKELETON.elf - usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100EMUL.elf - usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RSWB.elf - usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RSWW.elf - usr/share/proxmark3/firmware/PM3GENERIC_LFEM4100RWC.elf - usr/share/proxmark3/firmware/PM3GENERIC_LFHIDBRUTE.elf - usr/share/proxmark3/firmware/PM3GENERIC_LFMULTIHID.elf - usr/share/proxmark3/firmware/PM3GENERIC_LFNEDAP_SIM.elf - usr/share/proxmark3/firmware/PM3GENERIC_LFPROXBRUTE.elf - usr/share/proxmark3/firmware/PM3GENERIC_LFPROX2BRUTE.elf - usr/share/proxmark3/firmware/PM3GENERIC_LFSAMYRUN.elf - usr/share/proxmark3/firmware/PM3GENERIC_HF14ASNIFF.elf - usr/share/proxmark3/firmware/PM3GENERIC_HF14BSNIFF.elf - usr/share/proxmark3/firmware/PM3GENERIC_HF15SNIFF.elf - usr/share/proxmark3/firmware/PM3GENERIC_HF15SIM.elf - usr/share/proxmark3/firmware/PM3GENERIC_HFAVEFUL.elf - usr/share/proxmark3/firmware/PM3GENERIC_HFCRAFTBYTE.elf - usr/share/proxmark3/firmware/PM3GENERIC_HFLEGIC.elf - usr/share/proxmark3/firmware/PM3GENERIC_HFMATTYRUN.elf - usr/share/proxmark3/firmware/PM3GENERIC_HFMSDSAL.elf - usr/share/proxmark3/firmware/PM3GENERIC_HFTCPRST.elf - usr/share/proxmark3/firmware/PM3GENERIC_HFTMUDFORD.elf - usr/share/proxmark3/firmware/PM3GENERIC_HFUNISNIFF.elf - usr/share/proxmark3/firmware/PM3GENERIC_HFYOUNG.elf - usr/share/proxmark3/firmware/PM3GENERIC_DANKARMULTI.elf - usr/share/proxmark3/firmware/PM3RDV4.elf - usr/share/proxmark3/firmware/PM3RDV4_LFSKELETON.elf - usr/share/proxmark3/firmware/PM3RDV4_LFEM4100EMUL.elf - usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RSWB.elf - usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RSWW.elf - usr/share/proxmark3/firmware/PM3RDV4_LFEM4100RWC.elf - usr/share/proxmark3/firmware/PM3RDV4_LFHIDBRUTE.elf - usr/share/proxmark3/firmware/PM3RDV4_LFHIDFCBRUTE.elf - usr/share/proxmark3/firmware/PM3RDV4_LFICEHID.elf - usr/share/proxmark3/firmware/PM3RDV4_LFMULTIHID.elf - usr/share/proxmark3/firmware/PM3RDV4_LFNEDAP_SIM.elf - usr/share/proxmark3/firmware/PM3RDV4_LFNEXID.elf - usr/share/proxmark3/firmware/PM3RDV4_LFPROXBRUTE.elf - usr/share/proxmark3/firmware/PM3RDV4_LFPROX2BRUTE.elf - usr/share/proxmark3/firmware/PM3RDV4_LFSAMYRUN.elf - usr/share/proxmark3/firmware/PM3RDV4_LFTHAREXDE.elf - usr/share/proxmark3/firmware/PM3RDV4_HF14ASNIFF.elf - usr/share/proxmark3/firmware/PM3RDV4_HF14BSNIFF.elf - usr/share/proxmark3/firmware/PM3RDV4_HF15SNIFF.elf - usr/share/proxmark3/firmware/PM3RDV4_HF15SIM.elf - usr/share/proxmark3/firmware/PM3RDV4_HFAVEFUL.elf - usr/share/proxmark3/firmware/PM3RDV4_HFBOG.elf - usr/share/proxmark3/firmware/PM3RDV4_HFCOLIN.elf - usr/share/proxmark3/firmware/PM3RDV4_HFCRAFTBYTE.elf - usr/share/proxmark3/firmware/PM3RDV4_HFICECLASS.elf - usr/share/proxmark3/firmware/PM3RDV4_HFLEGIC.elf - usr/share/proxmark3/firmware/PM3RDV4_HFLEGICSIM.elf - usr/share/proxmark3/firmware/PM3RDV4_HFMATTYRUN.elf - usr/share/proxmark3/firmware/PM3RDV4_HFMFCSIM.elf - usr/share/proxmark3/firmware/PM3RDV4_HFMSDSAL.elf - usr/share/proxmark3/firmware/PM3RDV4_HFTCPRST.elf - usr/share/proxmark3/firmware/PM3RDV4_HFTMUDFORD.elf - usr/share/proxmark3/firmware/PM3RDV4_HFUNISNIFF.elf - usr/share/proxmark3/firmware/PM3RDV4_HFYOUNG.elf - usr/share/proxmark3/firmware/PM3RDV4_DANKARMULTI.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFSKELETON.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100EMUL.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RSWB.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RSWW.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFEM4100RWC.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFHIDBRUTE.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFHIDFCBRUTE.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFICEHID.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFMULTIHID.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFNEDAP_SIM.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFNEXID.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFPROXBRUTE.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFPROX2BRUTE.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFSAMYRUN.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_LFTHAREXDE.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF14ASNIFF.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF14BSNIFF.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF15SNIFF.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HF15SIM.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFAVEFUL.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFBOG.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCARDHOPPER.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCOLIN.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFCRAFTBYTE.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFICECLASS.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFLEGIC.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFLEGICSIM.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMATTYRUN.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMFCSIM.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFMSDSAL.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFREBLAY.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFTCPRST.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFTMUDFORD.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFUNISNIFF.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_HFYOUNG.elf - usr/share/proxmark3/firmware/PM3RDV4_BTADDON_DANKARMULTI.elf -" - -src_prepare(){ - default - build_time=$(date '+%Y-%m-%d %H:%M:%S') - sed -i "s#\"\$ctime\",#\"${build_time}\",#" tools/mkversion.sh || die -} - -src_compile(){ - export PREFIX=/usr - #verbose - export V=1 - #common flags - EMAKE_COMMON=CC="$(tc-getCC)" DEFCFLAGS="${CFLAGS}" MYCFLAGS="${CFLAGS}" - EMAKE_COMMON+= MYCXXFLAGS="${CXXFLAGS}" MYLDFLAGS="${LDFLAGS}" - use bluez || export SKIPBT=1 - use qt || export SKIPQT=1 - use opencl || export SKIPOPENCL=1 - if use firmware; then - #prevent repeat cleaning of things which were never built - sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C recovery clean/d' Makefile || die - sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C client clean/d' Makefile || die - #prevent rebuilding fpga_compress for every firmware - sed -i '/\$(Q)\$(MAKE) \-\-no-print-directory \-C tools\/fpga_compress clean/d' Makefile || die - DEST="firmware" MKFLAGS="${MAKEOPTS} ${EMAKE_COMMON}" ./tools/build_all_firmwares.sh || die - # We removed the auto cleans for speed so we have to do it once manually - emake clean - fi - # If we wanted firmware we built it in USE=firmware - sed -i 's#bootrom/% armsrc/% recovery/%##' Makefile || die - emake ${EMAKE_COMMON} all hitag2crack -} - -src_install(){ - export PREFIX=/usr - export DESTDIR="${ED}" - # hitag2crack needs it's own DESTDIR variable? - export MYDESTDIR="${ED}" - export UDEV_PREFIX="$(get_udevdir)/rules.d" - export INSTALLDOCSRELPATH="/share/doc/${PF}" - emake INSTALLDOCSRELPATH="/share/doc/${PF}" install hitag2crack/install - if use firmware; then - insinto /usr/share/${PN} - doins -r "${S}"/firmware - ln -s ./PM3BOOTROM.elf "${ED}/usr/share/${PN}/firmware/bootrom.elf" - ln -s ./PM3GENERIC_256.elf "${ED}/usr/share/${PN}/firmware/proxmark3_recovery.bin" - ln -s ./PM3GENERIC.elf "${ED}/usr/share/${PN}/firmware/fullimage.elf" - fi -} - -src_test() { - # Because of building all firmware the some files end up in a different location with a different name - sed -i -e 's#bootrom/obj/bootrom.elf#firmware/PM3BOOTROM.elf#' \ - -e 's#recovery/proxmark3_recovery.bin#firmware/PM3GENERIC_256.elf#' \ - -e 's#armsrc/obj/fullimage.elf#firmware/PM3GENERIC.elf#' tools/pm3_tests.sh || die - # This isn't installed and was removed by "make clean" after firmware build - sed -i '/if ! CheckFileExist "fpgacompress exists"/d' tools/pm3_tests.sh || die - if use firmware; then - ./tools/pm3_tests.sh --long || die - else - ./tools/pm3_tests.sh --long client || die - fi - # Opencl stuff doesn't work as the portage user - #if use opencl; then - # ./tools/pm3_tests.sh --long --opencl hitag2crack || die - #else - ./tools/pm3_tests.sh --long hitag2crack || die - #fi -} - -pkg_postinst() { - udev_reload -} - -pkg_postrm() { - udev_reload -}