Programa de recuperação de arquivos excluídos usando C C ++

Quero escrever um programa que possa recuperar arquivos excluídos do disco rígido (partição FAT32 / NTFS do Windows). Não sei por onde começar. Qual deve ser o ponto de partida disso? O que devo ler para prosseguir com isso? É necessária ajuda. Quais estruturas no nível do sistema devo estudar?

questionAnswers(4)

yourAnswerToTheQuestion