Contributed patches for John the Ripper

This is the page and DokuWiki namespace to upload unofficial JtR patches to (yes, the wiki supports file uploads). Please do. Links to external websites with JtR patches are also acceptable. Significant updates to this wiki page (such as newly added patches) are to be announced on the john-users mailing list (in addition to updating the wiki page, not instead of that).

NOTE, old patches are found at !!!OLD!!! Contributed patches for John the Ripper

Whatever way you choose to share your code with the community, please make sure you're generating your patches properly and licensing your code properly.

The difference from the “contributed resources” list on the JtR homepage and the contrib/ FTP directory is that patches and links found on the wiki become available to the community right away, without review by Openwall website and FTP server maintainers.

Patch Author Description
generic crypt(3) support Solar Designer Status: separate patch, currently relevant.
Normally, JtR uses its own optimized crypto code, but this patch lets it also use the underlying Unix-like system's crypt(3) function. This is particularly useful for cracking glibc 2.7+ "SHA-crypt" hashes (such as on recent Fedora and Ubuntu) until proper “native” support for that is implemented. Other uses are possible as well.
MySQL(323)-old fast algorithm for 1.7.2 Balázs Bucsay Status: integrated into jumbo patch
raw-MD5 fast algorithm for 1.7.2 Balázs Bucsay Status: integrated into jumbo patch
Oracle 11g for 1.7.2 Alexandre Hamelin Status: integrated into jumbo patch
Oracle 11g for 1.7.3.1 Alexandre Hamelin Status: integrated into jumbo patch
mpi10 patch for 1.7.3.1 RB Status: separate patch, currently relevant.
Latest stripped version of bindshell.net MPI patch.
mpi10 patch for 1.7.5 magnum Status: separate patch, currently relevant. This is just the same as above after hand-editing the rejects
Extended MPI for 1.7.5 magnum Status: separate patch, currently relevant. This is version 3. Apply after jumbo-2
See mailing list announcement
JimF patch for 1.7.3.4-jumbo-2 JimF Status: integrated into 1.7.4-jumbo-2 and above.

Rollup of all JimF's released patches, with a significant update to generic md5.

This patch should be run on a clean 1.7.3.4 which has had the 1.7.3.4-jumbo-2.diff run.

Included in the patch are:

Performance Patch
– Memory file
– Larger hash tables
– Less file IO
MinGW and VC porting / #defines
Many new options
– Added an optional [=Section] to -single and -rules
– Added an optional [=left] to -show (outputs the hashes uncracked)
– Added an optional [MAX] to the -salt
– Added new option -salt-list=
– Added new option -pot=potfile
– Added new option -nodupes
– Added new option -subformat= (for md5-generic)
– Added new option -field-separator-char=c (allows using a field sep char OTHER than the colon : char
MD5 'Generic' processing
– 17 builtin's and running as fast as 'native' formats
– 'hooks' provided so other formats can become VERY thin, and use generic md5.
— phpass format is now 'thin' and linked to gen-md5 code
— PHPS format is now 'thin' and linked to gen-md5 code
— there are others which could be linked, but right now, only these 2
– Formats CAN now be added, without changing john's code
— new formats (over md5_gen(1000) are added to john.conf
— there are many examples in the updated john.conf, along with FULL documentation
— a new file doc\MD5_GENERIC documents how to use generic md5
the -v2 of this patch
– 'fixes' a bug that did not allow MMX to work in generic md5
– Improves speed of md5_gen(12) and md5_gen(13)
– fixes a compile warning in wordlist.c
– fixes benchmark discrepancy in phpass
Test data for Generic MD5 JimF Status: currently relevant for testing of jumbo patch revisions.
(v3, Oct 27, 2009) Test data, and pw.dic file containing all passwords for the test cases. There is a test case for raw-md5, and for md5_gen(0) to md5_gen(15). Each when run through john should find all 1320 passwords. The salted hashes only have 66 unique passwords (but multiple hashes). The non-salted hashes use all 1320 passwords out of the password list file (v2 test data added md5_gen(17) phpass, and 'native' phpass format. v3 added 1 salt md5_gen(6))
Add filter support for markov mode Bartavelle Status: revised and merged into 1.7.5-jumbo-2 and above

Yes, I'd like people to start using this wiki page to publish their patches. The above is just not enough, with most patches being submitted by other means (which is fine) and no mention on this page (which is not fine). - solar

Also, there's a page on existing efforts to introduce parallel processing and distributed processing into JtR.

Back to John the Ripper user community resources.