Last week, I had bad surprise! My USB drive where I had my Rainbow tables crashed :( I launched a "fsck" on it and all files have been move in "lost+found" directory and lost their name !!!
Therefore, I passed some time to trying recover files. An previous adventure on forensic analysis was required to use a tool called ext3grep . It's very powerfull tool on ext3 file system (Just one thing that I must say about it. If you need to analyzed an image or a file bigger than 2 giga bytes you must use 64bits cpu)
So, first step, search blocks containing the string "md5_loweralpha" in the file name.
# ext3grep /dev/sdc1 --search md5_loweralpha
Running ext3grep version 0.9.0
Number of groups: 7453
Minimum / maximum journal block: 1551 / 4155397
Loading journal descriptors... sorting... done
The oldest inode block that is still in the journal, appears to be from 12218309
55 = Fri Sep 19 15:29:15 2008
Number of descriptors in journal: 563; min / max sequence numbers: 56 / 239
Blocks starting with "md5_loweralpha-numeric-symbol32-space":Running ext3grep version 0.9.0
Number of groups: 7453
Minimum / maximum journal block: 1551 / 4155397
Loading journal descriptors... sorting... done
The oldest inode block that is still in the journal, appears to be from 12218310
68 = Fri Sep 19 15:31:08 2008
Number of descriptors in journal: 563; min / max sequence numbers: 75 / 275
Blocks containing "md5_loweralpha-numeric-sym": 57541122 70502665 73269762 73269763 73269764 73269765
Next step list the content of each blocks identified below:
# ext3grep /dev/sdc1 ls block 73269764
Running ext3grep version 0.9.0
Number of groups: 7453
Minimum / maximum journal block: 1551 / 4155397
Loading journal descriptors... sorting... done
The oldest inode block that is still in the journal, appears to be from 1221831068 = Fri Sep 19 15:31:08 2008
Number of descriptors in journal: 563; min / max sequence numbers: 75 / 288
Group: 2236
Block 73269764 is a directory. The block is Unallocated
.-- File type in dir_entry (r=regular file, d=directory, l=symlink)
| .-- D: Deleted ; R: Reallocated
Indx Next | Inode | Deletion time Mode File name
==========+==========+data-from-inode+-+=========
0 1 r49086466 rrw-r- md5_loweralpha-numeric-symbol32-space#1-7_7_9000x40000000_#13.rt
1 2 r49086475 rrw-r- md5_loweralpha-numeric-symbol32-space#1-7_7_9000x40000000_#22.rt
2 3 r35258408 rrw-rr md5_loweralpha-numeric-symbol32-space#1-7_6_9000x40000000_#07.rt
3 4 r49086487 rrw-rr md5_loweralpha-numeric-symbol32-space#1-7_2_9000x40000000_#23.rt
4 5 r49086491 rrw-r- md5_loweralpha-numeric-symbol32-space#1-7_0_9000x40000000_#02.rt
Now, I have all informations that I need "inode numbers and name of files".
# mount /dev/sdc1 /mnt
# cp /mnt/lost+found/#49086466 MD5/md5_loweralpha-numeric-symbol32-space#1-7_7_9000x40000000_#13.rt
I encourage you to read this page for more info on Ext3grep.