|
Message-ID: <BAY105-F343E1BC6EC9F93AF2554A6FDA20@phx.gbl> Date: Fri, 26 Jan 2007 21:41:27 +0100 From: "Frank Dittrich" <frank_dittrich@...mail.com> To: john-users@...ts.openwall.com Subject: RE: Re: how to find a password of 16 digits Johnny wrote: >After hours I now that I have the choice between these three alternatives: >- make my won 16digits.chr Rather useless without any statistical information regarding "letter" frequency ... >- compile an external mode or >- generate a wordlist. You mean a file? How large do you expect it to be? >Right or are there some more possibilities? You didn't let us know how many "passwords" per second your program can process... >If I try to compile an external mode, my john.ini looks like this: >[List.External:MyDigits] >void init() >{ > > word[15] = $[0-9]; $[0-9]$[0-9]$[0-9]$[0-9]$[0-9]$[0-9]$[0-9]$[0-9]$[0-9]$[0-9] could work as a set of *MANY* rules to append 10 digits to a wordlist of passwords consisting of 6 digits (which you could create using incremental mode with MinLen = 6 and MaxLen = 6). But I doubt that John The Ripper was designed to process that many rules. For external mode, you have to use C-like syntax (a subset of C, actually). The following external mode definition ######################################################## [List.External:16Digits] void init() { word[0] = word[1] = word[2] = word[3] = word[4] = word[5] = word[6] = word[7] = word[8] = word[9] = word[10] = word[11] = word[12] = word[13] = word[14] = '0'; word[15] = '0' - 1; word[16] = 0; } void generate() { word[15]++; if(word[15] > '9') { word[15] = '0'; word[14]++; if(word[14] > '9') { word[14] = '0'; word[13]++; if(word[13] > '9') { word[13] = '0'; word[12]++; if(word[12] > '9') { word[12] = '0'; word[11]++; if(word[11] > '9') { word[11] = '0'; word[10]++; if(word[10] > '9') { word[10] = '0'; word[9]++; if(word[9] > '9') { word[9] = '0'; word[8]++; if(word[8] > '9') { word[8] = '0'; word[7]++; if(word[7] > '9') { word[7] = '0'; word[6]++; if(word[6] > '9') { word[6] = '0'; word[5]++; if(word[5] > '9') { word[5] = '0'; word[4]++; if(word[4] > '9') { word[4] = '0'; word[3]++; if(word[3] > '9') { word[3] = '0'; word[2]++; if(word[2] > '9') { word[2] = '0'; word[1]++; if(word[1] > '9') { word[1] = '0'; word[0]++; if(word[0] > '9') { word = 0; } } } } } } } } } } } } } } } } } ######################################################## works. Run john like this: ./john --external=16digits --stdout | head -n 30 You'll see the first 30 "passwords": 0000000000000000 0000000000000001 0000000000000002 0000000000000003 0000000000000004 0000000000000005 0000000000000006 0000000000000007 0000000000000008 0000000000000009 0000000000000010 0000000000000011 0000000000000012 0000000000000013 0000000000000014 0000000000000015 0000000000000016 0000000000000017 0000000000000018 0000000000000019 0000000000000020 0000000000000021 0000000000000022 0000000000000023 0000000000000024 0000000000000025 0000000000000026 0000000000000027 0000000000000028 0000000000000029 But one problem remains. You'll probably have to wait 100 years to complete processing, even if you can genrate and process several million passwords per second. Regards, Frank _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ -- To unsubscribe, e-mail john-users-unsubscribe@...ts.openwall.com and reply to the automated confirmation request that will be sent to you.
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.