- solved TODOs in hc_fstat()
- fix memory leaks on Metal Backend
- using HC_OCL_CREATEBUFFER macro for buffer allocation and openclMemoryFlags array to configure the memory flags with OpenCL
- convert lasts CL_FALSE to CL_TRUE in hc_clEnqueueWriteBuffer() calls
- hide pyenv stderr on test_edge.sh
- do not allow --slow-candidates (-S) in benchmark mode
Fix deprecation warning on m30906.pm
Fix pipeline error with -m 32600 on Apple
Update edge_test.sh
Fix edge test vectors generation for hash-type 28501, 28502, 28503, 28504, 28505, 28506
On backend.c
- Hide 'Runtime returned CL_KERNEL_WORK_GROUP_SIZE ...' with --machine-readable
On test_edge.sh
- Skip attack types other than Straight with hash types with attack exec outside kernel by default
- Override the previous skip with --allow-all-attacks options
- Fix inconsistent error messages
- Add attack exec filter with -A
- Skip output check for hash-types 14000, 14100 and 22000
- Add execution time at the end of tests
- Add errors counter and show a message at the end of tests
Hashcat is evolving, both in its core and in the supported algorithms.
To uncover bugs in the code, I implemented edge case testing to verify the settings defined in the specific algorithm test modules (e.g., m00000.pm), as well as the behavior of the kernels (pure and optimized) in relation to the different attack modes (-a0, -a1, etc.).