si tu as des données importantes, je peux peut etre t'aider(en effet un de mes ami qui avait perdu ses .avi sur une partoche a fait un petit programme pas con du tout et me l'a envoyé cet aprem):
il te faut connaître (approximativement au moins) la taille de tes fichiers à récupérer, ainsi que les headers de ces fichiers.
ensuite, tu vas légèrement modifier le programme suivant:
int main( int argc, char **argv )
{
long offset;
off_t off;
int in, out;
char *buffer;
long i, len, pos;
char pattern[] = PATTERN;
long pattern_len = strlen(PATTERN);
int count;
in = open64( argv[1], O_LARGEFILE|O_RDONLY );
if( in == -1 )
{
perror( "in:" );
exit(1);
}
- editer le #define PATTERN correspondant au header du fichier et mettre des '.' à la place des caractères variables d'un header à l'autre.
- modifier la ligne "long size = *(long*)(buffer+4);" pour mettre dans size la taille de ton fichier (mieu vaut surevaluer, apres tu pourras toujours couper dedans avec head par exemple) en octet.
puis il te faut:
- compiler ca avec:
"gcc aa.c -o aa -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
- prier pour que ton fichier ne soit pas fragmenté
pour les arguments:
"./aa /dev/partoche /rep/de/sauvegarde [nombre de fichiers à sauter (en cas d'interruption)]"
# Re: Au secours !!! Perte de données !
Posté par Temsa . En réponse au journal Au secours !!! Perte de données !. Évalué à 5.
il te faut connaître (approximativement au moins) la taille de tes fichiers à récupérer, ainsi que les headers de ces fichiers.
ensuite, tu vas légèrement modifier le programme suivant:
les modifs à faire, sont:
- editer le #define PATTERN correspondant au header du fichier et mettre des '.' à la place des caractères variables d'un header à l'autre.
- modifier la ligne "long size = *(long*)(buffer+4);" pour mettre dans size la taille de ton fichier (mieu vaut surevaluer, apres tu pourras toujours couper dedans avec head par exemple) en octet.
puis il te faut:
- compiler ca avec:
"gcc aa.c -o aa -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
- prier pour que ton fichier ne soit pas fragmenté
pour les arguments:
"./aa /dev/partoche /rep/de/sauvegarde [nombre de fichiers à sauter (en cas d'interruption)]"