Negli ultimo giorni mi sto dedicando allo studio dei metodi per riparare i file in formato jpg che, recuperati con tools di data carving (foremost per esempio), risultano danneggiati. A tal fine risulta essenziale comprendere come il file è strutturato. In rete ho trovato le specifiche del formato JPEG e JPEG JFIF. Tuttavia vi sono parti del file la cui funzione non ho ancora compreso. L'esame esadecimale dei file ha mostrato alcune caratteristiche comuni ai vari file, nello specifico prendo un estrazione esadecimale di esempio -------------------------------------------------------------------------- 0000000: ffd8 ffe0 0010 4a46 4946 0001 0102 0000 ......JFIF...... 0000010: 0000 0000 ffdb 0043 0008 0606 0706 0508 .......C........ 0000020: 0707 0709 0908 0a0c 140d 0c0b 0b0c 1912 ................ 0000030: 130f 141d 1a1f 1e1d 1a1c 1c20 242e 2720 ........... $.' 0000040: 222c 231c 1c28 3729 2c30 3134 3434 1f27 ",#..(7),01444.' 0000050: 393d 3832 3c2e 3334 32ff db00 4301 0909 9=82<.342...C... 0000060: 090c 0b0c 180d 0d18 3221 1c21 3232 3232 ........2!.!2222 0000070: 3232 3232 3232 3232 3232 3232 3232 3232 2222222222222222 0000080: 3232 3232 3232 3232 3232 3232 3232 3232 2222222222222222 0000090: 3232 3232 3232 3232 3232 3232 3232 ffc0 22222222222222.. 00000a0: 0011 0802 ad03 4603 0122 0002 1101 0311 ......F.."...... 00000b0: 01ff c400 1f00 0001 0501 0101 0101 0100 ................ 00000c0: 0000 0000 0000 0001 0203 0405 0607 0809 ................ 00000d0: 0a0b ffc4 00b5 1000 0201 0303 0204 0305 ................ 00000e0: 0504 0400 0001 7d01 0203 0004 1105 1221 ......}........! 00000f0: 3141 0613 5161 0722 7114 3281 91a1 0823 1A..Qa."q.2....# 0000100: 42b1 c115 52d1 f024 3362 7282 090a 1617 B...R..$3br..... 0000110: 1819 1a25 2627 2829 2a34 3536 3738 393a ...%&'()*456789: 0000120: 4344 4546 4748 494a 5354 5556 5758 595a CDEFGHIJSTUVWXYZ 0000130: 6364 6566 6768 696a 7374 7576 7778 797a cdefghijstuvwxyz 0000140: 8384 8586 8788 898a 9293 9495 9697 9899 ................ 0000150: 9aa2 a3a4 a5a6 a7a8 a9aa b2b3 b4b5 b6b7 ................ 0000160: b8b9 bac2 c3c4 c5c6 c7c8 c9ca d2d3 d4d5 ................ 0000170: d6d7 d8d9 dae1 e2e3 e4e5 e6e7 e8e9 eaf1 ................ 0000180: f2f3 f4f5 f6f7 f8f9 faff c400 1f01 0003 ................ 0000190: 0101 0101 0101 0101 0100 0000 0000 0001 ................ 00001a0: 0203 0405 0607 0809 0a0b ffc4 00b5 1100 ................ 00001b0: 0201 0204 0403 0407 0504 0400 0102 7700 ..............w. 00001c0: 0102 0311 0405 2131 0612 4151 0761 7113 ......!1..AQ.aq. 00001d0: 2232 8108 1442 91a1 b1c1 0923 3352 f015 "2...B.....#3R.. 00001e0: 6272 d10a 1624 34e1 25f1 1718 191a 2627 br...$4.%.....&' 00001f0: 2829 2a35 3637 3839 3a43 4445 4647 4849 ()*56789:CDEFGHI ------------------------------------------------------------------
agli offset 0x0000ef e 0x00001c6 si notano cominciare due stringhe: -1A Qa "q 2 -!1 AQ aq "2 Queste rappresentano praticamente uno standard di moltissime immagini jpg. Potremmo anzi ipotizzare l'esistenza di più di uno standard ti tali tipo, in quanto con poche variazioni di posizione dei caratteri, troviamo altre stringhe di questo tipo, che su un campionamento abbastanza vasto potremmo mostrare si ripetono. A seguito di tali stringhe troviamo il carattere ?, 3f in esadecimale, oltre il quale abbiamo i dati veri e propri. Mi domandavo se qualcuno di voi sappia spiegarmi cosa tali stringhe rappresentano (tag, marker, o simili). Ho scaricato diversa documentazione ufficiale, relativa ai marker delle JFIF, ai tag degli exif, ecc) e cercato in lungo ed in largo per la rete senza trovare nulla di specifico. Grazie per l'interessamento. saluti Denis Frati -- Denis Frati [EMAIL PROTECTED] [EMAIL PROTECTED] www.denisfrati.it
________________________________________________________ http://www.sikurezza.org - Italian Security Mailing List
