Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 21 Dec 2010 23:49:23 +0300
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: Changing Double to use All Characters

On Mon, Dec 20, 2010 at 10:22:16AM -0500, Rich Rumble wrote:
> I modified the Double external mode with the following line:
> 
> while (i--) current[i] = '0'; (was 'a')
> <snip>
> 
> Writing to Stdout and checking, it appears to use all cases,
> all numbers and some specials. How would I modify the mode
> to use all specials?

You need to replace all three instances of 'a' - one in init() and two
in generate() - with 0x20 (ASCII code for whitespace).  You also need to
replace 'z' (there's just one instance of it) with 0x7e.

> I've also extended the length for NTLM and others very easily:
> int length, current[16];
> <snip>
> if (!current && length < 8) {

For half-lengths of up to 8 (inclusive), you need 17 elements in
current[], not 16.  The 17th holds the NUL byte terminating the string.
This is why the original code had:

int length, current[9];
[...]
        if (!current && length < 4) {

Perhaps I need to revise this Double mode sample to make it easier to
customize.

Thank you for your comments.

Alexander

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.