Hm, I quickly whipped up a script which uses the Revelation libraries.
Just call it with the data file as an argument, and feed it passwords
through stdin (enter manually with keyboard, or pipe from a file or

On Sun, 2006-05-28 at 16:37 +0200, Christian Tschabuschnig wrote:
> i was able to do it myself after going through the revelation-sourcecode 
> which was hard for me since i don't know anything about python. i 
> attached the small perl-script which creates all the possible 
> combinations of the expected subscripts of the password, using every 
> string only once. putting
> aaa
> bbb
> ccc
> into the file "words" should give you
> aaa
> aaabbb
> aaabbbccc
> aaaccc
> aaacccbbb
> bbb
> bbbaaa
> bbbaaaccc
> bbbccc
> bbbcccaaa
> ccc
> cccaaa
> cccaaabbb
> cccbbb
> cccbbbaaa
> just in case anyone need's it. there has to be an empty line at the end 
> of "words". it's really a quick hack and the few comments are in german.
> it should be possible to use the output of my script with the one you 
> posted. i also attached my version which is an ugly copy-and-paste of 
> the code i found in revelation and it only works if it's in the 
> base-directory of revelation-sourcecode...
Erik Grinaker <[EMAIL PROTECTED]>

"We act as though comfort and luxury were the chief requirements of
life, when all that we need to make us happy is something to be
enthusiastic about."
                                                  -- Albert Einstein
#!/usr/bin/env python

import sys
from revelation import datahandler, io

# check arguments
if len(sys.argv) < 2:
	print "Usage: %s <file>" % sys.argv[0]

file = sys.argv[1]

# load data
	data = io.file_read(io.file_normpath(file))
	handler = datahandler.Revelation()

except IOError:
	print "Can't load data from file %s" % file

except datahandler.FormatError:
	print "%s isn't a valid Revelation datafile" % file

# check the password
while True:
		password = sys.stdin.readline()

		if password == "":

		elif password[-1] == "\n":
			password = password[:-1]

		handler.import_data(data, password)

		print "Valid password found: %s" % password

	except datahandler.PasswordError:
		print "Invalid password: %s" % password

Reply via email to