|
|
Message-ID: <20060612200841.9554.qmail@nym.alias.net>
Date: 12 Jun 2006 20:08:41 -0000
From: madfran <madfran@....alias.net>
To: john-users@...ts.openwall.com
Cc:
Subject: Re: Charset for NON english language
Hi,....
Solar Designer wrote,
>Yes, these two questions (as well as some others) are candidates for
>addition to the FAQ.
Well,... perhaps isn't Shakespeare, is very short explanation and include
the script wrote by Solar but can be the start point to add something to the
existing FAQ.
madfran
*************************************************************************
Q: How can I crack a hash that has non English characters?
A: In some aspects the question can be translate to: "How can I introduce,
in the characters set used to crack, characters over the classical US-ASCII
7bit"
These characters are the 96 original used in the old terminal since 1986.
But today, the world is growing and the NET is acceded from computer across
the countries in many different letters. Finding a solution, cleaver
engineers, use the less needed ASCII characters, like #, to insert they
local characters. This solution is only useful for a local country, but
give many ambiguities when you exchange information with people across the
world. The solution was to create the 8bit standard. It was a very good
solution for the roman writers but very bad for the hash crackers. The
characters set to try it is more than 236 in the case you want to try the
completed set.
If you want to do this you must,
1-Use the external mode.
2-Include in your john.conf the following code.
[List.External:8bit]
int length; // Current length
void init()
{
word[0] = 0x20 - 1; // Start with " "
word[length = 1] = 0;
}
void generate()
{
int i;
i = length - 1; // Start from the last character
while (++word[i] > 0xff) // Try to increase it
if (i) // Overflow here, any more positions?
word[i--] = 0x20; // Yes, move to the left, and repeat
else // No
if (length < 8) {
word[i = ++length] = 0; // Switch to the next length
while (i--)
word[i] = 0x20;
return;
} else {
word = 0; return; // We're done
}
}
void restore()
{
length = 0; // Calculate the length
while (word[length]) length++;
}
3-Invoke it with "--external=8bit"
*****************************************************************************
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.