file recovery

hey,
I've been wondering, how do file recovery programs work? Once a file is deleted, the reference to it is simply deleted and the actual data is still there. So how does a program scan the hard drive to look for files? How does it know where a program starts and stops?

(please be as specific as possible.. I seriously want to know what code you could use, or the concept behind it and a good reading material would be appreciate)

Thanks
Last edited on
The starting point and ending point formats of common file types are pretty standard and well known, crack some files on your computer open with vim and take a look (http://www.vim.org/). A file recovery program simply scans the physical disk for entities that do not show up in the File Table. This does mean that it can only identify file types that it knows and it only has a limited capacity to identify anything else.
thanks, that helped a lot, but now i wonder if anyone can point me to a way that i can read my hard disk data with c++
Probably won't find many people willing to point you in the right direction, as people who typically use programming to read previously deleted files are data thieves trying to steal personal information on an old hard drive.
Topic archived. No new replies allowed.