Quoting Dag Wieers <[EMAIL PROTECTED]>:
> On Fri, 16 Sep 2005, Dag Wieers wrote:
> > Revelation cannot handle a disk-full situation. I just lost all my 
> > passwords (file was 0 bytes in size).
> I immediately remounted my partition read-only and then started to look 
> for the characteristics of a revelation file.
>       rvl\0\1\0\0\4
> But whatever I find, I don't know where the file ends. If I provide the 
> file to revelation, it asks the password and then gives an error:
>       The file '/dev/shm/test.rvl' contains invalid data.
> Are there any procedures to restore such a file (or at least know what the 
> length should be) ?

Well, it's possible:

First of all, you need to make sure that the file size minus 28 is a multiple of
8 bytes in length. If it is not, you have to remove enough bytes so that it is.

Let us say your file is 399 bytes long. 399 - 28 is 371 bytes. 371 modulo 8 is
3, which means that the file is 3 bytes too long. Remove those 3 bytes from the
end of the file.

Next, you must decrypt the data. This can be done by the script in this email:


You may also want to apply this patch:


Running this script will give you the plaintext XML. You can then open the
plaintext XML in a text editor and remove any junk data which may be following

Also, *if* you don't have the entire XML data it will not be well-formed and no
XML parser in the world would accept it. So you need to fix the XML by adding
the necessary closing tags to make it well-formed.

Once this is done, you can use the Import File function in Revelation and select
file format Revelation XML. You should then hopefully be able to import your

> Also what command would be best to find a file that starts with 
> "rvl\0\1\0\0\4". I am know using:
>       grep -az "rvl$" -A 10000 /dev/hda5
> Which is not optimal.

Not really sure, since I can't test it, but something like this:

grep -az "rvl\0.\0\0..\0\0\0" -A 10000 /dev/hda5

You may have to tell grep to use extended regular expressions, but I don't
remember the switch. I think it may be -r or something.

Good luck, hope it works out.

Reply via email to