RRG-Proxmark3/tools/hitag2crack/crack5opencl
2024-08-29 12:27:11 +02:00
..
.gitignore add crack5opencl 2021-01-13 23:37:10 +01:00
dolphin_macro.h crack5opencl: Fix MEMORY_FREE_ALL macro, fix segfault 2024-01-23 15:10:07 +01:00
hitag2.c style 2024-04-22 09:36:42 +02:00
hitag2.h cppcheck fixes 2022-01-08 15:02:16 +01:00
ht2crack5opencl_kernel.cl style 2024-04-22 09:36:42 +02:00
ht2crack5opencl.c fix unused warning 2024-05-28 09:52:27 +02:00
ht2crack5opencl.h add crack5opencl 2021-01-13 23:37:10 +01:00
Makefile add crack5opencl 2021-01-13 23:37:10 +01:00
opencl.c fixes and textual 2024-08-29 12:27:11 +02:00
opencl.h cppcheck fix const 2022-01-06 21:53:39 +01:00
queue.c use calloc instead 2022-01-09 00:33:33 +01:00
queue.h move thread scheduler threads.c, move opencl engine in opencl.c, minor fixes 2021-01-16 01:08:30 +01:00
README.md hitag2crack text 2021-04-09 15:24:18 +02:00
threads.c crack5opencl: Fix various printf compilation errors when enabling debug macros 2024-01-23 15:10:47 +01:00
threads.h cleanup 2021-04-09 15:42:06 +02:00

ht2crack5opencl

Build

It requires an OpenCL framework.

If required, edit Makefile and adjust INCLUDE and LIBS directives to your setup.

make clean
make

Run

You'll need just two nR aR pairs. These are the encrypted nonces and challenge response values. They should be in hex.

./ht2crack5opencl <UID> <nR1> <aR1> <nR2> <aR2>

UID is the UID of the tag that you used to gather the nR aR values.

Usage:

$ ./ht2crack5opencl
./ht2crack5opencl [options] {UID} {nR1} {aR1} {nR2} {aR2}

Options:
-p     : select OpenCL Platform(s). Multiple allowed (1,2,3,etc.). [Default: all]
-d     : select OpenCL Device(s). Multiple allowed (1,2,3,etc.). [Default: all]
-D     : select OpenCL Device Type. 0: GPU, 1: CPU, 2: all. [Default: GPU]
-S     : select the thread scheduler type. 0: sequential, 1: asynchronous. [Default 1]
-P     : select the Profile, from 0 to 10. [Default: auto-tuning]
-F     : force verify key with OpenCL instead of CPU. [Default: disabled]
-Q     : select queue engine. 0: forward, 1: reverse, 2: random. [Default: 0]
-s     : show the list of OpenCL platforms/devices, then exit
-V     : enable debug messages
-v     : show the version
-h     : show this help

Example,

simple

./ht2crack5opencl 2ab12bf2 4B71E49D 6A606453 D79BD94B 16A2255B

select devices 1, 2 and 3 using platform 1 and 2, with random queue engine:

./ht2crack5opencl -D 2 -Q 2 -p 1,2 -d 1,2,3 2ab12bf2 4B71E49D 6A606453 D79BD94B 16A2255B

You can find the correct OpenCL Platform ID (-p) and Device ID (-d) with:

./ht2crack5opencl -s