Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Sun, 11 Oct 2015 20:43:25 +0200
From: magnum <>
Subject: Re: External subsets mode

On 2015-09-02 00:03, magnum wrote:
> On 2015-09-01 23:39, Luis Rocha wrote:
>> I was trying the --external=subsets mode with a different character but I
>> get a segmentation fault when changing the character range in john.conf:
>> /* This defines the character set */
>>          i = 0;
>>          c = 0xc2a1;
>>          while (c <= 0xcdaf)
>>                  charset[i++] = c++;
>> $ ./john /tmp/hashes --internal-encoding=utf-8 --encoding=utf-8
>> --format=nt
>> --external=subsets
>> Segmentation fault (core dumped)
>> Any idea what it could be?
> You probably forgot to bump the declaration "int charset[0x100];" to
> something larger. But you can't use Unicode characters like that anyway.
> Have a look at dumb16.conf and/or dumb32.conf for a way to do it: Those
> two modes work with UTF-16 and UTF-32 internally and has a final
> conversion from that into UTF-8.

Not sure why it took me so long realizing the potential here. Latest 
bleeding-jumbo now supports using UTF-32 in external mode. To enable it, 
simply set "utf32 = 1" in the external mode's init() function and then 
code like the above will work fine. The word will be encoded to whatever 
target encoding is in use.

The dumb16/32 and repeats16/32 modes were updated to use this feature 
(instead of converting in their filter function) and got a 4x boost.


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.