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 command).
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]> http://erikg.codepoet.no/ "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] sys.exit(1) file = sys.argv[1] # load data try: data = io.file_read(io.file_normpath(file)) handler = datahandler.Revelation() handler.check(data) except IOError: print "Can't load data from file %s" % file sys.exit(1) except datahandler.FormatError: print "%s isn't a valid Revelation datafile" % file sys.exit(1) # check the password while True: try: password = sys.stdin.readline() if password == "": break elif password[-1] == "\n": password = password[:-1] handler.import_data(data, password) print "Valid password found: %s" % password break except datahandler.PasswordError: print "Invalid password: %s" % password continue