|
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.