Photorec échoue à récupérer certains fichiers JPG (valides et contigus)
-
- Posts: 50
- Joined: 07 Jun 2020, 20:38
- Location: France
Photorec échoue à récupérer certains fichiers JPG (valides et contigus)
En analysant une récupération j'ai constaté que Photorec échouait à récupérer certains fichiers JPG de format standard, valides et contigus (= non fragmentés), détectés correctement par d'autres logiciels (comme R-Studio ou même Recuva -- en analyse brute je précise ; ces fichiers n'étaient plus répertoriés sur la partition d'origine, il s'agissait vraisemblablement d'une ancienne copie, les fichiers correspondants encore répertoriés étaient localisés ailleurs sur la même partition). La récupération initiale ayant été faite avec Photorec 7.1 WIP, j'ai fait un test avec la version la plus récente disponible, obtenant exactement le même résultat.
À chaque fois, Photorec a extrait un fichier avec une taille trop élevée, incluant le début du fichier qui suit immédiatement, et a subséquemment loupé le fichier en question. Plusieurs dizaines de fichiers sont concernés, dans un dossier comportant des photos prises par deux appareils (un Sony et un Nikon -- je doute que ça ait une incidence vu que les deux fichiers manquants dans l'exemple ci-dessous proviennent d'un appareil différent, néanmoins dans les deux cas le fichier qui précède provient de l'appareil Sony). L'en-tête des fichiers exclus me semble tout à fait normal, et les fichiers précédents comportent un indicateur de fin de fichier JPG (FF D9), lequel devrait normalement être pris en compte pour déterminer où s'arrête un fichier.
Ci-dessous une archive incluant :
– une image partielle extraite à partir du début d'un fichier JPG correctement détecté par Photorec, d'une taille de 35Mo, et contenant 8 fichiers JPG
– les 6 fichiers récupérés par Photorec 7.2 WIP (donc 2 sont manquants)
– le fichier report.xml généré par Photorec
– un fichier texte avec un rapport détaillé
– une capture d'écran montrant une anomalie d'affichage, Photorec ayant été ouvert via l'invite de commande en spécifiant le chemin du fichier image en tant que cible (j'ignore si c'est une anomalie ponctuelle ou reproductible, je l'inclus à toute fin utile...)
Photorec 7.2 WIP test (échoue à récupérer certains fichiers JPG).7z
Dans d'autres cas, Photorec récupère uniquement une miniature, échouant à récupérer le fichier complet, pourtant valide et contigu ; je peux fournir un exemple similaire si nécessaire.
À chaque fois, Photorec a extrait un fichier avec une taille trop élevée, incluant le début du fichier qui suit immédiatement, et a subséquemment loupé le fichier en question. Plusieurs dizaines de fichiers sont concernés, dans un dossier comportant des photos prises par deux appareils (un Sony et un Nikon -- je doute que ça ait une incidence vu que les deux fichiers manquants dans l'exemple ci-dessous proviennent d'un appareil différent, néanmoins dans les deux cas le fichier qui précède provient de l'appareil Sony). L'en-tête des fichiers exclus me semble tout à fait normal, et les fichiers précédents comportent un indicateur de fin de fichier JPG (FF D9), lequel devrait normalement être pris en compte pour déterminer où s'arrête un fichier.
Ci-dessous une archive incluant :
– une image partielle extraite à partir du début d'un fichier JPG correctement détecté par Photorec, d'une taille de 35Mo, et contenant 8 fichiers JPG
– les 6 fichiers récupérés par Photorec 7.2 WIP (donc 2 sont manquants)
– le fichier report.xml généré par Photorec
– un fichier texte avec un rapport détaillé
– une capture d'écran montrant une anomalie d'affichage, Photorec ayant été ouvert via l'invite de commande en spécifiant le chemin du fichier image en tant que cible (j'ignore si c'est une anomalie ponctuelle ou reproductible, je l'inclus à toute fin utile...)
Photorec 7.2 WIP test (échoue à récupérer certains fichiers JPG).7z
Dans d'autres cas, Photorec récupère uniquement une miniature, échouant à récupérer le fichier complet, pourtant valide et contigu ; je peux fournir un exemple similaire si nécessaire.
-
- Posts: 2774
- Joined: 04 Jan 2019, 09:48
- Location: Hannover, Deutschland (Germany, Allemagne)
Re: Photorec échoue à récupérer certains fichiers JPG (valides et contigus)
Photorec finit un fichier au moment oû il trouve le fichier suivant. "FF D9" n'est pas tenu en compte.BitterColdSoul wrote: ↑10 Oct 2020, 08:44 En analysant une récupération j'ai constaté que Photorec échouait à récupérer certains fichiers JPG de format standard, valides et contigus (= non fragmentés), détectés correctement par d'autres logiciels (comme R-Studio ou même Recuva -- en analyse brute je précise ; ces fichiers n'étaient plus répertoriés sur la partition d'origine, il s'agissait vraisemblablement d'une ancienne copie, les fichiers correspondants encore répertoriés étaient localisés ailleurs sur la même partition). La récupération initiale ayant été faite avec Photorec 7.1 WIP, j'ai fait un test avec la version la plus récente disponible, obtenant exactement le même résultat.
À chaque fois, Photorec a extrait un fichier avec une taille trop élevée, incluant le début du fichier qui suit immédiatement, et a subséquemment loupé le fichier en question. Plusieurs dizaines de fichiers sont concernés, dans un dossier comportant des photos prises par deux appareils (un Sony et un Nikon -- je doute que ça ait une incidence vu que les deux fichiers manquants dans l'exemple ci-dessous proviennent d'un appareil différent, néanmoins dans les deux cas le fichier qui précède provient de l'appareil Sony). L'en-tête des fichiers exclus me semble tout à fait normal, et les fichiers précédents comportent un indicateur de fin de fichier JPG (FF D9), lequel devrait normalement être pris en compte pour déterminer où s'arrête un fichier.
Comme "FF D9" pourrait appartenir aux dates à l'intérieur du fichier cette méthode risque de raccourcir le fichier en question. Utiliser ce code serait seulement possible si la structure intérieure éviterait la combinaison "FF D9".
J'ai informé M. Grenier sur la documentation présente en fichier de type 7z.
-
- Posts: 50
- Joined: 07 Jun 2020, 20:38
- Location: France
Re: Photorec échoue à récupérer certains fichiers JPG (valides et contigus)
Certes, mais d'une part cette structure semble suffisamment spécifique dans le cas des fichiers JPG (et il doit bien en être tenu compte pour déterminer qu'un fichier est “broken”), d'autre part dans ce cas précis un en-tête JPG valide suit immédiatement, donc même sans prendre en compte le marqueur “FF D9” les fichiers f0008632.jpg et f0023560.jpg (dans cet exemple) devraient être interrompus au maximum à la limite du dernier cluster (ce qu'a fait Recuva pour ces mêmes fichiers), le résultat observé ici est clairement aberrant. Merci en tout cas d'avoir fait suivre.Photorec finit un fichier au moment oû il trouve le fichier suivant. "FF D9" n'est pas tenu en compte.
Comme "FF D9" pourrait appartenir aux dates à l'intérieur du fichier cette méthode risque de raccourcir le fichier en question. Utiliser ce code serait seulement possible si la structure intérieure éviterait la combinaison "FF D9".
-
- Posts: 50
- Joined: 07 Jun 2020, 20:38
- Location: France
Re: Photorec échoue à récupérer certains fichiers JPG (valides et contigus)
Tant que j'y suis, j'ai aussi constaté que certains fichiers WMA n'étaient pas détectés. Une autre petite image extraite (11Mo) contenant :
– 1 fichier MP3 correctement détecté,
– 4 fichiers WMA non détectés (j'ai bien activé le type “ASF, WMA, WMV” dans “File opt.”),
– 1 fichier “Thumbs.db” faussement identifié comme “.doc” (ce qui est systématique).
http://www.mediafire.com/file/a8ee2kqxyxvxg9v
– 1 fichier MP3 correctement détecté,
– 4 fichiers WMA non détectés (j'ai bien activé le type “ASF, WMA, WMV” dans “File opt.”),
– 1 fichier “Thumbs.db” faussement identifié comme “.doc” (ce qui est systématique).
http://www.mediafire.com/file/a8ee2kqxyxvxg9v
Code: Select all
00000000 Thumbs.db
00372736 Saint Seiya\Hades\01 Prologue - Légende nordique.wma
01937408 Saint Seiya\Hades\01-Hades OST.mp3
04931584 Saint Seiya\Hades\03 La tragédie d'un peuple.wma
07241728 Saint Seiya\Hades\10 Derbal dévoile sa force.wma
09310208 Saint Seiya\Hades\10 Souvenirs impérissables.wma
-
- Posts: 50
- Joined: 07 Jun 2020, 20:38
- Location: France
Re: Photorec échoue à récupérer certains fichiers JPG (valides et contigus)
Et encore une petite (15Mo) pour des fichiers MP3 mal ou non détectés.
http://www.mediafire.com/file/9461baw02o4eo3b
http://www.mediafire.com/file/9461baw02o4eo3b
Code: Select all
Fichier d'origine 00000000 Doom\At Doom's Gate.mp3 699147
Fichier récupéré 00050688 f0000099.mp3 648459 # début mal détecté par Photorec
Fichier d'origine 00700416 Doom\Dark Halls.mp3 2108632
Fichier récupéré 00827904 f0001617.mp3 1981144 # début mal détecté par Photorec
Fichier d'origine 02809856 Doom\Deep Into The Code.mp3 904689
Fichier récupéré 02839040 f0005545.mp3 875505 # début mal détecté par Photorec
Fichier d'origine 03719168 Doom\Demons on the Prey.mp3 1308243
Fichier récupéré 03719168 f0007264.mp3 1308243 # correct
Fichier d'origine 05029888 Doom\Donna to the Rescue.mp3 936677
Fichier récupéré 05029888 f0009824.mp3 936677 # correct
Fichier d'origine 05967872 Doom\End Game.mp3 464997
Fichier récupéré 05967872 f0011656.mp3 464997 # correct
Fichier d'origine 06434816 Doom\Facing The Spider.mp3 719527
Fichier récupéré 06567424 f0012827.mp3 586919 # début mal détecté par Photorec
Fichier d'origine 07155712 Doom\Hiding The Secrets.mp3 1082336
Fichier récupéré 07455712 f0013976.mp3 1082336 # correct
Fichier d'origine 08241152 Doom\I Sawed the Demons.mp3 1241369
Fichier récupéré 08241152 f0016096.mp3 1241369 # correct
Fichier d'origine 09486336 Doom\Intermission from Doom.mp3 1594963
Fichier récupéré 09486336 f0018528.mp3 1594963 # correct
Fichier d'origine 11083776 Doom\Kitchen Ace (And Taking Names).mp3 1397477
Fichier récupéré 11083776 f0021648.mp3 1397477 # correct
Fichier d'origine 12484608 Doom\Nobody Told Me About Id.mp3 1400189
Fichier récupéré -------- ------------ ------- # non détecté par Photorec
Fichier d'origine 13885440 Doom\On The Hunt.mp3 674408
Fichier récupéré 13885440 f0027120.mp3 674408 # correct
Fichier d'origine 14561280 Doom\Sign of Evil.mp3 1373653
Fichier récupéré 14561280 f0028440.mp3 1373653 # correct
- cgrenier
- Site Admin
- Posts: 5432
- Joined: 18 Feb 2012, 15:08
- Location: Le Perreux Sur Marne, France
- Contact:
Re: Photorec échoue à récupérer certains fichiers JPG (valides et contigus)
Bonjour
Merci pour l'archive avec cet extrait de disque. L'appareil photo DSC-W610 genère des jpg utilisant le Multiple Picture Format (MPF).
Plusieurs jpg ont été édités avec Microsoft Windows Photo Viewer. Il y a un bug dans cette version provoquant la conservation des informations MPF mais la suppression des images suivantes:
Je suis en train de mettre en ligne une nouvelle version de PhotoRec 7.2-WIP vérifiant la présence d'un entête jpg pour les jpg décrites dans l'entête MPF et en cas d'absence, tronquant le fichier au premier jpg.
Merci pour l'archive avec cet extrait de disque. L'appareil photo DSC-W610 genère des jpg utilisant le Multiple Picture Format (MPF).
Plusieurs jpg ont été édités avec Microsoft Windows Photo Viewer. Il y a un bug dans cette version provoquant la conservation des informations MPF mais la suppression des images suivantes:
Code: Select all
$ for file in recup_dir.1/f*.jpg; do echo $file; exiftool $file|grep -E "(Warning|Creator|^Camera|^MPF)"; done
recup_dir.1/f0000000.jpg
Camera Model Name : DSC-W610
MPF Version : 0100
recup_dir.1/f0008632.jpg
Camera Model Name : DSC-W610
Warning : [minor] Possibly incorrect maker notes offsets (fix by 4186?)
MPF Version : 0100
Creator Tool : Microsoft Windows Photo Viewer 6.1.7600.16385
recup_dir.1/f0015600.jpg
Camera Model Name : DSC-W610
Warning : [minor] Possibly incorrect maker notes offsets (fix by 4186?)
MPF Version : 0100
Creator Tool : Microsoft Windows Photo Viewer 6.1.7600.16385
recup_dir.1/f0023336.jpg
Camera Model Name : DSC-W610
Warning : [minor] Possibly incorrect maker notes offsets (fix by 2066?)
recup_dir.1/f0023560.jpg
Camera Model Name : DSC-W610
Warning : [minor] Possibly incorrect maker notes offsets (fix by 4186?)
MPF Version : 0100
Creator Tool : Microsoft Windows Photo Viewer 6.1.7600.16385
recup_dir.1/f0031536.jpg
Camera Model Name : COOLPIX S9200
Creator Tool : Microsoft Windows Photo Viewer 6.3.9600.16384
recup_dir.1/f0043800.jpg
Camera Model Name : COOLPIX S9200
Creator Tool : Microsoft Windows Photo Viewer 6.3.9600.16384
recup_dir.1/f0057112.jpg
Camera Model Name : COOLPIX S9200
Creator Tool : Microsoft Windows Photo Viewer 6.3.9600.16384
-
- Posts: 50
- Joined: 07 Jun 2020, 20:38
- Location: France
Re: Photorec échoue à récupérer certains fichiers JPG (valides et contigus)
Merci pour ce retour rapide. Il faut lire ici “conservation” je présume ? Ce sont donc des fichiers intégrant normalement plusieurs versions d'une même image, avec un nouvel en-tête JPG pour chaque ?Plusieurs jpg ont été édités avec Microsoft Windows Photo Viewer. Il y a un bug dans cette version provoquant la conversation des informations MPF mais la suppression des images suivantes:
Pour ce qui est de l'édition par Windows Photo Viewer, il est probable que cela arrive quand un utilisateur, généralement néophyte, fait pivoter les images prises en orientation “portrait” avec la visionneuse de base, d'ailleurs il semble (à vérifier) que les fichiers précédant les fichiers manqués soient tous en orientation “portrait”.
Il y a un cas étrange cependant où, sur la même partition du même disque dur de 3To en parfait état de fonctionnement, un même fichier JPEG (DSC_2941.jpg), suivi et précédé des mêmes fichiers JPEG (DSC_2940.jpg et DSC_2943.jpg), tous trois strictement identiques et présents en deux endroits de la partition dans le même ordre, a dans un cas été extrait correctement (bien que considéré “broken”, extrait sous le nom b3064832624.jpg) et dans l'autre n'a pas été extrait. Si j'extrais une image partielle du début du fichier n-1 (soit DSC_2940.jpg) jusqu'à la fin du fichier n+1 (DSC_2943.jpg), à ces deux emplacements, les deux fichiers obtenus (1569328525312-1569332203519 et 2075817197568-2075820875775) sont pourtant strictement identiques (vérifié par somme de contrôle).
Code: Select all
<creator>
<package>PhotoRec</package>
<version>7.1-WIP</version>
<build_environment>
<compiler>GCC 5.4, Cygwin32 2005.2</compiler>
<library name='libext2fs' version='1.43.1'/>
<library name='libewf' version='20140608'/>
<library name='libjpeg' version='libjpeg-turbo-1.5.0'/>
<library name='libntfs' version='10:0:0'/>
<library name='zlib' version='1.2.8'/>
</build_environment>
<execution_environment>
<os_sysname>Windows</os_sysname>
<os_release>Windows 7 (7601) SP1</os_release>
<os_version>Windows 7 (7601) SP1</os_version>
...
</execution_environment>
</creator>
...
[1569328525312-1569332203519]
<fileobject>
<filename>/cygdrive/k/TestDisk/recup_dir.86/b3064830584.jpg</filename> = DSC_2940.jpg
<filesize>1044480</filesize>
<byte_runs>
<byte_run offset='0' img_offset='1569328525312' len='1044480'/>
</byte_runs>
</fileobject>
<fileobject>
<filename>/cygdrive/k/TestDisk/recup_dir.86/b3064832624.jpg</filename> = DSC_2941.jpg
<filesize>1027072</filesize>
<byte_runs>
<byte_run offset='0' img_offset='1569329569792' len='1027072'/>
</byte_runs>
</fileobject>
<fileobject>
<filename>/cygdrive/k/TestDisk/recup_dir.86/b3064834632.jpg</filename> = DSC_2943.jpg
<filesize>1605632</filesize>
<byte_runs>
<byte_run offset='0' img_offset='1569330597888' len='1605632'/>
</byte_runs>
</fileobject>
<fileobject>
<filename>/cygdrive/k/TestDisk/recup_dir.86/b3064837768.jpg</filename> = DSC_3289.jpg
<filesize>1072640</filesize>
<byte_runs>
<byte_run offset='0' img_offset='1569332203520' len='1072640'/>
</byte_runs>
</fileobject>
...
[2075817197568-2075820875775]
<fileobject>
<filename>/cygdrive/k/TestDisk/recup_dir.90/b4054066272.jpg</filename> = DSC_2940.jpg
<filesize>1044480</filesize>
<byte_runs>
<byte_run offset='0' img_offset='2075817197568' len='1044480'/>
</byte_runs>
</fileobject>
<fileobject>
<filename>/cygdrive/k/TestDisk/recup_dir.90/b4054070320.jpg</filename> = DSC_2943.jpg
<filesize>1605632</filesize>
<byte_runs>
<byte_run offset='0' img_offset='2075819270144' len='1605632'/>
</byte_runs>
</fileobject>
<fileobject>
<filename>/cygdrive/k/TestDisk/recup_dir.90/b4054073456.jpg</filename> = DSC_3289.jpg
<filesize>1072640</filesize>
<byte_runs>
<byte_run offset='0' img_offset='2075820875776' len='1072640'/>
</byte_runs>
</fileobject>
...
Et le fichier report.xml reste vide, ce qui n'aide pas pour le diagnostic. Mais voici un extrait d'un fichier report.xml créé lors d'un test d'hier :
Code: Select all
<creator>
<package>PhotoRec</package>
<version>7.2-WIP</version>
<build_environment>
<compiler>GCC 9.3, Cygwin32 3001.4</compiler>
<library name='libext2fs' version='1.45.3'/>
<library name='libewf' version='20140608'/>
<library name='libjpeg' version='libjpeg-turbo-1.5.3'/>
<library name='libntfs' version='10:0:0'/>
<library name='zlib' version='1.2.11'/>
</build_environment>
<execution_environment>
<os_sysname>Windows</os_sysname>
<os_release>Windows 7 (7601) SP1</os_release>
<os_version>Windows 7 (7601) SP1</os_version>
<host>...</host>
<arch>i686</arch>
<uid>197608</uid>
<start_time>2020-10-10T12:46:35+0200</start_time>
</execution_environment>
</creator>
http://www.mediafire.com/file/y9sy7t88r6dtl38
Code: Select all
00000000 DSC_2940.jpg 1044423
01044480 DSC_2941.jpg 1026629
02072576 DSC_2943.jpg 1605440
[*] J'ai quand même fait le test par acquit de conscience : le résultat est bien évidemment le même avec le fichier 1569328525312-1569332203519.
Last edited by BitterColdSoul on 11 Oct 2020, 08:13, edited 1 time in total.
-
- Posts: 50
- Joined: 07 Jun 2020, 20:38
- Location: France
Re: Photorec échoue à récupérer certains fichiers JPG (valides et contigus)
J'ajoute donc quelques autres extraits / images partielles, correspondant à l'autre problème évoqué dans le premier message, à savoir des fichiers dont seule une miniature a été extraite, le fichier étant pourtant nommé selon le schéma de nommage général des fichiers et non celui spécifique aux images miniatures (f0012345.jpg et non t0012345.jpg). Je dois prévenir que la plupart des photos / images incluses sont clairement “NSFW” comme on dit, voire carrément dégueu pour certaines... (je décline toute responsabilité, ce n'étaient pas mes données !) ; mais ceci ne devrait point influer sur l'analyse strictement technique de ces anomalies.
1402879729664-1402880765951
1402458038272-1402460598271
1392909066240-1392910499839
Pour le groupe ci-dessous, Photorec 7.2 WIP a extrait correctement la deuxième image, contrairement à Photorec 7.1 WIP.
823815950336-823821320191
Et pour ce dernier groupe, les deux versions ont correctement extrait les trois fichiers, alors que lors de la récupération initiale sur l'ensemble du disque dur, Photorec 7.1 WIP (très probablement la même version exactement, je n'avais téléchargé qu'une version de ce nom) avait loupé le fichier .gif[*] ; je transmets quand même, à toute fin utile, ou inutile...
1402383114240-1402391822335
[*] La détection des fichiers GIF était bien activée puisque j'ai eu lors de la même analyse des fichiers vidéo valides et contigus tronqués à cause de signatures GIF contenues dans ceux-ci :
J'ai dû pour cela refaire une analyse en activant seulement la détection des fichiers MKV, MP4, WMV, AVI et ISO, vu que le logiciel utilisé pour le “gros” de cette récupération, à savoir R-Studio, en analyse “brute” par recherche de signatures, détectait très mal les MKV (ça s'est nettement amélioré depuis), parfois mal les AVI (ça c'est encore le cas avec les plus récentes versions), pas du tout les ISO (d'autres types d'images de volumes sont disponibles mais point celui-ci), tandis que ce disque dur comportait de nombreux WMV fragmentés pour lesquels l'un ou l'autre logiciel donnait un meilleur résultat au cas par cas (pour certains Photorec coupait pile à la fin du fragment valide et R-Studio ajoutait un fragment étranger à la suite, pour d'autres c'était le contraire, ou alors Photorec détectait bien la fin du fragment valide mais tentait de trouver ailleurs le ou les fragment(s) complémentaire(s), échouant à chaque fois et ajoutant donc un morceau inutile, car sur un DD de 3To où les fragments peuvent aller se mettre à peu près n'importe où -- parfois 1To plus loin, parfois même avant le début du fichier -- il est quasiment impossible de faire un assemblage correct, à moins d'avoir un algorithme d'analyse suffisamment précis pour déterminer, selon le type de fichier et selon le contenu de la fin du fragment N, à quoi doit ressembler le début du fragment N+1, ce qui doit être d'une effroyable complexité...) ; j'avais également désactivé la détection des MPG, car d'une part des signatures MPG se trouvaient dans certains fichiers ISO d'après la première analyse, empêchant leur extraction complète, et d'autre part c'est un type de fichier pour lequel la détection brute produit généralement de piètres résultats, vraisemblablement du fait que l'on trouve de multiples structures d'en-tête au sein d'un même fichier, et donc on peut avoir des dizaines voire des centaines de petits fichiers extraits pour chaque fichier valide et contigu d'origine -- c'est encore le cas avec R-Studio, Photorec s'en sort globalement beaucoup mieux mais les cafouillages restent nombreux (idem pour les fichiers MTS / M2TS qui ont la même particularité).
EDIT : En fait après vérification, dans l'exemple ci-dessus il ne s'agit pas d'une fausse signature GIF (cela arrive aussi mais plus souvent avec les JPG et MP3), mais d'un fichier GIF valide intégré dans le fichier MKV. On peut d'ailleurs trouver toutes sortes de fichiers dans un MKV : JPG, GIF, SRT, TTF... j'ai même déjà vu un MKV intégrant la B.O. d'un film sous forme de fichiers audio dans une archive ZIP ou RAR. Ce qui doit évidemment poser problème pour la récupération de tels fichiers par recherche de signatures.
1402879729664-1402880765951
Code: Select all
Fichier d'origine 00000000 Kristin%20Kreuk010_01~1.jpg 477029
Fichier PR 7.2 WIP 00000000 f0000000.jpg 477029 # correct
Fichier d'origine 00479232 Kristin%20Kreuk__S3b_10-04.08..jpg 222803
Fichier PR 7.2 WIP 00486400 f0000950.jpg 5412 # image entière non extraite, seulement miniature
Fichier d'origine 00704512 Kristin%20Kreuk__S3b_50-02_10_.jpg 331349
Fichier PR 7.2 WIP 00704512 f0001376.jpg 331349 # correct
Code: Select all
Fichier d'origine 00000000 60263_ThMichelleTrachtenberg002_122_198lo.jpg 553305 # correct
Fichier PR 7.2 WIP 00000000 f0000000.jpg 544469
Fichier d'origine 00557056 62303_IZb49_e352c580479a0d39153b88647f407fa2_123_600lo.jpg 1086466
Fichier PR 7.2 WIP 00566272 f0001106.jpg 7362 # image entière non extraite, seulement miniature
Fichier d'origine 01646592 64721_psycho_michelle_003_123_336lo.jpg 912484
Fichier PR 7.2 WIP 01646592 f0003216.jpg 912484 # correct
Code: Select all
Fichier d'origine 00000000 016.jpg 519620
Fichier PR 7.2 WIP 00000000 f0000000.jpg 519620 # correct
Fichier d'origine 00520192 017.jpg 452954
Fichier PR 7.2 WIP 00530432 f0001036.jpg 8684 # image entière non extraite, seulement miniature
Fichier d'origine 00974848 018.jpg 457731
Fichier PR 7.2 WIP 00974848 f0001904.jpg 457731 # correct
823815950336-823821320191
Code: Select all
Fichier d'origine 00000000 femjoy_5055363_015.jpg 1899304
Fichier PR 7.2 WIP 00000000 f0000000.jpg 1899304 # correct
Fichier PR 7.1 WIP 00000000 f0000000.jpg 1899304 # correct
Fichier d'origine 01900544 femjoy_5055363_016.jpg 1724810
Fichier PR 7.2 WIP 01900544 f0003712.jpg 1724810 # correct
Fichier PR 7.2 WIP 01909248 f0003729.jpg 5034 # image entière non extraite, seulement miniature
Fichier d'origine 03633152 femjoy_5055363_017.jpg 1733033
Fichier PR 7.2 WIP 03633152 f0007096.jpg 1733033 # correct
Fichier PR 7.2 WIP 03633152 f0007096.jpg 1733033 # correct
1402383114240-1402391822335
Code: Select all
Fichier d'origine 00000000 f0000000.jpg 150337 104027265_10.jpg 150337
Fichier PR 7.2 & 7.1 00000000 f0000000.jpg 150337 104027265_10.jpg 150337 # correct
Fichier d'origine 00151552 f0000296.gif 8032705 1040462733.gif 8032705
Fichier PR 7.2 & 7.1 00151552 f0000296.gif 8032705 1040462733.gif 8032705 # correct / n'avait pas été détecté lors de l'analyse initiale sur le disque dur entier avec PR 7.1 WIP
Fichier d'origine 08187904 f0015992.jpg 518558 1093109054.jpg 518558
Fichier PR 7.2 & 7.1 08187904 f0015992.jpg 518558 1093109054.jpg 518558 # correct
[*] La détection des fichiers GIF était bien activée puisque j'ai eu lors de la même analyse des fichiers vidéo valides et contigus tronqués à cause de signatures GIF contenues dans ceux-ci :
Code: Select all
<fileobject>
<filename>f704461528.gif</filename>
<filesize>3173</filesize>
<byte_runs>
<byte_run offset='0' img_offset='360819568640' len='3584'/> => fichier GIF correspondant à un logo intégré dans le MKV
</byte_runs>
</fileobject>
<fileobject>
<filename>f704800296.mkv</filename>
<filesize>173306832</filesize>
<byte_runs>
<byte_run offset='0' img_offset='360993017856' len='173306880'/>
</byte_runs>
</fileobject>
<fileobject>
<filename>f704461504.mkv</filename>
<filesize>173460277</filesize>
<byte_runs>
<byte_run offset='0' img_offset='360819556352' len='12288'/> => fichier MKV interrompu à 12288 à cause du fichier GIF détecté à 360819568640
<byte_run offset='12288' img_offset='360819572224' len='173445632'/> => fragment suivant décalé, donc fichier résultant illisible
<byte_run offset='173457920' img_offset='361166324736' len='2560'/>
</byte_runs>
</fileobject>
EDIT : En fait après vérification, dans l'exemple ci-dessus il ne s'agit pas d'une fausse signature GIF (cela arrive aussi mais plus souvent avec les JPG et MP3), mais d'un fichier GIF valide intégré dans le fichier MKV. On peut d'ailleurs trouver toutes sortes de fichiers dans un MKV : JPG, GIF, SRT, TTF... j'ai même déjà vu un MKV intégrant la B.O. d'un film sous forme de fichiers audio dans une archive ZIP ou RAR. Ce qui doit évidemment poser problème pour la récupération de tels fichiers par recherche de signatures.
- cgrenier
- Site Admin
- Posts: 5432
- Joined: 18 Feb 2012, 15:08
- Location: Le Perreux Sur Marne, France
- Contact:
Re: Photorec échoue à récupérer certains fichiers JPG (valides et contigus)
Je viens de tester le fichier "2075817197568-2075820875775" avec la dernière version 7.2-WIP sous Linux.
Le test a duré moins de 0.1s. Les fichiers "broken" ont des informations exif ne respectant un ordre croissant des TAG et au niveau de la miniature, il y a aussi une corruption:
Pour le coup, je n'arrive pas à reproduire le problème de consommation CPU excessif et je confirme que les jpg sont bien corrompus.
Code: Select all
[kmaster@adsl 20201011]$ time /home/kmaster/src/testdisk/src/photorec /debug /log /d recup_dir /cmd 2075817197568-2075820875775 options,keep_corrupted_file,search
PhotoRec 7.2-WIP, Data Recovery Utility, October 2020
Christophe GRENIER <grenier@cgsecurity.org>
https://www.cgsecurity.org
real 0m0.082s
user 0m0.032s
sys 0m0.024s
[kmaster@adsl 20201011]$ ls -l recup_dir.1/
total 3624
-rw-rw-r--. 1 kmaster kmaster 1044480 Dec 13 1901 b0000000.jpg
-rw-rw-r--. 1 kmaster kmaster 1028096 Dec 13 1901 b0002040.jpg
-rw-rw-r--. 1 kmaster kmaster 1605632 Jul 23 2014 b0004048.jpg
-rw-rw-r--. 1 kmaster kmaster 2087 Oct 11 09:23 report.xml
-rw-rw-r--. 1 kmaster kmaster 4418 Dec 13 1901 t0000000.jpg
-rw-rw-r--. 1 kmaster kmaster 4222 Dec 13 1901 t0002040.jpg
-rw-rw-r--. 1 kmaster kmaster 8360 Jul 23 2014 t0004048.jpg
[kmaster@adsl 20201011]$ exiftool -v -v recup_dir.2/b0000000.jpg|grep Warning
| Warning = Tag ID 0x0112 Orientation out of sequence in IFD0
| Warning = Tag ID 0x0110 Model out of sequence in IFD0
| Warning = Tag ID 0x0101 ImageHeight out of sequence in IFD0
| Warning = Tag ID 0x9209 Flash out of sequence in IFD0
| Warning = Tag ID 0x9208 LightSource out of sequence in IFD0
| Warning = Tag ID 0x0132 ModifyDate out of sequence in IFD0
| Warning = Tag ID 0x0100 ImageWidth out of sequence in IFD0
Code: Select all
jpeg: Corrupt JPEG data: 24 extraneous bytes before marker 0xd9
- cgrenier
- Site Admin
- Posts: 5432
- Joined: 18 Feb 2012, 15:08
- Location: Le Perreux Sur Marne, France
- Contact:
Re: Photorec échoue à récupérer certains fichiers JPG (valides et contigus)
Ces 2 problèmes sont corrigés:BitterColdSoul wrote: ↑10 Oct 2020, 11:41 Tant que j'y suis, j'ai aussi constaté que certains fichiers WMA n'étaient pas détectés. Une autre petite image extraite (11Mo) contenant :
– 1 fichier MP3 correctement détecté,
– 4 fichiers WMA non détectés (j'ai bien activé le type “ASF, WMA, WMV” dans “File opt.”),
– 1 fichier “Thumbs.db” faussement identifié comme “.doc” (ce qui est systématique).
https://github.com/cgsecurity/testdisk/ ... ce08b45aab
https://github.com/cgsecurity/testdisk/ ... ad516848dd