If a range is "parallel" to a wider range, then "stick" to the last character in the current range for all out-of-bound indices of the other range. Previously, we would "stick" to the first character instead (which was never formally documented), but this turned out to be inconvenient: |
|
More...
|
almost 15 years ago
|
Range-check the number of pieces that a hash was split into before doing the sprintf() for the login to be displayed during cracking to include the piece number. We only allocate memory for one digit, so skip this feature in case there are more than 9 pieces. This can't happen with the current JtR code, but it could with third-party and future changes to other parts of the code. |
|
More...
|
almost 15 years ago
|
In ldr_split_string(), restore the string to its original state before leaving the function. This makes a difference for the last call from ldr_init_words(), where login would otherwise be potentially modified (e.g., underscores NUL'ed out). This in turn makes a difference for recording of the login at the end of ldr_load_pw_line(). Before this change, login names reported during a cracking run were sometimes truncated. |
|
More...
|
almost 15 years ago
|
Fixed a NULL pointer dereference bug in ldr_init_hash() on no hashes loaded. The bug was introduced in 1.7.4.2. |
|
More...
|
almost 15 years ago
|
1.7.4.2 |
|
More...
|
almost 15 years ago
|
In single_process_pw(), stop processing as soon as we've cracked the password. |
|
More...
|
almost 15 years ago
|
In single_run(), exit the per-rule loop early when no "words" are left. |
|
More...
|
almost 15 years ago
|
In single_add_key(), only compute single_key_hash(key) once (previously, it was computed twice). |
|
More...
|
almost 15 years ago
|
Increased SINGLE_HASH_LOG (5 to 7), UNIQUE_HASH_LOG (17 to 20), UNIQUE_BUFFER_SIZE (8 MB to 64 MB), POT_BUFFER_SIZE (4 KB to 32 KB), and LOG_BUFFER_SIZE (4 KB to 32 KB). |
|
More...
|
almost 15 years ago
|
In ldr_remove_hash(), if there's a hash table for the salt, assume that the list is only used by "single crack" mode, so mark the entry for removal by "single crack" mode code in case that's what we're running, instead of traversing the list an extra time (which was sometimes quite slow). In single_process_salt(), check for the "removal marks" and remove entries from the list (usually during the next pass through the list). |
|
More...
|
almost 15 years ago
|
Simplified the code of ldr_remove_hash() assuming that next_hash fields are unused (and thus don't need to be updated) when there's no hash table for a given salt. |
|
More...
|
almost 15 years ago
|
Added a comment on ldr_remove_salt(). |
|
More...
|
almost 15 years ago
|
Renamed ldr_update_salt() to ldr_init_hash_for_salt(), moved memory allocation for the hash table from ldr_init_hash() to ldr_init_hash_for_salt(). Added comments on ldr_init_hash_for_salt() and ldr_init_hash(). |
|
More...
|
almost 15 years ago
|
In crk_process_guess(), instead of manipulating the lists and then calling ldr_update_salt() to regenerate the per-salt hash table (which was sometimes quite slow), call the new function ldr_remove_hash(), which updates both the lists and the hash table (without regenerating it from scratch). |
|
More...
|
almost 15 years ago
|
Added comments on some functions called by ldr_fix_database(), made minor adjustments to the code. |
|
More...
|
almost 15 years ago
|
Re-ordered the fields in struct db_keys for potential memory savings on alignment gaps on systems where pointers are larger than ints. |
|
More...
|
almost 15 years ago
|
Identify, mark, and then quickly skip salts with no words to try. |
|
More...
|
almost 15 years ago
|
When the login name is an empty string, don't add it to the "words" list. Ditto for the home directory name. |
|
More...
|
almost 15 years ago
|
With "--stdout", don't print the current word when there's none. (Before this change, "current: " followed by an empty string would be printed.) |
|
More...
|
almost 15 years ago
|
Don't print the candidate password(s) being tried when we haven't tried any. (Before this change, a password left from the self-test could be printed.) |
|
More...
|
almost 15 years ago
|
Don't avoid loading of duplicate hashes when DB_WORDS is set. |
|
More...
|
almost 15 years ago
|
Don't set DB_WORDS when recovering a batch mode session that progressed beyond the "single crack" mode pass. |
|
More...
|
almost 15 years ago
|
Renamed MEM_ALLOC_MAX to MEM_ALLOC_MAX_WASTE, decreased it from 0x400 to 0xff. |
|
More...
|
almost 15 years ago
|
Increased CRACKED_HASH_LOG from 11 to 16. |
|
More...
|
almost 15 years ago
|
Adjusted ldr_cracked_hash() to make its return value depend on the entire string (rather than on just the ending). |
|
More...
|
almost 15 years ago
|
Added two larger hash table sizes: 64K and 1M entries. Adjusted the thresholds for starting to use each hash table size. |
|
More...
|
almost 15 years ago
|
Added a comment on password_hash_func. |
|
More...
|
almost 15 years ago
|
Added password_hash_func into struct db_main. This is a pointer to a binary_hash function used by the loader itself. |
|
More...
|
almost 15 years ago
|
Added support for extracting 16- and 20-bit partial hashes into DES_bs_get_hash(), in addition to 4-, 8-, and 12-bit partial hashes that were supported previously. |
|
More...
|
almost 15 years ago
|
Re-worked single_key_hash() such that it always takes all characters into account, yet it is at least as fast as it used to be with short passwords. Previously, only the last 15 characters (or so) would affect the returned hash value. |
|
More...
|
almost 15 years ago
|