From 8936f9988680dd9b7584750bbcdcaad13210fbe4 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Sun, 22 Feb 2026 01:47:47 +0100 Subject: [PATCH] hitag2crack fixes for some archs --- tools/hitag2crack/crack2/ht2crack2buildtable.c | 4 ++-- tools/hitag2crack/crack3/ht2crack3.c | 4 ++-- tools/hitag2crack/crack5/ht2crack5.c | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/tools/hitag2crack/crack2/ht2crack2buildtable.c b/tools/hitag2crack/crack2/ht2crack2buildtable.c index 02273e680..81916a76a 100644 --- a/tools/hitag2crack/crack2/ht2crack2buildtable.c +++ b/tools/hitag2crack/crack2/ht2crack2buildtable.c @@ -276,7 +276,7 @@ static void jumpnsteps(Hitag_State *hstate, int table) { static void *buildtable(void *dd) { Hitag_State hstate; Hitag_State hstate2; - unsigned long maxentries = 1; + unsigned long long maxentries = 1ULL; int index = (int)(long)dd; int tnum = NUM_BUILD_THREADS; @@ -303,7 +303,7 @@ static void *buildtable(void *dd) { } /* make the entries */ - for (unsigned long i = 0; i < maxentries; i++) { + for (unsigned long long i = 0; i < maxentries; i++) { // copy the current state hstate2.shiftreg = hstate.shiftreg; diff --git a/tools/hitag2crack/crack3/ht2crack3.c b/tools/hitag2crack/crack3/ht2crack3.c index 3b4b73eea..009e8be62 100644 --- a/tools/hitag2crack/crack3/ht2crack3.c +++ b/tools/hitag2crack/crack3/ht2crack3.c @@ -273,7 +273,7 @@ static void *crack(void *d) { printf("\n\nSuccess - key = %012"PRIx64"\n", foundkey); exit(0); - return (void *)foundkey; + return NULL; } } @@ -405,7 +405,7 @@ int main(int argc, char *argv[]) { } printf("thread %i finished\n", i); if (status) { - printf("Key = %012"PRIx64"\n", (uint64_t)status); + printf("Key = %012"PRIx64"\n", *(uint64_t *)status); exit(0); } } diff --git a/tools/hitag2crack/crack5/ht2crack5.c b/tools/hitag2crack/crack5/ht2crack5.c index ec9ed45a4..928a7048b 100644 --- a/tools/hitag2crack/crack5/ht2crack5.c +++ b/tools/hitag2crack/crack5/ht2crack5.c @@ -18,6 +18,7 @@ #include #include #include +#include #include "ht2crackutils.h" const uint8_t bits[9] = {20, 14, 4, 3, 1, 1, 1, 1, 1}; @@ -202,7 +203,7 @@ int main(int argc, char *argv[]) { } static void *find_state(void *thread_d) { - uint64_t thread = (uint64_t)thread_d; + uint64_t thread = (uintptr_t)thread_d; for (uint64_t index = thread; index < layer_0_found; index += thread_count) {