Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 24 Jul 2012 12:15:33 -0500
From: "jfoug" <>
To: <>
Subject: RE: Add support for cracking M$ Outlook's PST files

I think this is the ticket:

#include "common.h"
typedef ARCH_WORD_32 *DWORD_PTR;
#define DWORD ARCH_WORD_32

At the top of pst-crc.h    The include is needed to properly set the
ARCH_WORD_32 (it loads arch.h, and properly sets it).

In this code, we really need to force a proper 32 bit type.  I am not sure
if a 64 bit build trying to use a 64 bit var (size_t), would work properly.
That was also the warning listed, as we were getting 64 bit and 32 bit mixed
up.  I believe the above should force it all to 32 bit properly.  I think
the size_t fix would have been right for 32 bit, but put everything into 64
bit on 64 bit machines, and I am not sure how the code would handle that.
The self test 'likely' would have shown, but even if it did work for the
self test, that would not mean that 64 bit works for all values.  Forced 32
bit, with proper data overflow out of the variable when things are shifted,
is better, and should be 'safer'.


>-----Original Message-----
>From: magnum []
>Sent: Tuesday, July 24, 2012 11:11 AM
>Subject: Re: [john-dev] Add support for cracking M$ Outlook's PST files
>On 2012-07-24 17:32, Dhiru Kholia wrote:
>> Hi,
>> The attached patch (against magnum-jumbo branch) adds support for
>> cracking M$ Outlook's PST files. In my experience, CRC32 (custom
>> version) collisions can be generated in less than 15 minutes on AMD X3
>> 720 CPU (1 core).
>> $ ../run/john -fo:pst -t
>> Benchmarking: PST custom CRC32 [32/64]... DONE
>> Raw:	23601K c/s real, 23840K c/s virtual
>> There is one warning in the code "pst-crc32.h:554:25: warning: cast
>> from pointer to integer of different size" which needs fixing. magnum,
>> Can you take a look?
>I'm really not the best guy to ask. The enclosed patch mutes the warning
>on 64-bit and self test still passes. I *think* this will work fine on
>32-bit too, assuming sizeof(size_t) is always sizeof(*ptr). I'm sure Jim
>can give a better/safer answer.

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.