Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 5 Nov 2009 19:30:52 -0600
From: "JFoug" <>
To: <>
Subject: Re: tutorials on the wiki

> I've just reclaimed the "tutorials" page/section on the wiki for its
> original intended use, moving Pete's misplaced content to "development".
> The tutorials page is at:

I will get an advanced howto tutorial put together on how to build a 'new' 
generic md5 formats, into the john.conf.    Would you want this as native 
wiki pages, or as downloadable data?

I figure for this, I will need to:

1.  Explain the data structures within the generic environment. Data such as 
input buffers, crypt 'output' buffers, salt buffers (yes, I do have salt2 
working), constants buffers (I have added ability to have up to 8 
'constants), count of passwords, the passwords themselves, etc.

2.  Explain the layout of the script within john.conf

3.  Explain the 'flags' which are the characterstics of the format.

4.  Describe the functions.   Also describe how the function script is run, 
just a simple walk down a list of functions.

5.  Explain the 'flags' which are special optimization flags.  Explain the 
side effects, and show scripts written with and without them.  Most of the 
optimization flags allow us to reduce the number of crypts, to eliminate 
certain steps at startup, etc.   Explain a little of the guts of how john 
works (enough to explain how and why certain things can be sped up, with 
precomputations).  Information of this type, is knowledeg that john sets all 
of the passwords (128 for generic md5), and then simply tries salts one a 
time, then sets each salt and calls crypt_all, then testing.  Also, that how 
loading of the hashes, and salts is done, and what information about the 
salts is used within john, and how it can be manipulated for speed gain. 
This knowledge of the underbelly of john is required for most of the 
optimizations (as it is with doing most any format).

6.  Go through several examples.  From simple ones, to some more complex, to 
some complex where they can be done in multiple ways, such as with some of 
the optimization functions.


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.