Date: Fri, 6 May 2011 19:11:51 -0500 From: "JimF" <jfoug@....net> To: <john-users@...ts.openwall.com> Subject: John core change patch (and md5-gen, etc) This has been put on the wiki. It is actually 'based' as jumbo-2 (in the params.h, but that can be changed as needed). Here are the changes: If one of these 'not included', is the recent changes to the 'generic' (md5_gen), and the format changes (along with bench/format/loader), then hold up a little. I have been working hard on it. I have got these things. Many of these items were in the 1.7.6 patch. Many have been added since that patch. New formats: md5_gen(18) | PostOffice MD5 (PO) md5_gen(19) | Cisco PIX md5_gen(20) | Cisco PIX (salted) md5_gen(21) | HTTP Digest Access Auth md5_gen(22) | md5(sha1($p)) md5_gen(23) | sha1(md5($p)) md5_gen(24) | sha1($p.$s) md5_gen(25) | sha1($s.$p) md5_gen(26) | sha1-raw md5_gen(27) | OpenBSD MD5 (SSE working but SSE-para has not been added to these 2 formats yet) md5_gen(28) | Apache MD5 Significant changes to code in the md5_gen. I now try to use the 'md5_body' code, both the MD5_X2 and 'single', depending upon is listed in arch.h NOTE to do this, I had to expose some functions within md5_std.c (they were static). Also, I had to call the init function, for MD5_IMM builds (that issue mad me pull my hair out for a while). This was a big change, but makes a big difference. md5_gen is now working/tested with big-endian systems (only a X2 actually built and tested). However, all changes should work on an X1 build. There were numerous changes needed to get many of the formats working. Also, many of the better optimizations had to be done differently, so as to not have to call swap functions all over the place. The format structure has been changed. All format files have been updated. New method is 'prepare'. Also, the init and valid take a pointer to the format structure being used. The md5 gen (from the interface john sees, the format structure), is now a 'normal' format, and not a format that morphs itself. Thus when john loads the md5_gen, it will I have (again) gotten loader code updated (with the core changes). NOTE , there is one section I am not sure of. That section is the code that fixes a 'bugus' salt, or something like that. All 'special' code for md5_gen format has been removed from bench.c and format.c All 'special' loader code for formats has been removed from loader.c. It is now contained within the prepare function of the *_fmt.c files. Changes made to md5-mmx.S and sha1-mmx.S (and the header files), to get SSE2/MMX code working for VC builds. To do this, you still have to build with MinGW (to build the .S files, into .o files). The main changes are additions of marshal functions usable by VC to properly setup the stack and registers, prior to jumping to the 'real' functions. All of this code is properly #defined, so it will not impact any other build at all. New 'filter' in john.conf 'simple' unicode conversions within md5_gen. Not utf8->unicode, but simple ASCII->unicode Fixed DOS formatting on DMD5_fmt.c Added __declspec(align(16)) for VC (properly #defined) for all MMX/SSE2 data. NT format properly works with PWdump files, in prepare function. Prior code only LM worked. Updated the PHPS 'thin' client to new md5_gen 'thin' code (needed since core changes) Wrote many 'thin' formats, but they will be released later as individual patches. memory cleanup for 'tiny' memory routines. in mysqlSHA1, reduce size of SSE memset, and perform last SSE to not byte swap final. also new SSE SHA1 function. the --subformat command line switch has been depricated. Still there, due to nice --subform=list syntax Changed many #if defined into #ifdef and if !defined into #ifndef, since I saw many $ifdef _MSC_VER in 1.7.7 which were #if defined() before. Bumped PLAINTEXT_LENGTH of ns_fmt from 15 to 25 Bumped PLAINTEXT_LENGTH of mssql05_fmt from 20 to 25 In mssql05_fmt, commented out setting the 2nd unicode bytes to 0. There already is a memset, so these are redeundant and not needed.
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.