Date: Sat, 5 Mar 2011 21:35:24 -0600 From: "jfoug" <jfoug@....net> To: <john-dev@...ts.openwall.com> Subject: RE: welcome Alex, Thanks for the welcome. This list has been needed for a while. I will list the items that I am working on, and the stage of them. I have made some of the final changes to early md5-gen. I am now sort of waiting on the jumbo-13 or the next major version release. 2 of the changes I have are pretty deep into the john core code. 1. Added several new flags. 2. Got User name working (one issue that caused me to make some of the other larger changes to john. 3. Changed md5-gen from a single 'thin' format, into a format that changes into multiple 'normal' formats. This was a very large change. It touched each format, since to properly pull it off in C, interface changes were needed in the format.salt() and format.valid() functions. I had to pass in a pointer to the object in each of those functions (if this was C++ this would have been trivial, but in c we had to give a little 'this' help. This meant that every format required touching, simply to add the new params to the valid (and optional salt) function. The other major changes were to bench.c and formats.c (the benching and the sanity checking code). 4. Added another new function to the format. This format is called 'prepare' In it, this function is passed an array of strings. This array is the exact set taken from the passwd file (or any 'input' file). The format will then return the ciphertext string. It can do things like add user name, domain, etc. It 'builds' the cihpertext properly FOR the format. Before, this code was scattered ALL over the loader.c code, and was very convoluted. Also, to do things like add user name, domain, etc to a format, you had to tie your format into one of a couple of places in loader.c code. Now, each format can be in charge of what data is 'pulled' from the line. This prepare function is called right before the valid. The prepare (if called), returns a char * that is the ciphertext. By 'default', the elemnt is returned (the ciphertext). Also if there is only 1 string, and it is over 13 bytes, it is returned (as was in a recent change to john to handle a file of only hash strings) There were a dozen of so formats I built a 'prepare' function for. This is how I ended up doing the 'raw' hash working with md5-gen (as it is also done in NT format, etc). Also, there will be the ability to rip any 'part' of the line, and use it (such as userID, etc). I am also working on a program which will 'generate' proper md5-gen scripts (to put into john.conf). But I have not completed this project yet. When done, it will be a stand alone 'linkage' back into john, such as the unique program is. All of these changes are things I would like to see get built into the jumbo, or into john proper (whichever Aleex feels is the best fit). It would be nice if others who had john patches/upgrades, whether just a plan actually started, or working, would share just what changes they were working on. It would be nice to have an idea what areas are getting worked on. Jim. >-----Original Message----- >From: Solar Designer [mailto:solar@...nwall.com] >Hi, > >This is our new mailing list for John the Ripper development topics. > ......
Powered by blists - more mailing lists
Powered by Openwall GNU/*/Linux - Powered by OpenVZ