Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 25 Jun 2014 00:58:41 +0200
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: split vs prepare

On 2014-06-25 00:26, magnum wrote:
> Here's the order things happen (I think) when you load a hash for cracking:
>
> "input line" -> prepare() -> valid() -> split() -> "source"
>
> This "source" is what will be written to the pot file in case we crack
> the hash - and binary() and salt() will be called with "source". But I'm
> not quite sure how cracked hashes are found when loading a file. What is
> really needed to recognize a .pot line which does not resemble an input
> line?

OK, an obvious difference when loading a *pot* file line is we never 
call prepare().

I'm trying to wrap my head around this. Let's say we load this line from 
an input file:

user:UPPERCASE_HASH

and we have this line in the pot file:

lowercase_hash:password

The format will load the "input line" -> prepare() -> valid() -> split() 
-> "source" as above. Source is now "TAG$lowercase_hash". Then -> binary().

When comparing a pot file line, it will go:

"input line" -> valid() -> split() -> binary() -> binary_hash()

Hmmm but if we are comparing binaries, how come an untagged hash was not 
recognized when I tried doing tagging in prepare()?!

I'm confused.

magnum

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ