Click here to Skip to main content
15,890,825 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
C#
Hi there.

I want to design  a software with the following features, this is only for educational purposes.

1) Select the HDD that I want to recover data from.
2) Select the type of files, I mean (.doc, .ppt, .pub, .pdf) ... and so on.
3) I want to search this files like Winhex, I mean, directly in the hard disk drive.

This project is aimed for getting my degree, help is needed.

Thanks a lot in advanced and I will be waiting for your reply.


Regards.
Michael
Posted
Comments
Sergey Alexandrovich Kryukov 19-Dec-15 23:45pm    
Degree of what? Of a cheater?
If you are still learning the basics of programming, you are not yet working at your degree. If you are working at your degree and cannot do the elementary things, you are not qualified for your degree. We already have enough fake degrees around, to help to get another one.
—SA
Member 11267069 21-Dec-15 11:01am    
Mister Sergey, first of all, show your good manners, I am currently studying and, in my major this topics are not studied, this is a project that I wanted to implement, to build-up by my own.

Secondly, I am here because you are experts, I do not want you permform the work for me, just point me in the correct direction. I have to admit that is verry disappointing that you show this attitude...

Look the other comments, they are trying to help... just remember when you used to be an student, image receiving this answer...

Regards
Michael
Sergey Alexandrovich Kryukov 21-Dec-15 11:44am    
Thank you for being so considerate, but you have to understand: you disappointed me no less, with your desire to earn your degree without being able to do some search to start with. (I cannot blame you for not solving the data recovery problem itself; it is overly complicated; perhaps the main problem is that you want to solve the problem which just needs more time than your whole education time at your school.)

Our participation is strictly voluntary, and we don't help when we feel it inappropriate.

Now, I seriously think that I am trying to give you even more help than authors of other comments, because I think I know: what you need is not really file search; what you really need is to rethink your life. I'm really sorry if you disagree, but I would consider giving you some programming help, even help, just unethical. Please understand: you will get your degree. But who will need your help as an engineer, if you don't even want to read most trivial help pages and find a way to solve the problem?

I really want to help, but I know that I'm right here. If you could prove me wrong, I would gladly admit it, but I see nothing which could affect my opinion so far. Sorry, no.

—SA
Member 11267069 22-Dec-15 11:50am    
Hi Mister Sergey.

Well, I must admit that this answer is better, and belive in me when I say that I really understand your point of view, sadly you do not know me, I am not lazy as you might think, I am a hard-working men that tryies to be up to date; I have also earned a lot of knowledge in my major, related to electricity and electronics, not for data recovery, this software is intended for educational purposes, I have performed a software that can actually have contact with sectors.

I also agree with you in this terms, the ethical or unethical help, from here there is no way I could prove how serious and self-comprimises person I am.

And answering the last point, I could not prove that you are wrong because you don´t ; you are the expert and this is clear for all here, I did not want to pretend being irrespectful, just eager to find "ways" in wich ones I could focus on.

Thanks for your time and I will be checking further posts, comments related to this topic, and, as other ussers and you have posted, google some examples and explanations.

My best regards to you Mister Sergey.
Michael
Sergey Alexandrovich Kryukov 22-Dec-15 12:19pm    
You are very welcome.
I didn't say I knew you, I reacted to the immediate impression which your original post is created. I would be glad to learn that it did not reflect you real personality. And it would be wrong to go personal on this site. It's appropriate and could be useful to criticize only the posts, idea, approaches, opinions, solution, but not personalities. Nevertheless, I really appreciate your constructive approach to criticism, it's one of the important prerequisites to success.

I'm glad if I somehow managed to write something useful for you. By the way, will you accept the answer formally?
In all cases, your follow-up questions will be welcome.

Good luck, call again.

—SA

There are some points that you don't seem to know. If you would know them, you might have not selected such a project.

A hard disk drive is partitionated and may therefore contain multiple 'drives'. So when selecting a HDD, it might be also necessary to select the partition. When selecting by drive letter instead, you must identify the partition that hosts the drive. As a result, your program must read the partition table and be able to determine the low level start address and size of partitions.

A partition hosts some kind of file system. With Windows this is usually NTFS but may be also FAT32 or even FAT16. So your program must be able to read the file system directory structures to locate directories and files.

If you want to copy the data of specific files ("recover data" indicates this), you must then be able to step through the file system dependant list of blocks occupied file.

Overall, it is a really ambitious project.
 
Share this answer
 
Comments
Member 11267069 21-Dec-15 11:15am    
Hi there, thank you very much for such a good explanation.
The thing is that I really know how ambcious this project is, and by checking the information that you gave me... Now I relly know that maybe this is too much, in my major this type of topics are not commonly seen, I have just want to desing somthing free and getting my degree, as you can see I am still a student.

Please sir, could you please show me places (links) where can I study this? , or related topics with Hard Disk Drives.

Your help will be very appreciated.

My best regards.
Michael
Sergey Alexandrovich Kryukov 21-Dec-15 12:03pm    
Well, that I can do, but my warning for you is: even if I spent, say, 100 times more time for giving you some information, it would hardly give you a lot more help than you could get by searching the Web yourself. Besides, it hardly can help you much in making the whole job.

See Solution 2. Sorry, not really a solution. :-(

—SA
Jochen Arndt 21-Dec-15 12:13pm    
As already mentioned by Sergey, that can be all found in the web.

For code examples you may also study open source code like from parted and the Linux implementation of various file systems.
Sergey Alexandrovich Kryukov 21-Dec-15 11:49am    
Perhaps you had to mention the term "volume", instead of "drive" in quotation mark. Partition may or may not be a volume. The real problem is that the question is not well-posed, and it is even self-contradictory. If the data is lost, there are no .doc, .ppt, etc.
—SA
Jochen Arndt 21-Dec-15 12:17pm    
You are right, volume is a better term.

When answering I initially thought about mentioning logical volumes too. But handling these is another increase of complexity.
Unfortunately, the problem is not posed in a way adequate to the big problem of data recovery. In particular, everything highly depends on the file system(s) used. In practice, from the samples of the file name patterns, all or most of them will be NTFS.

To get an idea of the complexity of the data recovery field, take a look: http://ntfs.com[^].

But there are a lot more file systems… Besides, the partition structure can be damaged, and a lot more.

I would estimate the change of getting a decent well-earned degree in this field, starting from your level (which I don't really know, but the answer and comments tall the tail), as very low. Sorry, it's just hard for me to imagine. Maybe you should better avoid mentioning the degree issues in your question, honestly.

Sorry for not giving you any "real" help. It would be just impossible by some ethical and "economical" reasons (try to estimate realistically how much data recovery software may cost). It it was possible, I would not be sure who deserves the degree, you or the one who would help you.

—SA
 
Share this answer
 
v4

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900