Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 25 Jul 2009 18:55:30 +0400
From: Solar Designer <>
Subject: Re: charset with é è à ç

On Sat, Jul 25, 2009 at 02:29:30PM +0200, websiteaccess wrote:
>  1) I formatted my john.pot as following (only 1 line)
>     098f6bcd4621d373cade4e832627b4f6:abcdefghijklmnopqrstuvwxyzéèàç

This is fine, although you did not need to include any hash before the
string of chars - a mere colon would do.

>  2) inserted in the John.cof

This is normally done after you have generated a .chr file, although it
is also OK to do this in advance like you did.

>  3) do    ./john -make-charset:alphafr.chr
> Successfully written charset file: alphafr.chr (26 characters)
> ---------------------------------------
>  "é" "è" "à" "ç" have not been included in the charset :(

Indeed.  They are 8-bit characters, which are outside of the range
supported for "incremental" mode by default.

>  how can do to get a charset with "è" "è" "à" "ç" and a-z ?

If you really want to do it the way you tried to, then there's just one
step you missed.  You need to modify params.h as shown in this posting:

Then recompile JtR and try again - it should work.

However, since you don't seem to care to use the "incremental" mode for
real anyway (that is, let its .chr file generation code examine some
previously-cracked passwords or at least a wordlist), I suggest that you
opt for a simpler approach.  One of those would be to define a mode like:

File = $JOHN/alpha.chr
MinLen = 1
MaxLen = 8
CharCount = 30
Extra = éèàç

This requires a recompile for the 8-bit chars too, but it does not
require you to generate a custom .chr file.  The 4 extra chars will be
treated as the least likely, yet this shouldn't bother you.

An even simpler approach, not requiring a recompile, would be to use the
DumbForce external mode sample, configuring it for your desired charset.
In the init() function, you'll specify:

	i = 0;
	c = 'a';
	while (c <= 'z')
		charset[i++] = c++;
	charset[i++] = 'é';
	charset[i++] = 'è';
	charset[i++] = 'à';
	charset[i++] = 'ç';

replacing the existing lines (many of them) defining another charset
after the "This defines the character set." comment.


To unsubscribe, e-mail and reply
to the automated confirmation request that will be sent to you.

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.