|
Message-ID: <003601cd6a93$781b3c40$6851b4c0$@net> Date: Wed, 25 Jul 2012 13:29:45 -0500 From: "jfoug" <jfoug@....net> To: <john-dev@...ts.openwall.com> Subject: RE: Add support for cracking M$ Outlook's PST files >From: Dhiru Kholia [mailto:dhiru.kholia@...il.com] > >I see that you have replaced ComputeCRC with pkzip_crc32. Did you modify >pkzip_crc32 code or did it work as it is? > >Should this format be separate or can it be done in another format? The pkzip_crc32 worked 'as is', however, it is not the exact same way. Normal crc32: uint32 crc = 0xffffffff; while (*cp) crc = crc_update(crc,*p++); crc = ~crc; the changes I made: uint32 crc = 0; while (*cp) crc = crc_update(crc,*p++); The crc32 function actually is: 1. initialize the crc to a starting constant. 2. recomputed the crc value against all bits of the message. This has been optimized to work on bytes at a time (or array driven crc, like we are doing) 3. xor resultant crc with a final constant, to get the 'real' CRC32 value. CRC-32 has initial constant of 0xFFFFFFFF and final xor constant of 0xFFFFFFFF This crc32 has initial constant of 0x00000000, and final xor constant of 0x00000000 They both use the same poly, but most string end up with different final crc32 values between the 2 methods.
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.