Messages : 689
Sujets : 13
Inscription : Jan. 2011
Réputation :
0
Donnés : +2 ( 100%) Reçus : +11 -4 ( 46%)
Sam. 23 Juil. 2011, 13:05
(Modification du message : Jeu. 02 Fév. 2012, 10:36 par le G.O.)
Hello.
àa ne m'est pas arrivé souvent, mais il peut s'avérer pratique de pouvoir récupérer les fichiers d'une carte formatée. En général, on trouve plein de petits logiciels (gratuits ou payants) pour récupérer les fichiers effacés. Mais quand la carte est formatée, c'est un peu plus compliqué de retrouver ses données.
Alors j'ai cherché et je n'ai pas trouvé grand chose. Soit c'était payant et c'était pas terrible. Soit c'était gratuit et c'était encore pire.
Du coup, je me suis développé mon truc (Linux, Mac dans un futur proche, Windows probablement).
àa gère les fichiers JPG, TIFF (et donc les variantes CR2,NEF,PEF,DNG,ARW,SR2,...), CRW, BMP, PCX, WAV, ZIP
Par contre, les fichiers CRW des firmwares alternatifs n'ayant pas ni entête, ni tags descriptifs, il n'est pas possible de les retrouver dans un flux non borné.
Si y en a qui veulent beta-tester, le programme est sous Linux-64bits pour le moment mais ça peut très bien se lancer avec un LiveCD
On trouve des LiveCD Linux ici (Ubuntu)
Deux possibilités pour récupérer les données:
faire une image de la carte mémoire puis lancer le programme sur l'image
(le nom de votre carte doit apparaitre, il faut prendre son identifiant, par exemple /dev/sdd1)
Citation :/dev/sdd1 on /media/EOS_DIGITAL type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush)
Code : dd if=/dev/sdd1 of=image.bin
(copie en brut toute la carte dans le fichier image.bin)
si votre carte mémoire a des erreurs, il faut alors demander à dd de sauter les secteurs défectueux (deux possibilités à tester)
Code : dd if=/dev/sdd1 of=image.bin conv=noerror
dd if=/dev/sdd1 of=image.bin conv=notrunc,noerror
Ensuite lancer le programme sur le fichier. On peut aussi vérifier que le programme lit correctement tel ou tel type de RAW en lui donnant le fichier et en vérifiant qu'il trouve bien la bonne taille.
Code : ./ripper7.exe -i image.bin
mais sinon, le programme peut lire directement la carte mémoire, pour peu qu'on soit en mode root (ou alors on utilise sudo)
Code : sudo ./ripper7.exe -i /dev/sdd1
Citation :roudoudou@roudoudou-P67A-UD3:~/code/ripper6$ sudo ./ripper7.exe -i /dev/sdd1
INFO (ripper7.c) L743 - GetParametersFromCommandLine - input file: /dev/sdd1
INFO (ripper7.c) L660 - ExtractFiles - size=1Gb
INFO (ripper7.c) L198 - ExtractBMP - found BMP (400x400) size=480054
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000000.BMP] saved
INFO (ripper7.c) L165 - ExtractPCX - Found PCX 400x400 size=252607
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000001.PCX] saved
INFO (ripper7.c) L241 - ExtractJPG - found JPG (900x599) size=145553
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000002.JPG] saved
INFO (ripper7.c) L198 - ExtractBMP - found BMP (325x416) size=137528
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000003.BMP] saved
INFO (ripper7.c) L165 - ExtractPCX - Found PCX 325x416 size=165377
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000004.PCX] saved
INFO (ripper7.c) L44 - ExtractZIP - Found ZIP packed size=133726
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000005.ZIP] saved
INFO (ripper7.c) L588 - ExtractTIFF - CR2 file found 21175799 bytes (Canon EOS 7D)
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000006.CR2] saved
INFO (ripper7.c) L588 - ExtractTIFF - CR2 file found 20859768 bytes (Canon EOS-1Ds Mark III)
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000007.CR2] saved
INFO (ripper7.c) L588 - ExtractTIFF - CR2 file found 26374329 bytes (Canon EOS 5D Mark II)
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000008.CR2] saved
INFO (ripper7.c) L241 - ExtractJPG - found JPG (0x0) size=4 ça c'est un faux positif que je n'ai pas eu le temps de régler... :mrgreen:
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000009.JPG] saved
INFO (ripper7.c) L113 - ExtractCRW - Found CRW (Canon PowerShot G5) size=4439068
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000010.CRW] saved
INFO (ripper7.c) L588 - ExtractTIFF - CR2 file found 20092969 bytes (Canon PowerShot G10)
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000011.CR2] saved
INFO (ripper7.c) L113 - ExtractCRW - Found CRW (Canon PowerShot S60) size=4857494
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000012.CRW] saved
INFO (ripper7.c) L113 - ExtractCRW - Found CRW (Canon PowerShot S70) size=9136404
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000013.CRW] saved
INFO (ripper7.c) L588 - ExtractTIFF - NEF file found 20230988 bytes (NIKON D2X)
INFO (ripper7.c) L18 - SaveFile - [RECOVER00000014.NEF] saved
[...]
Les fichiers en sortie sont écrits dans le répertoire courant avec le préfixe RECOVER, suivi d'un compteur à 8 chiffres, plus l'extension du fichier reconnu.
Pour les extensions RAW non citées dans ce post, c'est que je n'ai pas eu le temps de les ajouter. Cependant, l'extraction devrait fonctionner et donner un nom de fichier TIFF à la place. Je me suis occupé des appareils les plus vendus pour le moment, le reste va suivre.
Pour le téléchargement, c'est ici
Enjoy
note: Pour que la récupération fonctionne, il faut que les données soient séquentielles, c'est pour ça qu'il est important de formater sa carte au lieu d'effacer les photos, pour que les données ne soient pas fragmentées.
note 2: Le fichier s'appelle ripper7.exe mais ce n'est PAS un programme Windows. Patientez un peu...
Aglapi
Messages : 228
Sujets : 5
Inscription : Juil. 2008
Réputation :
4
Donnés : +70 -12 ( 70%) Reçus : +33 -3 ( 83%)
Lun. 25 Juil. 2011, 10:30
Quel est l'avantage par rapport à un programme comme TestDisk, qui fonctionne déjà plutôt bien ?
Messages : 352
Sujets : 6
Inscription : Fév. 2010
Réputation :
4
Donnés : 0 Reçus : +24 -8 ( 50%)
Lun. 25 Juil. 2011, 11:17
effectivement j'avais utilisé PhotoRec de la suite TestDisk
ça marche pas mal du tout, c'est multi-plateforme
même si c'est assez rustique, ça m'a sauvé la vie une fois (mais seulement avec du jpeg)
Moronzola, comment tu as fait pour les CR2 et autres formats RAW? c'est des formats propriétaires... à moins de faire du reverse-engineering sur les en-têtes je vois pas trop...
Les catas font mieux passer les périodes sans argent que l'argent ne fait passer les périodes sans catas
Messages : 689
Sujets : 13
Inscription : Jan. 2011
Réputation :
0
Donnés : +2 ( 100%) Reçus : +11 -4 ( 46%)
Lun. 25 Juil. 2011, 12:26
fdaniel a écrit :Quel est l'avantage par rapport à un programme comme TestDisk, qui fonctionne déjà plutôt bien ?
Testdisk ne semble pas fonctionner sur les partitions reformatées. Mon programme lit un media en brut donc pas besoin de réparer ni même de modifier un seul octet de la source pour retrouver des informations. Est-ce que tu considères que ne pas modifier le media endommagé est un avantage?
Pour PhotoRec, je suis super content de voir qu'il a évolué depuis (à l'époque, il ne gérait pas les formats RAW). Vu qu'il gère les formats RAW actuels, pas besoin d'utiliser mon petit programme. Ce topic aura au moins servi à remonter l'information que des softs gratuits existent (vu qu'en général, ce sont les payants qui ont pignon sur rue).
Pour info, les formats RAW propriétaires ne le sont pas vraiment (sauf le CRW). En fait, ils sont encapsulés dans une évolution du format TIFF appelée TIFF/EP (pour electronic photo). En faisant des tentatives de décodage de l'arborescence TIFF, on peut retrouver le TIFF complet (et donc les RAW) dans le flux de données. Ensuite, en fonction du modèle de l'appareil qu'on trouve dans un tag TIFF (Canon, Nikon, Pentax, ...) il suffit de donner une extension différente au fichier en sortie et le tour est joué.
A la rigueur, j'vais plutôt apporter des briques supplémentaires à PhotoRec pour les formats de fichier qu'il ne gère pas.
Merci.
Aglapi
Messages : 790
Sujets : 9
Inscription : Août 2009
Réputation :
8
Donnés : +98 -10 ( 81%) Reçus : +68 -5 ( 86%)
Lun. 25 Juil. 2011, 12:36
Sources ?
(et le binaire ".exe", :roll: )
Je clair Luc, ne pas ?
Messages : 665
Sujets : 11
Inscription : Juil. 2005
Réputation :
3
Donnés : +93 -26 ( 56%) Reçus : +140 -15 ( 80%)
Lun. 25 Juil. 2011, 14:46
yom a écrit :Sources ?
(et le binaire ".exe", :roll: ) Assisté. Compiler avec gcc c'est pas très compliqué quand même. Et pour les indécrotables windosiens, il existe aussi un compilateur gcc qui va bien.
@Moronzola: Belle idée. On voit la maitrise du scripting :wink:
La nature hait l'uniformité et adore la diversité. C'est peut être là que se reconnait son génie. B. Werber.
Messages : 689
Sujets : 13
Inscription : Jan. 2011
Réputation :
0
Donnés : +2 ( 100%) Reçus : +11 -4 ( 46%)
Lun. 25 Juil. 2011, 16:16
Je viens de regarder un peu le code source de Photorec (au hasard CRW et TIFF pour les RAW) et...
Le code qui permet de récupérer les fichiers CRW ne peut fonctionner (ou alors peut-être sur un seul modèle d'appareil).
Le code qui permet de récupérer les RAW (Tiff/EP) est incomplet et laborieux et de l'aveu du codeur, ne fonctionne pas avec tout, notamment le DNG qui est pourtant un TIFF ultra standard. J'ai pas regardé le reste, mais bon...
Bref.
Le source va venir d'ici quelques jours, patience, j'ai déjà ajouté pas mal d'autres formats hier (audio, video)
Affaire à suivre.
Aglapi
Messages : 689
Sujets : 13
Inscription : Jan. 2011
Réputation :
0
Donnés : +2 ( 100%) Reçus : +11 -4 ( 46%)
Lun. 25 Juil. 2011, 17:28
Pis parce que c'est pas le tout d'ouvrir sa gueule, j'ai envoyé mon code CRW et TIFF à mister Grenier qui développe PhotoRec. On verra si le soft est maintenu et si il répond. Comme ça, Yom pourra dérouiller son gcc dans tous les sens :p
EDIT: Rapide à répondre le monsieur, le projet est toujours actif, je vais donc m'y intégrer pour améliorer l'existant.
Aglapi
Messages : 5 315
Sujets : 721
Inscription : Sep 2006
Réputation :
113
Donnés : +758 -161 ( 64%) Reçus : +2675 -452 ( 71%)
Mar. 26 Juil. 2011, 04:34
Belle initiative, je ne peux qu'approuver et remercier, et suivre de près l'actu de ce logiciel que je ne connaissais pas.
Est-ce que ça marcherait aussi - le tien ou l'existant - pour récupérer des raws sur une carte devenue subitement illisible mais o๠les fichiers sont sans doute encore là  ? La réponse étant contenue dans la question - DIY ... - je testerai à l'occasion.
Mini-administrator - F2R TLAV TMTS MDR DTC
"Mon travail c'est qu'il y a un max de pub autour de ckzone." - Moi
Messages : 689
Sujets : 13
Inscription : Jan. 2011
Réputation :
0
Donnés : +2 ( 100%) Reçus : +11 -4 ( 46%)
Mar. 26 Juil. 2011, 07:05
Pour toi qui est en Nikon, il va peut-être falloir attendre une mise à jour.
On s'est aperçu que certains NEF (le D50 par exemple) stockaient les données RAW sous forme de plein de petits JPEG lossless collés au TIFF. On les repère facilement car sur un stockage physique, les chances que deux fichiers se suivent à l'octet près sont de 1/(taille de secteur physique). De plus, ces JPG ont la particularité de ne pas renseigner les dimensions de l'image (puisque ce n'est pas vraiment une image qui est compressée). J'ai fait la mise à jour sur le mien et là , je dois lui envoyer du code compatible avec ce qu'il a fait. Autre particularité et sans qu'on sache pourquoi, il y a parfois un octet en rab entre ces JPG. La radio-activité peut-être...
Aglapi
Messages : 2 367
Sujets : 10
Inscription : Juil. 2008
Réputation :
58
Donnés : +960 -46 ( 90%) Reçus : +2505 -155 ( 88%)
Mar. 26 Juil. 2011, 20:56
(Modification du message : Jeu. 02 Fév. 2012, 10:35 par le G.O.)
Moronzola a écrit :les chances que deux fichiers se suivent à l'octet près sont de 1/(taille de secteur physique). Ben non, du coup c'est 1/(taille de secteur physique - taille du 1er fichier - octet radioactif)
ça fait quand même une différence notable, surtout si t'en parles à la mouche que je viens d'enculer.
(KOP qui fait semblant de comprendre)
[KOP] parce que les patates, ça pousse sous terre.
Messages : 2 369
Sujets : 56
Inscription : Oct. 2007
Réputation :
2
Donnés : 0 Reçus : +3 -2 ( 20%)
Tain, c'est top classe, ça devient un forum de dev ici ...
Bon, Morondoudou, je vais quand même prendre le temps de voir ton travail, même si je suis assez adepte de PhotoRec.
Dans la boîte à vitesses de la connerie, y a pas de marche arrière.
Messages : 3 116
Sujets : 48
Inscription : Nov. 2003
Réputation :
43
Donnés : +590 -119 ( 66%) Reçus : +949 -67 ( 86%)
avant d'aller jusqu'à compiler du code pour résoudre ton problème, as-tu vérifié que ton ordinateur est bien branché et que tu as pressé le bouton pouvoir ?
Plaisir de nuire, joie de décevoir.
Messages : 689
Sujets : 13
Inscription : Jan. 2011
Réputation :
0
Donnés : +2 ( 100%) Reçus : +11 -4 ( 46%)
(Lun. 25 Juil. 2011, 12:36)yom a écrit : Sources ?
(Jeu. 02 Fév. 2012, 09:29)DarkMZ a écrit : Tain, c'est top classe, ça devient un forum de dev ici ...
Bon, Morondoudou, je vais quand même prendre le temps de voir ton travail, même si je suis assez adepte de PhotoRec.
Hello.
Après avoir un peu échangé avec la personne qui centralise les sources de PhotoRec, j'ai laissé tomber l'idée de participer à "son" projet. D'une part son usine à gaz est un parcours du combatant à compiler, d'autre part aucun des contributeurs n'est remercié (Ça doit faire moins classe sur son CV qu'on lui corrige ses bugs et lacunes...) Bref, pas faute de lui avoir envoyé des algos et du code, faut que tout lui tombe dans la main sans qu'il fasse quoi que ce soit. Curieux comportement.
J'avais déjà envoyé mon code à quelques explorateurs qui ont eu des soucis avec la maréchaussée. Testé avec succès.
Si ça intéresse toujours certains:
http://www.roudoudou.com/export/ripper7.tar
Compilation: cc ripper7.c -DOS_LINUX
Et bonne année
Aglapi
Messages : 6 414
Sujets : 776
Inscription : Oct. 2003
Réputation :
36
Donnés : +2645 -137 ( 90%) Reçus : +1470 -254 ( 70%)
(Jeu. 02 Fév. 2012, 20:24)Moronzola a écrit : Hello.
Après avoir un peu échangé avec la personne qui centralise les sources de PhotoRec, j'ai laissé tomber l'idée de participer à "son" projet. D'une part son usine à gaz est un parcours du combatant à compiler, d'autre part aucun des contributeurs n'est remercié (Ça doit faire moins classe sur son CV qu'on lui corrige ses bugs et lacunes...) Bref, pas faute de lui avoir envoyé des algos et du code, faut que tout lui tombe dans la main sans qu'il fasse quoi que ce soit. Curieux comportement.
J'avais déjà envoyé mon code à quelques explorateurs qui ont eu des soucis avec la maréchaussée. Testé avec succès.
Si ça intéresse toujours certains:
http://www.roudoudou.com/export/ripper7.tar
Compilation: cc ripper7.c -DOS_LINUX
Et bonne année
Les mecs qui veulent tout sans rien faire il y en a des masses...
Par contre elle en est où la version Mac ?
|