You are right - apparently they are restructuring the source significantly in the last 9 months... So forget the master branch on GitHub. I mean a ridiculous amount of redesign and refactoring has occurred. Better look at the 5.1 tagged branch here:
Quote:
https://github.com/hashcat/hashcat/tree/72319875d84c8bebf91647756448ae3991881688
|
But still it raises the question why you are getting the error for such a simple parsing routine where you adjusted the size values. But I also may have a solution to that which lay in the salt_max value (still in interface.c for 5.1):
Code:
int hashconfig_get_salt_max (hashcat_ctx_t *hashcat_ctx, const bool optimized_kernel)
{
const hashconfig_t *hashconfig = hashcat_ctx->hashconfig;
// salt_max : this limit is only interessting for generic hash types that support a salt
u32 salt_max = SALT_MAX;
if (optimized_kernel == true)
{
salt_max = SALT_MAX_OLD;
if ((hashconfig->opts_type & OPTS_TYPE_ST_UTF16LE) || (hashconfig->opts_type & OPTS_TYPE_ST_UTF16BE))
{
salt_max /= 2;
}
}
if (hashconfig->salt_type == SALT_TYPE_GENERIC)
{
if (hashconfig->opts_type & OPTS_TYPE_ST_HEX)
{
salt_max *= 2;
}
switch (hashconfig->hash_mode)
{
case 11000: salt_max = 56; break;
case 12600: salt_max = 64; break;
case 15000: salt_max = 64; break;
}
}
return salt_max;
}
So if (optimized_kernel == true) then you will get SALT_MAX_OLD which you should change along with PW_MAX_OLD. I do not see what else could cause the error after auditing the code for that error message. The other option is to make sure optimized_kernel = false which I think is derived from command line option?
int hashconfig_get_pw_max (hashcat_ctx_t *hashcat_ctx, const bool optimized_kernel) has a lot of cases including the optimized_kernel most importantly also. But not needed for 1450 type.
Without a doubt this change is incredibly close to working.