1
0
mirror of https://github.com/hashcat/hashcat.git synced 2024-12-01 04:18:19 +00:00

Merge pull request #3810 from justpretending/typos

Fix some typos
This commit is contained in:
Jens Steube 2023-08-01 09:11:20 +02:00 committed by GitHub
commit 3a3e188607
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
72 changed files with 107 additions and 107 deletions

View File

@ -1187,7 +1187,7 @@ DECLSPEC void mul_mod128 (PRIVATE_AS u32 *x, PRIVATE_AS const u32 *y, PRIVATE_AS
t[62] += t[61] < p[125]; t[62] += t[61] < p[125];
t[63] += t[62] < p[126]; t[63] += t[62] < p[126];
// VERY IMPORTANT: if we have an overflow at the highest u32, we need to do the substraction // VERY IMPORTANT: if we have an overflow at the highest u32, we need to do the subtraction
const u32 c = t[63] < p[127]; // carry / overflow const u32 c = t[63] < p[127]; // carry / overflow

View File

@ -11,7 +11,7 @@
* *
* There are four variables where major differences occur: * There are four variables where major differences occur:
* *
* - P2: Adress space of kernel_rules_t struct. * - P2: Address space of kernel_rules_t struct.
* If the kernel uses rules_buf, it will be stored in CONSTANT_AS. * If the kernel uses rules_buf, it will be stored in CONSTANT_AS.
* If it does not, cheaper GLOBAL_AS space is used. * If it does not, cheaper GLOBAL_AS space is used.
* *

View File

@ -2024,7 +2024,7 @@ DECLSPEC void point_mul (PRIVATE_AS u32 *r, PRIVATE_AS const u32 *k, SECP256K1_T
* @param r out: x and y coordinates. * @param r out: x and y coordinates.
* @param x in: x coordinate which should be converted, a pointer to an u32 array with a size of 8. * @param x in: x coordinate which should be converted, a pointer to an u32 array with a size of 8.
* @param first_byte in: The parity of the y coordinate, a u32. * @param first_byte in: The parity of the y coordinate, a u32.
* @return Returns 0 if successfull, returns 1 if x is greater than the basepoint. * @return Returns 0 if successful, returns 1 if x is greater than the basepoint.
*/ */
DECLSPEC u32 transform_public (PRIVATE_AS secp256k1_t *r, PRIVATE_AS const u32 *x, const u32 first_byte) DECLSPEC u32 transform_public (PRIVATE_AS secp256k1_t *r, PRIVATE_AS const u32 *x, const u32 first_byte)
{ {
@ -2084,7 +2084,7 @@ DECLSPEC u32 transform_public (PRIVATE_AS secp256k1_t *r, PRIVATE_AS const u32 *
* Parse a x coordinate with leading parity to secp256k1_t. * Parse a x coordinate with leading parity to secp256k1_t.
* @param r out: x and y coordinates. * @param r out: x and y coordinates.
* @param k in: x coordinate which should be converted with leading parity, a pointer to an u32 array with a size of 9. * @param k in: x coordinate which should be converted with leading parity, a pointer to an u32 array with a size of 9.
* @return Returns 0 if successfull, returns 1 if x is greater than the basepoint or the parity has an unexpected value. * @return Returns 0 if successful, returns 1 if x is greater than the basepoint or the parity has an unexpected value.
*/ */
DECLSPEC u32 parse_public (PRIVATE_AS secp256k1_t *r, PRIVATE_AS const u32 *k) DECLSPEC u32 parse_public (PRIVATE_AS secp256k1_t *r, PRIVATE_AS const u32 *k)
{ {

View File

@ -339,7 +339,7 @@ DECLSPEC void SET_KEY32 (LOCAL_AS u32 *S, const u64 key, const u32 val)
#else #else
// access pattern: linear access with S offset already set to right offset based on thread ID saving it from compuation // access pattern: linear access with S offset already set to right offset based on thread ID saving it from computation
// makes sense if there are not thread ID's (for instance on CPU) // makes sense if there are not thread ID's (for instance on CPU)
DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key) DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key)

View File

@ -436,7 +436,7 @@ KERNEL_FQ void m08800_comp (KERN_ATTR_TMPS_ESALT (androidfde_tmp_t, androidfde_t
u32 r[16]; u32 r[16];
// not needed because of cbc mode -- implementation flaw !!. first 16 byte are not interessting // not needed because of cbc mode -- implementation flaw !!. first 16 bytes are not interesting
r[0] = 0; r[0] = 0;
r[1] = 0; r[1] = 0;

View File

@ -340,7 +340,7 @@ DECLSPEC void SET_KEY32 (LOCAL_AS u32 *S, const u64 key, const u32 val)
#else #else
// access pattern: linear access with S offset already set to right offset based on thread ID saving it from compuation // access pattern: linear access with S offset already set to right offset based on thread ID saving it from computation
// makes sense if there are not thread ID's (for instance on CPU) // makes sense if there are not thread ID's (for instance on CPU)
DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key) DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key)

View File

@ -323,7 +323,7 @@ DECLSPEC u32 do_round (LOCAL_AS u32 *sc, PRIVATE_AS const u32 *pw, const u32 pw_
make_sc (sc, pw, pw_len, ctx->dgst32, ctx->dgst_len); make_sc (sc, pw, pw_len, ctx->dgst32, ctx->dgst_len);
// make sure pwbl_len is calculcated before it gets changed // make sure pwbl_len is calculated before it gets changed
const u32 pwbl_len = pw_len + ctx->dgst_len; const u32 pwbl_len = pw_len + ctx->dgst_len;

View File

@ -39,7 +39,7 @@ typedef struct dpapimk
u32 SID_offset; u32 SID_offset;
/* here only for possible /* here only for possible
forward compatibiliy forward compatibility
*/ */
// u8 cipher_algo[16]; // u8 cipher_algo[16];
// u8 hash_algo[16]; // u8 hash_algo[16];

View File

@ -41,7 +41,7 @@ typedef struct dpapimk
u32 SID_offset; u32 SID_offset;
/* here only for possible /* here only for possible
forward compatibiliy forward compatibility
*/ */
// u8 cipher_algo[16]; // u8 cipher_algo[16];
// u8 hash_algo[16]; // u8 hash_algo[16];

View File

@ -40,7 +40,7 @@ typedef struct dpapimk
u32 SID_offset; u32 SID_offset;
/* here only for possible /* here only for possible
forward compatibiliy forward compatibility
*/ */
// u8 cipher_algo[16]; // u8 cipher_algo[16];
// u8 hash_algo[16]; // u8 hash_algo[16];

View File

@ -48,7 +48,7 @@ typedef struct dpapimk
u32 SID_offset; u32 SID_offset;
/* here only for possible /* here only for possible
forward compatibiliy forward compatibility
*/ */
// u8 cipher_algo[16]; // u8 cipher_algo[16];
// u8 hash_algo[16]; // u8 hash_algo[16];

View File

@ -350,7 +350,7 @@ DECLSPEC void SET_KEY32 (LOCAL_AS u32 *S, const u64 key, const u32 val)
#else #else
// access pattern: linear access with S offset already set to right offset based on thread ID saving it from compuation // access pattern: linear access with S offset already set to right offset based on thread ID saving it from computation
// makes sense if there are not thread ID's (for instance on CPU) // makes sense if there are not thread ID's (for instance on CPU)
DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key) DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key)

View File

@ -371,7 +371,7 @@ KERNEL_FQ void m25500_comp (KERN_ATTR_TMPS_ESALT (pbkdf2_sha256_tmp_t, pbkdf2_sh
*/ */
/* /*
// decrypt buffer is not usefull here, skip // decrypt buffer is not useful here, skip
u32 dec[14] = { 0 }; u32 dec[14] = { 0 };
AES_GCM_GCTR (key, J0, enc, enc_len, dec, s_te0, s_te1, s_te2, s_te3, s_te4); AES_GCM_GCTR (key, J0, enc, enc_len, dec, s_te0, s_te1, s_te2, s_te3, s_te4);

View File

@ -352,7 +352,7 @@ DECLSPEC void SET_KEY32 (LOCAL_AS u32 *S, const u64 key, const u32 val)
#else #else
// access pattern: linear access with S offset already set to right offset based on thread ID saving it from compuation // access pattern: linear access with S offset already set to right offset based on thread ID saving it from computation
// makes sense if there are not thread ID's (for instance on CPU) // makes sense if there are not thread ID's (for instance on CPU)
DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key) DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key)

View File

@ -348,7 +348,7 @@ DECLSPEC void SET_KEY32 (LOCAL_AS u32 *S, const u64 key, const u32 val, const u6
#else #else
// access pattern: linear access with S offset already set to right offset based on thread ID saving it from compuation // access pattern: linear access with S offset already set to right offset based on thread ID saving it from computation
// makes sense if there are not thread ID's (for instance on CPU) // makes sense if there are not thread ID's (for instance on CPU)
DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key, MAYBE_UNUSED const u64 lid) DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key, MAYBE_UNUSED const u64 lid)

View File

@ -381,7 +381,7 @@ KERNEL_FQ void m26610_comp (KERN_ATTR_TMPS_ESALT (pbkdf2_sha256_tmp_t, pbkdf2_sh
/* /*
const int pt_len = 28; // not using 32 byte but 28 because our UTF8 allows up to 4 byte per character and since we decrypt 32 byte const int pt_len = 28; // not using 32 byte but 28 because our UTF8 allows up to 4 byte per character and since we decrypt 32 byte
// only we can't garantee it is not in the middle of a UTF8 byte stream at that point // only we can't guarantee it is not in the middle of a UTF8 byte stream at that point
if (hc_enc_scan (pt, pt_len)) if (hc_enc_scan (pt, pt_len))
{ {

View File

@ -348,7 +348,7 @@ DECLSPEC void SET_KEY32 (LOCAL_AS u32 *S, const u64 key, const u32 val, const u6
#else #else
// access pattern: linear access with S offset already set to right offset based on thread ID saving it from compuation // access pattern: linear access with S offset already set to right offset based on thread ID saving it from computation
// makes sense if there are not thread ID's (for instance on CPU) // makes sense if there are not thread ID's (for instance on CPU)
DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key, MAYBE_UNUSED const u64 lid) DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key, MAYBE_UNUSED const u64 lid)

View File

@ -349,7 +349,7 @@ DECLSPEC void SET_KEY32 (LOCAL_AS u32 *S, const u64 key, const u32 val, const u6
#else #else
// access pattern: linear access with S offset already set to right offset based on thread ID saving it from compuation // access pattern: linear access with S offset already set to right offset based on thread ID saving it from computation
// makes sense if there are not thread ID's (for instance on CPU) // makes sense if there are not thread ID's (for instance on CPU)
DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key, MAYBE_UNUSED const u64 lid) DECLSPEC inline u32 GET_KEY32 (LOCAL_AS u32 *S, const u64 key, MAYBE_UNUSED const u64 lid)

View File

@ -429,7 +429,7 @@ KERNEL_FQ void m31800_comp (KERN_ATTR_TMPS_ESALT (pbkdf2_sha256_tmp_t, onepasswo
/* /*
const int pt_len = 28; // not using 32 byte but 28 because our UTF8 allows up to 4 byte per character and since we decrypt 32 byte const int pt_len = 28; // not using 32 byte but 28 because our UTF8 allows up to 4 byte per character and since we decrypt 32 byte
// only we can't garantee it is not in the middle of a UTF8 byte stream at that point // only we can't guarantee it is not in the middle of a UTF8 byte stream at that point
if (hc_enc_scan (pt, pt_len)) if (hc_enc_scan (pt, pt_len))
{ {

View File

@ -228,7 +228,7 @@
- Hardware Monitor: Add support for GPU device utilization readings using iokit on Apple Silicon (OpenCL and Metal) - Hardware Monitor: Add support for GPU device utilization readings using iokit on Apple Silicon (OpenCL and Metal)
- Hash Info: show more information (Updated Hash-Format. Added Autodetect, Self-Test, Potfile and Plaintext encoding) - Hash Info: show more information (Updated Hash-Format. Added Autodetect, Self-Test, Potfile and Plaintext encoding)
- HIP Backend: moved functions to ext_hip.c/ext_hiprtc.c and includes to ext_hip.h/ext_hiprtc.h - HIP Backend: moved functions to ext_hip.c/ext_hiprtc.c and includes to ext_hip.h/ext_hiprtc.h
- HIP Backend: removed unused functions from hiprtc to workaroung missing function symbols on windows dll - HIP Backend: removed unused functions from hiprtc to workaround missing function symbols on windows dll
- Kernels: Refactored standard kernel declaration to use a structure holding u32/u64 attributes to reduce the number of attributes - Kernels: Refactored standard kernel declaration to use a structure holding u32/u64 attributes to reduce the number of attributes
- Kernels: Refactored standard kernel includes, KERN_ATTR macros and RC4 cipher functions, in order to support Apple Metal runtime - Kernels: Refactored standard kernel includes, KERN_ATTR macros and RC4 cipher functions, in order to support Apple Metal runtime
- Kernels: Set the default Address Space Qualifier for any pointer, in order to support Apple Metal runtime - Kernels: Set the default Address Space Qualifier for any pointer, in order to support Apple Metal runtime
@ -254,7 +254,7 @@
- Rules: Add support to include source wordlist in debugging format - Rules: Add support to include source wordlist in debugging format
- Rules: Update hand-written rulesets to covers years up to 2029 - Rules: Update hand-written rulesets to covers years up to 2029
- Status code: updated negative status code (added kernel create failure and resync) - Status code: updated negative status code (added kernel create failure and resync)
- Status code: updated negative status code, usefull in Unit tests engine (test.sh) - Status code: updated negative status code, useful in Unit tests engine (test.sh)
- Terminal: Increased size of hash name column in `--help` and `--identify` options - Terminal: Increased size of hash name column in `--help` and `--identify` options
- Terminal: Limit output length of example hash in --example-hash mode to 200. Use --mach to see full example hash - Terminal: Limit output length of example hash in --example-hash mode to 200. Use --mach to see full example hash
- Terminal: show empty OpenCL platforms only in backend information mode - Terminal: show empty OpenCL platforms only in backend information mode
@ -666,7 +666,7 @@
- Building: Fixed build warnings on macOS for unrar sources - Building: Fixed build warnings on macOS for unrar sources
- Building: Fixed test for DARWIN_VERSION in Makefile - Building: Fixed test for DARWIN_VERSION in Makefile
- Commandline Options: Removed option --example-hashes, now an alias of --hash-info - Commandline Options: Removed option --example-hashes, now an alias of --hash-info
- Compute API: Skipping devices instead of stop if error occured in initialization - Compute API: Skipping devices instead of stop if error occurred in initialization
- Documentation: Added 3rd party licenses to docs/license_libs - Documentation: Added 3rd party licenses to docs/license_libs
- Hash-Mode 8900 (Scrypt): Changed default benchmark scrypt parameters from 1k:1:1 to 16k:8:1 (default) - Hash-Mode 8900 (Scrypt): Changed default benchmark scrypt parameters from 1k:1:1 to 16k:8:1 (default)
- Hash-Mode 11600 (7-Zip): Improved memory handling (alloc and free) for the hook function - Hash-Mode 11600 (7-Zip): Improved memory handling (alloc and free) for the hook function
@ -732,7 +732,7 @@
- Hcchr Files: Renamed some .charset files into .hcchr files - Hcchr Files: Renamed some .charset files into .hcchr files
- Hash-Mode 21200 (md5(sha1($salt).md5($pass))): Improved speed by using pre-computed SHA1 - Hash-Mode 21200 (md5(sha1($salt).md5($pass))): Improved speed by using pre-computed SHA1
- OpenCL Devices: Utilize PCI domain to improve alias device detection - OpenCL Devices: Utilize PCI domain to improve alias device detection
- OpenCL Kernels: Added datatypes to literals of enum costants - OpenCL Kernels: Added datatypes to literals of enum constants
- OpenCL Kernels: Added pure kernels for hash-mode 600 (BLAKE2b-512) - OpenCL Kernels: Added pure kernels for hash-mode 600 (BLAKE2b-512)
- OpenCL Runtime: Add some unstable warnings for some SHA512 based algorithms on AMD GPU on macOS - OpenCL Runtime: Add some unstable warnings for some SHA512 based algorithms on AMD GPU on macOS
- OpenCL Runtime: Reinterpret return code CL_DEVICE_NOT_FOUND from clGetDeviceIDs() as non-fatal - OpenCL Runtime: Reinterpret return code CL_DEVICE_NOT_FOUND from clGetDeviceIDs() as non-fatal
@ -865,7 +865,7 @@
- Bitcoin Wallet: Be more user friendly by allowing a larger data range for ckey and public_key - Bitcoin Wallet: Be more user friendly by allowing a larger data range for ckey and public_key
- Brain: Added new parameter --brain-server-timer to specify seconds between scheduled backups - Brain: Added new parameter --brain-server-timer to specify seconds between scheduled backups
- Building: Fix for library compilation failure due to multiple defenition of sbob_xx64() - Building: Fix for library compilation failure due to multiple definition of sbob_xx64()
- Cracking bcrypt and Password Safe v2: Use feedback from the compute API backend to dynamically calculate optimal thread count - Cracking bcrypt and Password Safe v2: Use feedback from the compute API backend to dynamically calculate optimal thread count
- Dictstat: On Windows, the st_ino attribute in the stat struct is not set, which can lead to invalid cache hits. Added the filename to the database entry. - Dictstat: On Windows, the st_ino attribute in the stat struct is not set, which can lead to invalid cache hits. Added the filename to the database entry.
- Documents: Added README on how to build hashcat on Cygwin, MSYS2 and WSL - Documents: Added README on how to build hashcat on Cygwin, MSYS2 and WSL
@ -903,7 +903,7 @@
## Technical ## Technical
## ##
- Backend Interface: Added new options --backend-ignore-cuda and --backend-ingore-opencl to prevent CUDA and/or OpenCL API from being used - Backend Interface: Added new options --backend-ignore-cuda and --backend-ignore-opencl to prevent CUDA and/or OpenCL API from being used
- Binary Distribution: Removed 32-bit binary executables - Binary Distribution: Removed 32-bit binary executables
- Building: On macOS, switch from ar to /usr/bin/ar to improve building compatibility - Building: On macOS, switch from ar to /usr/bin/ar to improve building compatibility
- Building: Skipping Travis/Appveyor build for non-code changes - Building: Skipping Travis/Appveyor build for non-code changes
@ -1261,7 +1261,7 @@
- Added option --optimized-kernel-enable to use faster kernels but limit the maximum supported password- and salt-length - Added option --optimized-kernel-enable to use faster kernels but limit the maximum supported password- and salt-length
- Added self-test functionality to detect broken OpenCL runtimes on startup - Added self-test functionality to detect broken OpenCL runtimes on startup
- Added option --self-test-disable to disable self-test functionality on startup - Added option --self-test-disable to disable self-test functionality on startup
- Added option --wordlist-autohex-disable to disable the automatical conversion of $HEX[] words from the word list - Added option --wordlist-autohex-disable to disable the automatic conversion of $HEX[] words from the word list
- Added option --example-hashes to show an example hash for each hash-mode - Added option --example-hashes to show an example hash for each hash-mode
- Removed option --weak-hash-check (zero-length password check) to increase startup time, it also causes many Trap 6 error on macOS - Removed option --weak-hash-check (zero-length password check) to increase startup time, it also causes many Trap 6 error on macOS
@ -1278,7 +1278,7 @@
- Fixed a buffer overflow in mangle_dupechar_last function - Fixed a buffer overflow in mangle_dupechar_last function
- Fixed a calculation error in get_power() leading to errors of type "BUG pw_add()!!" - Fixed a calculation error in get_power() leading to errors of type "BUG pw_add()!!"
- Fixed a memory problem that occured when the OpenCL folder was not found and e.g. the shared and session folder were the same - Fixed a memory problem that occurred when the OpenCL folder was not found and e.g. the shared and session folder were the same
- Fixed a missing barrier() call in the RACF OpenCL kernel - Fixed a missing barrier() call in the RACF OpenCL kernel
- Fixed a missing salt length value in benchmark mode for SIP - Fixed a missing salt length value in benchmark mode for SIP
- Fixed an integer overflow in hash buffer size calculation - Fixed an integer overflow in hash buffer size calculation
@ -1463,7 +1463,7 @@
- Added support for filtering hccapx message pairs using --hccapx-message-pair - Added support for filtering hccapx message pairs using --hccapx-message-pair
- Added support for parsing 7-Zip hashes with LZMA/LZMA2 compression indicator set to a non-zero value - Added support for parsing 7-Zip hashes with LZMA/LZMA2 compression indicator set to a non-zero value
- Added support for decompressing LZMA1/LZMA2 data for -m 11600 = 7-Zip to validate the CRC - Added support for decompressing LZMA1/LZMA2 data for -m 11600 = 7-Zip to validate the CRC
- Added support for automatic merge of LM halfes in case --show and --left is used - Added support for automatic merge of LM halves in case --show and --left is used
- Added support for showing all user names with --show and --left if --username was specified - Added support for showing all user names with --show and --left if --username was specified
- Added support for GPU temperature management on cygwin build - Added support for GPU temperature management on cygwin build
@ -1538,7 +1538,7 @@
- Hardware Management: Bring back kernel exec timeout detection for NVidia on user request - Hardware Management: Bring back kernel exec timeout detection for NVidia on user request
- Hardware Monitor: Fixed several memory leaks in case hash-file writing (caused by --remove) failed - Hardware Monitor: Fixed several memory leaks in case hash-file writing (caused by --remove) failed
- Hardware Monitor: Fixed several memory leaks in case no hardware monitor sensor is found - Hardware Monitor: Fixed several memory leaks in case no hardware monitor sensor is found
- Hardware Monitor: In case NVML initialization failed, do not try to initialiaze NVAPI or XNVCTRL because they both depend on NVML - Hardware Monitor: In case NVML initialization failed, do not try to initialize NVAPI or XNVCTRL because they both depend on NVML
- Hash Parsing: Added additional bound checks for the SIP digest authentication (MD5) parser (-m 11400) - Hash Parsing: Added additional bound checks for the SIP digest authentication (MD5) parser (-m 11400)
- Hash Parsing: Make sure that all files are correctly closed whenever a hash file parsing error occurs - Hash Parsing: Make sure that all files are correctly closed whenever a hash file parsing error occurs
- Helper: Added functions to check existence, type, read- and write-permissions and rewrite sources to use them instead of stat() - Helper: Added functions to check existence, type, read- and write-permissions and rewrite sources to use them instead of stat()
@ -1575,7 +1575,7 @@
## Features ## Features
## ##
- Files: Use $HEX[...] in case the password includes the separater character, increases potfile reading performance - Files: Use $HEX[...] in case the password includes the separator character, increases potfile reading performance
- Files: If the user specifies a folder to scan for wordlists instead of directly a wordlist, then ignore the hidden files - Files: If the user specifies a folder to scan for wordlists instead of directly a wordlist, then ignore the hidden files
- Loopback: Include passwords for removed hashes present in the potfile to next loopback iteration - Loopback: Include passwords for removed hashes present in the potfile to next loopback iteration
- New option --progress-only: Quickly provides ideal progress step size and time to process on the user hashes and selected options, then quit - New option --progress-only: Quickly provides ideal progress step size and time to process on the user hashes and selected options, then quit
@ -1682,9 +1682,9 @@ The CLI (hashcat.bin or hashcat.exe) works as before but from a technical perspe
## Bugs ## Bugs
## ##
- Custom charset from file parsing code did not return an error if an error occured - Custom charset from file parsing code did not return an error if an error occurred
- Fix some clSetKernelArg() size error that caused slow modes to not work anymore in -a 1 mode - Fix some clSetKernelArg() size error that caused slow modes to not work anymore in -a 1 mode
- Hash-mode 11600 = (7-Zip): Depending on input hash a clEnqueueReadBuffer(): CL_INVALID_VALUE error occured - Hash-mode 11600 = (7-Zip): Depending on input hash a clEnqueueReadBuffer(): CL_INVALID_VALUE error occurred
- Hash-mode 22 = Juniper Netscreen/SSG (ScreenOS): Fix salt length for -m 22 in benchmark mode - Hash-mode 22 = Juniper Netscreen/SSG (ScreenOS): Fix salt length for -m 22 in benchmark mode
- Hash-Mode 5500 = NetNTLMv1 + ESS: Fix loading of NetNTLMv1 + SSP hash - Hash-Mode 5500 = NetNTLMv1 + ESS: Fix loading of NetNTLMv1 + SSP hash
- Hash-mode 6000 = RipeMD160: Fix typo in array index number - Hash-mode 6000 = RipeMD160: Fix typo in array index number
@ -1757,12 +1757,12 @@ The CLI (hashcat.bin or hashcat.exe) works as before but from a technical perspe
- Error handling (startup): Added some missing returncode checks to get_exec_path() - Error handling (startup): Added some missing returncode checks to get_exec_path()
- Fanspeed: Check both fanpolicy and fanspeed returncode and disable retain support if any of them fail - Fanspeed: Check both fanpolicy and fanspeed returncode and disable retain support if any of them fail
- Fanspeed: Minimum fanspeed for retain support increased to 33%, same as NV uses as default on windows - Fanspeed: Minimum fanspeed for retain support increased to 33%, same as NV uses as default on windows
- Fanspeed: Reset PID controler settings to what they were initially - Fanspeed: Reset PID controller settings to what they were initially
- Fanspeed: Set fan speed to default on quit - Fanspeed: Set fan speed to default on quit
- File handling: Do a single write test (for files to be written later) directly on startup - File handling: Do a single write test (for files to be written later) directly on startup
- File locking: Use same locking mechanism in potfile as in outfile - File locking: Use same locking mechanism in potfile as in outfile
- Hardware management: Fixed calling conventions for ADL, NvAPI and NVML on windows - Hardware management: Fixed calling conventions for ADL, NvAPI and NVML on windows
- Hardware management: Improved checking for successfull load of the NVML API - Hardware management: Improved checking for successful load of the NVML API
- Hardware management: In case fanspeed can not be set, disable --gpu-temp-retain automatically - Hardware management: In case fanspeed can not be set, disable --gpu-temp-retain automatically
- Hardware management: In case of initialization error show it only once to the user on startup - Hardware management: In case of initialization error show it only once to the user on startup
- Hardware management: Refactored all code to return returncode (0 or -1) instead of data for more easy error handling - Hardware management: Refactored all code to return returncode (0 or -1) instead of data for more easy error handling
@ -1866,7 +1866,7 @@ The CLI (hashcat.bin or hashcat.exe) works as before but from a technical perspe
* changes v2.01 -> v3.00: * changes v2.01 -> v3.00:
This release markes the fusion of "hashcat" and "oclHashcat" into "hashcat". This release marks the fusion of "hashcat" and "oclHashcat" into "hashcat".
It combines all features of all hashcat projects in one project. It combines all features of all hashcat projects in one project.
## ##
@ -1951,7 +1951,7 @@ It combines all features of all hashcat projects in one project.
- Fixed a bug in line counter: conditional jump or move depends on an uninitialised value - Fixed a bug in line counter: conditional jump or move depends on an uninitialised value
- Fixed a bug in rule-engine for NVidia devices: code for left- and right-shift were switched - Fixed a bug in rule-engine for NVidia devices: code for left- and right-shift were switched
- Fixed a bug in dive.rule: rules were not updated after the function 'x' was renamed to 'O' - Fixed a bug in dive.rule: rules were not updated after the function 'x' was renamed to 'O'
- Fixed a bug in memory allocation "OpenCL -4 error": used unitialized value in a special situation - Fixed a bug in memory allocation "OpenCL -4 error": used uninitialized value in a special situation
- Fixed a bug in memory handling: heap buffer overflow - Fixed a bug in memory handling: heap buffer overflow
- Fixed a bug in memory handling: out of bounds access - Fixed a bug in memory handling: out of bounds access
- Fixed a bug in implementation of DCC2: forced default iteration count for hashes to 10240 - Fixed a bug in implementation of DCC2: forced default iteration count for hashes to 10240

View File

@ -203,7 +203,7 @@ Each password candidate creates a hash of 8 bytes that has to be transferred, lo
So let's assume a candidate list size of 8,000,000,000. That doesn't sound like too much - especially if you want to work with rules and masks. It should be clear that using the hashcat brain against a raw MD5 is not very efficient. But now things become interesting, because of some unexpected effects that kick in. So let's assume a candidate list size of 8,000,000,000. That doesn't sound like too much - especially if you want to work with rules and masks. It should be clear that using the hashcat brain against a raw MD5 is not very efficient. But now things become interesting, because of some unexpected effects that kick in.
Imagine you have a salted MD5 list, let's say VBULL which is a fast hash (not a slow hash) - and you have many of them. In thise case, each of the salts starts to work for us. Imagine you have a salted MD5 list, let's say VBULL which is a fast hash (not a slow hash) - and you have many of them. In this case, each of the salts starts to work for us.
Yes, you read that right - the more salts, the better!! Yes, you read that right - the more salts, the better!!

View File

@ -76,7 +76,7 @@
#endif #endif
/* The C++ standard denies redefinition of keywords, /* The C++ standard denies redefinition of keywords,
but this is nededed for VS compiler which doesn't have inline keyword but has __inline but this is needed for VS compiler which doesn't have inline keyword but has __inline
*/ */
#ifndef __cplusplus #ifndef __cplusplus
#if defined (_MSC_VER) #if defined (_MSC_VER)

View File

@ -212,11 +212,11 @@ typedef struct ADLThermalControllerInfo
{ {
/// Must be set to the size of the structure /// Must be set to the size of the structure
int iSize; int iSize;
/// Possible valies: \ref ADL_DL_THERMAL_DOMAIN_OTHER or \ref ADL_DL_THERMAL_DOMAIN_GPU. /// Possible values: \ref ADL_DL_THERMAL_DOMAIN_OTHER or \ref ADL_DL_THERMAL_DOMAIN_GPU.
int iThermalDomain; int iThermalDomain;
/// GPU 0, 1, etc. /// GPU 0, 1, etc.
int iDomainIndex; int iDomainIndex;
/// Possible valies: \ref ADL_DL_THERMAL_FLAG_INTERRUPT or \ref ADL_DL_THERMAL_FLAG_FANCONTROL /// Possible values: \ref ADL_DL_THERMAL_FLAG_INTERRUPT or \ref ADL_DL_THERMAL_FLAG_FANCONTROL
int iFlags; int iFlags;
} ADLThermalControllerInfo; } ADLThermalControllerInfo;
@ -269,7 +269,7 @@ typedef struct ADLFanSpeedValue
{ {
/// Must be set to the size of the structure /// Must be set to the size of the structure
int iSize; int iSize;
/// Possible valies: \ref ADL_DL_FANCTRL_SPEED_TYPE_PERCENT or \ref ADL_DL_FANCTRL_SPEED_TYPE_RPM /// Possible values: \ref ADL_DL_FANCTRL_SPEED_TYPE_PERCENT or \ref ADL_DL_FANCTRL_SPEED_TYPE_RPM
int iSpeedType; int iSpeedType;
/// Fan speed value /// Fan speed value
int iFanSpeed; int iFanSpeed;

View File

@ -675,10 +675,10 @@ typedef enum CUjit_option_enum
CU_JIT_FAST_COMPILE, CU_JIT_FAST_COMPILE,
/** /**
* Array of device symbol names that will be relocated to the corresponing * Array of device symbol names that will be relocated to the corresponding
* host addresses stored in ::CU_JIT_GLOBAL_SYMBOL_ADDRESSES.\n * host addresses stored in ::CU_JIT_GLOBAL_SYMBOL_ADDRESSES.\n
* Must contain ::CU_JIT_GLOBAL_SYMBOL_COUNT entries.\n * Must contain ::CU_JIT_GLOBAL_SYMBOL_COUNT entries.\n
* When loding a device module, driver will relocate all encountered * When loading a device module, driver will relocate all encountered
* unresolved symbols to the host addresses.\n * unresolved symbols to the host addresses.\n
* It is only allowed to register symbols that correspond to unresolved * It is only allowed to register symbols that correspond to unresolved
* global variables.\n * global variables.\n

View File

@ -152,7 +152,7 @@ typedef enum __HIP_NODISCARD hipError_t {
///< hipStreamEndCapture in a different thread. ///< hipStreamEndCapture in a different thread.
hipErrorGraphExecUpdateFailure = 910, ///< This error indicates that the graph update hipErrorGraphExecUpdateFailure = 910, ///< This error indicates that the graph update
///< not performed because it included changes which ///< not performed because it included changes which
///< violated constraintsspecific to instantiated graph ///< violated constraints specific to instantiated graph
///< update. ///< update.
hipErrorUnknown = 999, //< Unknown error. hipErrorUnknown = 999, //< Unknown error.
// HSA Runtime Error Codes start here. // HSA Runtime Error Codes start here.
@ -216,7 +216,7 @@ typedef enum hipDeviceAttribute_t {
///< Use cudaDeviceGetTexture1DLinearMaxWidth() instead on Cuda. ///< Use cudaDeviceGetTexture1DLinearMaxWidth() instead on Cuda.
hipDeviceAttributeMaxTexture1DMipmap, ///< Cuda only. Maximum size of 1D mipmapped texture. hipDeviceAttributeMaxTexture1DMipmap, ///< Cuda only. Maximum size of 1D mipmapped texture.
hipDeviceAttributeMaxTexture2DWidth, ///< Maximum dimension width of 2D texture. hipDeviceAttributeMaxTexture2DWidth, ///< Maximum dimension width of 2D texture.
hipDeviceAttributeMaxTexture2DHeight, ///< Maximum dimension hight of 2D texture. hipDeviceAttributeMaxTexture2DHeight, ///< Maximum dimension height of 2D texture.
hipDeviceAttributeMaxTexture2DGather, ///< Cuda only. Maximum dimensions of 2D texture if gather operations performed. hipDeviceAttributeMaxTexture2DGather, ///< Cuda only. Maximum dimensions of 2D texture if gather operations performed.
hipDeviceAttributeMaxTexture2DLayered, ///< Cuda only. Maximum dimensions of 2D layered texture. hipDeviceAttributeMaxTexture2DLayered, ///< Cuda only. Maximum dimensions of 2D layered texture.
hipDeviceAttributeMaxTexture2DLinear, ///< Cuda only. Maximum dimensions (width, height, pitch) of 2D textures bound to pitched memory. hipDeviceAttributeMaxTexture2DLinear, ///< Cuda only. Maximum dimensions (width, height, pitch) of 2D textures bound to pitched memory.
@ -258,7 +258,7 @@ typedef enum hipDeviceAttribute_t {
hipDeviceAttributeTextureAlignment, ///< Alignment requirement for textures hipDeviceAttributeTextureAlignment, ///< Alignment requirement for textures
hipDeviceAttributeTexturePitchAlignment, ///< Pitch alignment requirement for 2D texture references bound to pitched memory; hipDeviceAttributeTexturePitchAlignment, ///< Pitch alignment requirement for 2D texture references bound to pitched memory;
hipDeviceAttributeTotalConstantMemory, ///< Constant memory size in bytes. hipDeviceAttributeTotalConstantMemory, ///< Constant memory size in bytes.
hipDeviceAttributeTotalGlobalMem, ///< Global memory available on devicice. hipDeviceAttributeTotalGlobalMem, ///< Global memory available on device.
hipDeviceAttributeUnifiedAddressing, ///< Cuda only. An unified address space shared with the host. hipDeviceAttributeUnifiedAddressing, ///< Cuda only. An unified address space shared with the host.
hipDeviceAttributeUuid, ///< Cuda only. Unique ID in 16 byte. hipDeviceAttributeUuid, ///< Cuda only. Unique ID in 16 byte.
hipDeviceAttributeWarpSize, ///< Warp size in threads. hipDeviceAttributeWarpSize, ///< Warp size in threads.
@ -315,7 +315,7 @@ typedef enum hipDeviceAttribute_t {
/** Disable event's capability to record timing information. May improve performance.*/ /** Disable event's capability to record timing information. May improve performance.*/
#define hipEventDisableTiming 0x2 #define hipEventDisableTiming 0x2
/** Event can support IPC. Warnig: It is not supported in HIP.*/ /** Event can support IPC. Warning: It is not supported in HIP.*/
#define hipEventInterprocess 0x4 #define hipEventInterprocess 0x4
/** Use a device-scope release when recording this event. This flag is useful to obtain more /** Use a device-scope release when recording this event. This flag is useful to obtain more

View File

@ -20,7 +20,7 @@ void sort_r(void *base, size_t nel, size_t width,
int (*compar)(const void *_a, const void *_b, void *_arg), int (*compar)(const void *_a, const void *_b, void *_arg),
void *arg); void *arg);
Slightly modified to work with hashcat to no falsly detect _SORT_R_LINUX with mingw Slightly modified to work with hashcat to no falsely detect _SORT_R_LINUX with mingw
*/ */

View File

@ -139,7 +139,7 @@ static int autotune (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param
// for the threads we take as initial value what we receive from the runtime // for the threads we take as initial value what we receive from the runtime
// but is only to start with something, we will fine tune this value as soon as we have our workload specified // but is only to start with something, we will fine tune this value as soon as we have our workload specified
// this thread limiting is also performed insinde run_kernel() so we need to redo it here, too // this thread limiting is also performed inside run_kernel() so we need to redo it here, too
u32 kernel_wgs = 0; u32 kernel_wgs = 0;
u32 kernel_wgs_multiple = 0; u32 kernel_wgs_multiple = 0;
@ -191,7 +191,7 @@ static int autotune (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param
#if defined (DEBUG) #if defined (DEBUG)
// don't do any autotune in debug mode in this case // don't do any autotune in debug mode in this case
// we're propably during kernel development // we're probably during kernel development
#else #else
@ -432,7 +432,7 @@ static int autotune (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param
// v6.2.4 new section: find thread count // v6.2.4 new section: find thread count
// This is not as effective as it could be because of inaccurate kernel return timers // This is not as effective as it could be because of inaccurate kernel return timers
// But is better than fixed values // But is better than fixed values
// Timers in this section are critical, so we rerun meassurements 3 times // Timers in this section are critical, so we rerun measurements 3 times
if (kernel_threads_max > kernel_threads_min) if (kernel_threads_max > kernel_threads_min)
{ {

View File

@ -1055,8 +1055,8 @@ int choose_kernel (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param,
// - hooks can have a large influence depending on the OS. // - hooks can have a large influence depending on the OS.
// spawning threads and memory allocations take a lot of time on windows (compared to linux). // spawning threads and memory allocations take a lot of time on windows (compared to linux).
// - the kernel execution can take shortcuts based on intermediate values // - the kernel execution can take shortcuts based on intermediate values
// while these intermediate valus depend on input values. // while these intermediate values depend on input values.
// - if we meassure runtimes of different kernels to find out about their weightning // - if we measure runtimes of different kernels to find out about their weightning
// we need to call them with real input values otherwise we miss the shortcuts inside the kernel. // we need to call them with real input values otherwise we miss the shortcuts inside the kernel.
// - the problem is that these real input values could crack the hash which makes the chaos perfect. // - the problem is that these real input values could crack the hash which makes the chaos perfect.
// //
@ -1589,7 +1589,7 @@ static void rebuild_pws_compressed_append (hc_device_param_t *device_param, cons
const u32 dst_pw_len4_cnt = dst_pw_len4 / 4; const u32 dst_pw_len4_cnt = dst_pw_len4 / 4;
pw_idx_dst->cnt = dst_pw_len4_cnt; pw_idx_dst->cnt = dst_pw_len4_cnt;
pw_idx_dst->len = src_len; // this is intenionally! src_len can not be dst_len, we dont want the kernel to think 0x80 is part of the password pw_idx_dst->len = src_len; // this is intentionally! src_len can not be dst_len, we dont want the kernel to think 0x80 is part of the password
u8 *dst = (u8 *) (tmp_pws_comp + pw_idx_dst->off); u8 *dst = (u8 *) (tmp_pws_comp + pw_idx_dst->off);
@ -3512,7 +3512,7 @@ int run_cracker (hashcat_ctx_t *hashcat_ctx, hc_device_param_t *device_param, co
if (iconv_ctx == (iconv_t) -1) return -1; if (iconv_ctx == (iconv_t) -1) return -1;
} }
// find higest password length, this is for optimization stuff // find highest password length, this is for optimization stuff
u32 highest_pw_len = 0; u32 highest_pw_len = 0;

View File

@ -2311,7 +2311,7 @@ void *brain_server_handle_client (void *p)
hc_thread_mutex_unlock (brain_server_dbs->mux_dbs); hc_thread_mutex_unlock (brain_server_dbs->mux_dbs);
// higest position of that attack // highest position of that attack
u64 highest = brain_server_highest_attack (brain_server_db_attack); u64 highest = brain_server_highest_attack (brain_server_db_attack);

View File

@ -2545,7 +2545,7 @@ int hashes_init_zerohash (hashcat_ctx_t *hashcat_ctx)
hash_t *hashes_buf = hashes->hashes_buf; hash_t *hashes_buf = hashes->hashes_buf;
u32 hashes_cnt = hashes->hashes_cnt; u32 hashes_cnt = hashes->hashes_cnt;
// no solution for these special hash types (for instane because they use hashfile in output etc) // no solution for these special hash types (for instance because they use hashfile in output etc)
hash_t hash_buf; hash_t hash_buf;

View File

@ -137,7 +137,7 @@ int hashconfig_init (hashcat_ctx_t *hashcat_ctx)
return -1; return -1;
} }
// check for missing pointer assignements // check for missing pointer assignments
#define CHECK_DEFINED(func) \ #define CHECK_DEFINED(func) \
if ((func) == NULL) \ if ((func) == NULL) \
@ -818,7 +818,7 @@ u32 default_pw_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED co
u32 default_salt_min (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) u32 default_salt_min (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
{ {
// salt_min : this limit is only interessting for generic hash types that support a salt // salt_min : this limit is only interesting for generic hash types that support a salt
u32 salt_min = SALT_MIN; u32 salt_min = SALT_MIN;
@ -837,7 +837,7 @@ u32 default_salt_max (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED
{ {
const bool optimized_kernel = (hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL); const bool optimized_kernel = (hashconfig->opti_type & OPTI_TYPE_OPTIMIZED_KERNEL);
// salt_max : this limit is only interessting for generic hash types that support a salt // salt_max : this limit is only interesting for generic hash types that support a salt
u32 salt_max = SALT_MAX; u32 salt_max = SALT_MAX;

View File

@ -70,7 +70,7 @@ void hcfree (void *ptr)
void *hcmalloc_aligned (const size_t sz, const int align) void *hcmalloc_aligned (const size_t sz, const int align)
{ {
// store the original allocated address so we can later use it to free the memory // store the original allocated address so we can later use it to free the memory
// this is convinient to use because we don't need to store two memory addresses // this is convenient to use because we don't need to store two memory addresses
const int align1 = align - 1; const int align1 = align - 1;

View File

@ -196,7 +196,7 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
digest[3] = hex_to_u32 (hash_pos + 24); digest[3] = hex_to_u32 (hash_pos + 24);
/** /**
* reuse challange data as salt_buf, its the buffer that is most likely unique * reuse challenge data as salt_buf, its the buffer that is most likely unique
*/ */
salt->salt_buf[0] = 0; salt->salt_buf[0] = 0;

View File

@ -52,7 +52,7 @@ typedef struct dpapimk
u32 SID_offset; u32 SID_offset;
/* here only for possible /* here only for possible
forward compatibiliy forward compatibility
*/ */
// u8 cipher_algo[16]; // u8 cipher_algo[16];
// u8 hash_algo[16]; // u8 hash_algo[16];

View File

@ -55,7 +55,7 @@ typedef struct dpapimk
u32 SID_offset; u32 SID_offset;
/* here only for possible /* here only for possible
forward compatibiliy forward compatibility
*/ */
// u8 cipher_algo[16]; // u8 cipher_algo[16];
// u8 hash_algo[16]; // u8 hash_algo[16];

View File

@ -53,7 +53,7 @@ typedef struct dpapimk
u32 SID_offset; u32 SID_offset;
/* here only for possible /* here only for possible
forward compatibiliy forward compatibility
*/ */
// u8 cipher_algo[16]; // u8 cipher_algo[16];
// u8 hash_algo[16]; // u8 hash_algo[16];

View File

@ -56,7 +56,7 @@ typedef struct dpapimk
u32 SID_offset; u32 SID_offset;
/* here only for possible /* here only for possible
forward compatibiliy forward compatibility
*/ */
// u8 cipher_algo[16]; // u8 cipher_algo[16];
// u8 hash_algo[16]; // u8 hash_algo[16];

View File

@ -115,7 +115,7 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
iter = hc_strtoul ((const char *) token.buf[1] + 2, NULL, 10); iter = hc_strtoul ((const char *) token.buf[1] + 2, NULL, 10);
} }
// iter++; the additinal round is added in the init kernel // iter++; the additional round is added in the init kernel
salt->salt_iter = iter; salt->salt_iter = iter;

View File

@ -107,7 +107,7 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
iter = hc_strtoul ((const char *) token.buf[1] + 2, NULL, 10); iter = hc_strtoul ((const char *) token.buf[1] + 2, NULL, 10);
} }
// iter++; the additinal round is added in the init kernel // iter++; the additional round is added in the init kernel
salt->salt_iter = iter; salt->salt_iter = iter;

View File

@ -110,7 +110,7 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
iter = hc_strtoul ((const char *) token.buf[1] + 2, NULL, 10); iter = hc_strtoul ((const char *) token.buf[1] + 2, NULL, 10);
} }
// iter++; the additinal round is added in the init kernel // iter++; the additional round is added in the init kernel
salt->salt_iter = iter; salt->salt_iter = iter;

View File

@ -117,14 +117,14 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
token.attr[2] = TOKEN_ATTR_VERIFY_LENGTH token.attr[2] = TOKEN_ATTR_VERIFY_LENGTH
| TOKEN_ATTR_VERIFY_DIGIT; | TOKEN_ATTR_VERIFY_DIGIT;
// salt in alternate base64 repretentation // salt in alternate base64 representation
token.sep[3] = '$'; token.sep[3] = '$';
token.len_min[3] = SALT_MIN; token.len_min[3] = SALT_MIN;
token.len_max[3] = SALT_MAX; token.len_max[3] = SALT_MAX;
token.attr[3] = TOKEN_ATTR_VERIFY_LENGTH token.attr[3] = TOKEN_ATTR_VERIFY_LENGTH
| TOKEN_ATTR_VERIFY_BASE64B; | TOKEN_ATTR_VERIFY_BASE64B;
// payload in alternate base64 representanion // payload in alternate base64 representation
token.sep[4] = '$'; token.sep[4] = '$';
token.len[4] = HASH_LEN_B64; token.len[4] = HASH_LEN_B64;
token.attr[4] = TOKEN_ATTR_FIXED_LENGTH token.attr[4] = TOKEN_ATTR_FIXED_LENGTH

View File

@ -116,14 +116,14 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
token.attr[2] = TOKEN_ATTR_VERIFY_LENGTH token.attr[2] = TOKEN_ATTR_VERIFY_LENGTH
| TOKEN_ATTR_VERIFY_DIGIT; | TOKEN_ATTR_VERIFY_DIGIT;
// salt in alternate base64 repretentation // salt in alternate base64 representation
token.sep[3] = '$'; token.sep[3] = '$';
token.len_min[3] = SALT_MIN; token.len_min[3] = SALT_MIN;
token.len_max[3] = SALT_MAX; token.len_max[3] = SALT_MAX;
token.attr[3] = TOKEN_ATTR_VERIFY_LENGTH token.attr[3] = TOKEN_ATTR_VERIFY_LENGTH
| TOKEN_ATTR_VERIFY_BASE64B; | TOKEN_ATTR_VERIFY_BASE64B;
// payload in alternate base64 representanion // payload in alternate base64 representation
token.sep[4] = '$'; token.sep[4] = '$';
token.len[4] = HASH_LEN_B64; token.len[4] = HASH_LEN_B64;
token.attr[4] = TOKEN_ATTR_FIXED_LENGTH token.attr[4] = TOKEN_ATTR_FIXED_LENGTH

View File

@ -116,14 +116,14 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
token.attr[2] = TOKEN_ATTR_VERIFY_LENGTH token.attr[2] = TOKEN_ATTR_VERIFY_LENGTH
| TOKEN_ATTR_VERIFY_DIGIT; | TOKEN_ATTR_VERIFY_DIGIT;
// salt in alternate base64 repretentation // salt in alternate base64 representation
token.sep[3] = '$'; token.sep[3] = '$';
token.len_min[3] = SALT_MIN; token.len_min[3] = SALT_MIN;
token.len_max[3] = SALT_MAX; token.len_max[3] = SALT_MAX;
token.attr[3] = TOKEN_ATTR_VERIFY_LENGTH token.attr[3] = TOKEN_ATTR_VERIFY_LENGTH
| TOKEN_ATTR_VERIFY_BASE64B; | TOKEN_ATTR_VERIFY_BASE64B;
// payload in alternate base64 representanion // payload in alternate base64 representation
token.sep[4] = '$'; token.sep[4] = '$';
token.len[4] = HASH_LEN_B64; token.len[4] = HASH_LEN_B64;
token.attr[4] = TOKEN_ATTR_FIXED_LENGTH token.attr[4] = TOKEN_ATTR_FIXED_LENGTH

View File

@ -212,7 +212,7 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
digest[3] = hex_to_u32 (hash_pos + 24); digest[3] = hex_to_u32 (hash_pos + 24);
/** /**
* reuse challange data as salt_buf, its the buffer that is most likely unique * reuse challenge data as salt_buf, its the buffer that is most likely unique
*/ */
salt->salt_buf[0] = 0; salt->salt_buf[0] = 0;

View File

@ -277,7 +277,7 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
winhello->mk_buf_pc[6] = 0; winhello->mk_buf_pc[6] = 0;
winhello->mk_buf_pc[7] = 0; winhello->mk_buf_pc[7] = 0;
// yes we can precompute the first block of both sha512 here, because length is 128 + hmac lenght + magic length, but // yes we can precompute the first block of both sha512 here, because length is 128 + hmac length + magic length, but
// speed improvement is negligible, but readability would drop a lot // speed improvement is negligible, but readability would drop a lot
return (PARSER_OK); return (PARSER_OK);

View File

@ -55,7 +55,7 @@ typedef struct scrtv2
} scrtv2_t; } scrtv2_t;
static const char *CONFIGPASSPHRASEV2_SIGNATURE = "S:\"Config Passphrase\"=02:"; //The whole line is part of the format to prevent confusion with other similiar tokens also prefixed with 02: in the config files static const char *CONFIGPASSPHRASEV2_SIGNATURE = "S:\"Config Passphrase\"=02:"; //The whole line is part of the format to prevent confusion with other similar tokens also prefixed with 02: in the config files
u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra) u64 module_esalt_size (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSED const user_options_t *user_options, MAYBE_UNUSED const user_options_extra_t *user_options_extra)
{ {

View File

@ -101,7 +101,7 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
| TOKEN_ATTR_VERIFY_SIGNATURE; | TOKEN_ATTR_VERIFY_SIGNATURE;
/** /**
* Haschat * Hashcat
* format 1: $krb5asrep$18$user$realm$checksum$edata2 * format 1: $krb5asrep$18$user$realm$checksum$edata2
* *
* JtR * JtR

View File

@ -101,7 +101,7 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
| TOKEN_ATTR_VERIFY_SIGNATURE; | TOKEN_ATTR_VERIFY_SIGNATURE;
/** /**
* Haschat * Hashcat
* format 1: $krb5asrep$18$user$realm$checksum$edata2 * format 1: $krb5asrep$18$user$realm$checksum$edata2
* *
* JtR * JtR

View File

@ -397,7 +397,7 @@ int potfile_remove_parse (hashcat_ctx_t *hashcat_ctx)
hash_t *hashes_buf = hashes->hashes_buf; hash_t *hashes_buf = hashes->hashes_buf;
u32 hashes_cnt = hashes->hashes_cnt; u32 hashes_cnt = hashes->hashes_cnt;
// no solution for these special hash types (for instane because they use hashfile in output etc) // no solution for these special hash types (for instance because they use hashfile in output etc)
hash_t hash_buf; hash_t hash_buf;

View File

@ -98,7 +98,7 @@ static const char *const USAGE_BIG_PRE_HASHMODES[] =
" --backend-ignore-hip | | Do not try to open HIP interface on startup |", " --backend-ignore-hip | | Do not try to open HIP interface on startup |",
" --backend-ignore-metal | | Do not try to open Metal interface on startup |", " --backend-ignore-metal | | Do not try to open Metal interface on startup |",
" --backend-ignore-opencl | | Do not try to open OpenCL interface on startup |", " --backend-ignore-opencl | | Do not try to open OpenCL interface on startup |",
" -I, --backend-info | | Show system/evironment/backend API info | -I or -II", " -I, --backend-info | | Show system/environment/backend API info | -I or -II",
" -d, --backend-devices | Str | Backend devices to use, separated with commas | -d 1", " -d, --backend-devices | Str | Backend devices to use, separated with commas | -d 1",
" -Y, --backend-devices-virtual | Num | Spawn X virtual instances for each real device | -Y 8", " -Y, --backend-devices-virtual | Num | Spawn X virtual instances for each real device | -Y 8",
" -D, --opencl-device-types | Str | OpenCL device-types to use, separated with commas | -D 1", " -D, --opencl-device-types | Str | OpenCL device-types to use, separated with commas | -D 1",

View File

@ -72,7 +72,7 @@ if ($version ne "\x02")
} }
read_bytes ($file_handle, 1); # reservered/skip (normally should be just \x00) read_bytes ($file_handle, 1); # reserved/skip (normally should be just \x00)
# Loop over the extensions until we got extension size 0 # Loop over the extensions until we got extension size 0

View File

@ -379,7 +379,7 @@ chdir ($hashcat_path);
for my $hash_type (@hash_types) for my $hash_type (@hash_types)
{ {
# banchmark always in optimized mode with single hash and mask! # benchmark always in optimized mode with single hash and mask!
my $mask = $default_mask; my $mask = $default_mask;
@ -521,7 +521,7 @@ sub get_module
{ {
if (($hash_type == 22000) || ($hash_type == 22001)) if (($hash_type == 22000) || ($hash_type == 22001))
{ {
## problem while in -m 2500 backward compatiblity mode ## problem while in -m 2500 backward compatibility mode
} }
else else
{ {

View File

@ -218,7 +218,7 @@ function init()
echo "They will be fetched from ${luks_tests_url}" echo "They will be fetched from ${luks_tests_url}"
echo "Note: this needs to be done only once and could take a little bit to download/extract." echo "Note: this needs to be done only once and could take a little bit to download/extract."
echo "These luks test files are not shipped directly with hashcat because the file sizes are" echo "These luks test files are not shipped directly with hashcat because the file sizes are"
echo "particularily large and therefore a bandwidth burner for users who do not run these tests." echo "particularly large and therefore a bandwidth burner for users who do not run these tests."
echo "" echo ""
# download: # download:

View File

@ -13,12 +13,12 @@ During `verify` tests the `module_verify_hash` function must parse the hash:pass
**Important**: You have to call `pack_if_HEX_notation` as soon as you have parsed the password, or your tests will fail on passwords in the `$HEX[...]` format. **Important**: You have to call `pack_if_HEX_notation` as soon as you have parsed the password, or your tests will fail on passwords in the `$HEX[...]` format.
If the algorithm has ambiguous hashes (e.g. partial case-insensetivity), the test module can provide an optional function `module_preprocess_hashlist`. It recieves a reference to the hashlist array and can unify the hashes in a way that guarantees the match with the output of `module_verify_hash`. If the algorithm has ambiguous hashes (e.g. partial case-insensitivity), the test module can provide an optional function `module_preprocess_hashlist`. It receives a reference to the hashlist array and can unify the hashes in a way that guarantees the match with the output of `module_verify_hash`.
#### Examples #### #### Examples ####
* For the most basic test modules, see [m00000.pm](m00000.pm) and [m00100.pm](m00100.pm) * For the most basic test modules, see [m00000.pm](m00000.pm) and [m00100.pm](m00100.pm)
* For the basic salted hash tests, see [m00110.pm](m00110.pm) and [m00120.pm](m00120.pm) * For the basic salted hash tests, see [m00110.pm](m00110.pm) and [m00120.pm](m00120.pm)
* For some sligthly more complex modules with PBKDF2 and encryption, see [m18400.pm](m18400.pm) and [m18600.pm](m18600.pm) * For some slightly more complex modules with PBKDF2 and encryption, see [m18400.pm](m18400.pm) and [m18600.pm](m18600.pm)
* For a test module with hashlist preprocessing and a custom salt generation algorithm, see [m05600.pm](m05600.pm) * For a test module with hashlist preprocessing and a custom salt generation algorithm, see [m05600.pm](m05600.pm)

View File

@ -11,7 +11,7 @@ use warnings;
use Net::DNS::RR::NSEC3; use Net::DNS::RR::NSEC3;
use Net::DNS::SEC; use Net::DNS::SEC;
# we need to restict the pure password length for the test module to 63 bytes, # we need to restrict the pure password length for the test module to 63 bytes,
# because we can't have any string (including the pass) of over 63 bytes without "." # because we can't have any string (including the pass) of over 63 bytes without "."
# sub module_constraints { [[1, 256], [-1, -1], [1, 55], [-1, -1], [-1, -1]] } # sub module_constraints { [[1, 256], [-1, -1], [1, 55], [-1, -1], [-1, -1]] }

View File

@ -29,7 +29,7 @@ sub module_generate_hash
my $word_buf_base64 = encode_base64 ($word, ""); my $word_buf_base64 = encode_base64 ($word, "");
my $salt_buf_base64 = encode_base64 ($salt, ""); my $salt_buf_base64 = encode_base64 ($salt, "");
# sanitize lenghs # sanitize lengths
$out_len = int ($out_len); $out_len = int ($out_len);

View File

@ -59,7 +59,7 @@ sub module_generate_hash
my $dec_bin = $aes->decrypt ($data_bin); my $dec_bin = $aes->decrypt ($data_bin);
## This is a ridiculous check of successfull decryption ## This is a ridiculous check of successful decryption
## There are no useable asn1 parsers for perl available ## There are no useable asn1 parsers for perl available
## We have to rely on a combination of padding check and pattern matching ## We have to rely on a combination of padding check and pattern matching
## The (minimum) 16 bit should be good enough for a unit test ## The (minimum) 16 bit should be good enough for a unit test

View File

@ -56,7 +56,7 @@ sub module_generate_hash
my $dec_bin = $aes->decrypt ($data_bin); my $dec_bin = $aes->decrypt ($data_bin);
## This is a ridiculous check of successfull decryption ## This is a ridiculous check of successful decryption
## There are no useable asn1 parsers for perl available ## There are no useable asn1 parsers for perl available
## We have to rely on a combination of padding check and pattern matching ## We have to rely on a combination of padding check and pattern matching
## The (minimum) 16 bit should be good enough for a unit test ## The (minimum) 16 bit should be good enough for a unit test

View File

@ -56,7 +56,7 @@ sub module_generate_hash
my $dec_bin = $aes->decrypt ($data_bin); my $dec_bin = $aes->decrypt ($data_bin);
## This is a ridiculous check of successfull decryption ## This is a ridiculous check of successful decryption
## There are no useable asn1 parsers for perl available ## There are no useable asn1 parsers for perl available
## We have to rely on a combination of padding check and pattern matching ## We have to rely on a combination of padding check and pattern matching
## The (minimum) 16 bit should be good enough for a unit test ## The (minimum) 16 bit should be good enough for a unit test

View File

@ -58,7 +58,7 @@ sub module_generate_hash
my $dec_bin = $aes->decrypt ($data_bin); my $dec_bin = $aes->decrypt ($data_bin);
## This is a ridiculous check of successfull decryption ## This is a ridiculous check of successful decryption
## There are no useable asn1 parsers for perl available ## There are no useable asn1 parsers for perl available
## We have to rely on a combination of padding check and pattern matching ## We have to rely on a combination of padding check and pattern matching
## The (minimum) 16 bit should be good enough for a unit test ## The (minimum) 16 bit should be good enough for a unit test

View File

@ -58,7 +58,7 @@ sub module_generate_hash
my $dec_bin = $aes->decrypt ($data_bin); my $dec_bin = $aes->decrypt ($data_bin);
## This is a ridiculous check of successfull decryption ## This is a ridiculous check of successful decryption
## There are no useable asn1 parsers for perl available ## There are no useable asn1 parsers for perl available
## We have to rely on a combination of padding check and pattern matching ## We have to rely on a combination of padding check and pattern matching
## The (minimum) 16 bit should be good enough for a unit test ## The (minimum) 16 bit should be good enough for a unit test

View File

@ -80,7 +80,7 @@ sub module_generate_hash
$dec_bin = $aes->decrypt ($data_bin); $dec_bin = $aes->decrypt ($data_bin);
} }
## This is a ridiculous check of successfull decryption ## This is a ridiculous check of successful decryption
## There are no useable asn1 parsers for perl available ## There are no useable asn1 parsers for perl available
## We have to rely on a combination of padding check and pattern matching ## We have to rely on a combination of padding check and pattern matching
## The (minimum) 16 bit should be good enough for a unit test ## The (minimum) 16 bit should be good enough for a unit test

View File

@ -80,7 +80,7 @@ sub module_generate_hash
$dec_bin = $aes->decrypt ($data_bin); $dec_bin = $aes->decrypt ($data_bin);
} }
## This is a ridiculous check of successfull decryption ## This is a ridiculous check of successful decryption
## There are no useable asn1 parsers for perl available ## There are no useable asn1 parsers for perl available
## We have to rely on a combination of padding check and pattern matching ## We have to rely on a combination of padding check and pattern matching
## The (minimum) 16 bit should be good enough for a unit test ## The (minimum) 16 bit should be good enough for a unit test

View File

@ -99,7 +99,7 @@ sub pdf_compute_encryption_key_owner
my $o_key; my $o_key;
if ($R == 2) if ($R == 2)
{ {
$o_key = substr ($o_digest, 0, 8); # rc4 key is always 5 for revision 2, but for 3 or greather is dependent on the value of the encryption dictionaries length entry $o_key = substr ($o_digest, 0, 8); # rc4 key is always 5 for revision 2, but for 3 or greater is dependent on the value of the encryption dictionaries length entry
} }
else else
{ {

View File

@ -115,7 +115,7 @@ sub module_generate_hash
my $salt_bin = pack ("H*", $salt); my $salt_bin = pack ("H*", $salt);
my $seed = unpack ("N", $salt_bin); # or maybe "L" ? not enought example data to clarify my $seed = unpack ("N", $salt_bin); # or maybe "L" ? not enough example data to clarify
my $digest = MurmurHash ($word, $seed); my $digest = MurmurHash ($word, $seed);

View File

@ -58,7 +58,7 @@ sub module_generate_hash
## convert_userpin_to_secretpin() ## convert_userpin_to_secretpin()
## this looks strange. what if the user password is outside 0x20 - 0x7f? ## this looks strange. what if the user password is outside 0x20 - 0x7f?
## from some testing, it seems MS prevents the user to use any non-ascii charcters ## from some testing, it seems MS prevents the user to use any non-ascii characters
my $stage1_hexpin = uc (encode ("UTF-16LE", unpack ("H*", $word))); my $stage1_hexpin = uc (encode ("UTF-16LE", unpack ("H*", $word)));

View File

@ -26,7 +26,7 @@ sub module_constraints { [[52, 52], [-1, -1], [-1, -1], [-1, -1], [-1, -1]] }
sub module_generate_hash sub module_generate_hash
{ {
my $word = shift; # expecting valid WIF formated private key my $word = shift; # expecting valid WIF formatted private key
my @is_valid_base58 = eval my @is_valid_base58 = eval
{ {

View File

@ -26,7 +26,7 @@ sub module_constraints { [[51, 51], [-1, -1], [-1, -1], [-1, -1], [-1, -1]] }
sub module_generate_hash sub module_generate_hash
{ {
my $word = shift; # expecting valid WIF formated private key my $word = shift; # expecting valid WIF formatted private key
my @is_valid_base58 = eval my @is_valid_base58 = eval
{ {

View File

@ -26,7 +26,7 @@ sub module_constraints { [[52, 52], [-1, -1], [-1, -1], [-1, -1], [-1, -1]] }
sub module_generate_hash sub module_generate_hash
{ {
my $word = shift; # expecting valid WIF formated private key my $word = shift; # expecting valid WIF formatted private key
my @is_valid_base58 = eval my @is_valid_base58 = eval
{ {

View File

@ -26,7 +26,7 @@ sub module_constraints { [[51, 51], [-1, -1], [-1, -1], [-1, -1], [-1, -1]] }
sub module_generate_hash sub module_generate_hash
{ {
my $word = shift; # expecting valid WIF formated private key my $word = shift; # expecting valid WIF formatted private key
my @is_valid_base58 = eval my @is_valid_base58 = eval
{ {

View File

@ -26,7 +26,7 @@ sub module_constraints { [[52, 52], [-1, -1], [-1, -1], [-1, -1], [-1, -1]] }
sub module_generate_hash sub module_generate_hash
{ {
my $word = shift; # expecting valid WIF formated private key my $word = shift; # expecting valid WIF formatted private key
my @is_valid_base58 = eval my @is_valid_base58 = eval
{ {

View File

@ -26,7 +26,7 @@ sub module_constraints { [[51, 51], [-1, -1], [-1, -1], [-1, -1], [-1, -1]] }
sub module_generate_hash sub module_generate_hash
{ {
my $word = shift; # expecting valid WIF formated private key my $word = shift; # expecting valid WIF formatted private key
my @is_valid_base58 = eval my @is_valid_base58 = eval
{ {