well, I'm still not sure if 278fbfac8b69dda968b190e6bb1f4ac9 is the correct hash for your plain. I guess you do not know the password at all (which is bad since it would be a reason to ban you, but I'm not too strict right now since you might have found a potential "problem").
I troubleshooted this a little bit and came to the conclusion that it works with a different LC_ALL (setlocale settings), see:
That means that according to https://stackoverflow.com/a/7931939 the locale settings matter a lot (especially for the TRANSLIT iconv configuration). I think the default is just "C" and I'm not sure if hashcat should change this and/or what configuration we should set (because setlocale (LC_ALL, "en_US.UTF8") might not always be the correct one and might lead to other strange behaviour with iconv specific and/or other function calls).
update: I found out that it might be enough to just add the
and
this might enable the system-wide localization settings (without the need to specify a specific locale).
see https://github.com/bminor/glibc/blob/c37...#L126-L127 for the iconv program in glibc
the disadvantage might be that if we do not use the default "C" locale, other functions might also return different results (if they behave differently with a changed LC_ALL/locale configuration). That means, that this might lead to side-effects beyond the iconv conversion
I guess we would need to investigate if it's worth to change it and which system functions might react differently with another LC_ALL config.
I troubleshooted this a little bit and came to the conclusion that it works with a different LC_ALL (setlocale settings), see:
Code:
#include <stdlib.h>
#include <stdio.h>
#include <iconv.h>
#include <locale.h>
int main (int argc, char *argv[])
{
char src[] = "\xeb";
char dst[10];
size_t srclen = 1;
size_t dstlen = 10;
fprintf (stderr, "in: %02x\n", (unsigned char) src[0]);
char *pIn = src;
char *pOut = (char *) dst;
// this line is needed for iconv w/ TRANSLIT to work (default LC_ALL is "C")!!!
// see https://stackoverflow.com/a/7931939
setlocale (LC_ALL, "en_US.UTF8"); // query it like this printf ("%s\n", setlocale (LC_ALL, NULL));
iconv_t conv = iconv_open ("ASCII//TRANSLIT", "iso8859-1");
// check return code !
iconv (conv, &pIn, &srclen, &pOut, &dstlen);
// check return code !
iconv_close (conv);
fprintf (stderr, "out: %02x\n", (unsigned char) dst[0]);
return 0;
}
That means that according to https://stackoverflow.com/a/7931939 the locale settings matter a lot (especially for the TRANSLIT iconv configuration). I think the default is just "C" and I'm not sure if hashcat should change this and/or what configuration we should set (because setlocale (LC_ALL, "en_US.UTF8") might not always be the correct one and might lead to other strange behaviour with iconv specific and/or other function calls).
update: I found out that it might be enough to just add the
Code:
#include <locale.h>
and
Code:
setlocale (LC_ALL, "");
this might enable the system-wide localization settings (without the need to specify a specific locale).
see https://github.com/bminor/glibc/blob/c37...#L126-L127 for the iconv program in glibc
the disadvantage might be that if we do not use the default "C" locale, other functions might also return different results (if they behave differently with a changed LC_ALL/locale configuration). That means, that this might lead to side-effects beyond the iconv conversion
I guess we would need to investigate if it's worth to change it and which system functions might react differently with another LC_ALL config.