ugyanaz a zip - vagy mégsem?

Fórumok

Jobb helyet nem találtam a kérdésemnek. Egyébként meg azt hiszem túl régóta vagyok rendszergazda.
Követem egy Lengyel fotográfus munkáját. Naponta zip-ben lehet letölteni a képeit. Ma rsync-el frissítettem a másik gépen található backup-ot. Ekkor vettem észre hogy az egyik ilyen zip két helyen is megvan.

Mezei user az állomány hosszának ellenörzése után törölné az egyiket. Power user-ként nekiestem md5sum-al ellenőrizni, ugyanaz-e a kettő. Persze nem, holott utólag megnézve hosszra ugyanaz a kettő. Akkor az egyik sérült lehet. Próba kitömörítés, mindkettő sértetlen, ugyanazok az állományok vannak benne. Egyre gyanusabb.

Képek md5sum értékei különbözőek a két zip-ből. Hosszra pedig itt is egyezés van. Úgy jelenítettem meg azokat, hogy space vált közöttük, de akárhogyis, egyezőnek látom azokat.
Aha! Biztos az EXIF-ben van valami. Részletes megjelenítés, de itt is egyezés van.
Egyre morcibb vagyok, dd if=kep1 of=resz1 bs=1024 count=2 és kep2-re ugyanígy egyeznek a részek.

Ha se az eleje, se a vége (EXIF) nem tér el, hosszra megegyeznek, vizuálisan ugyanazok, akkor miben tér el a két kép? md5sum árulkodik... Ilyen titkosítás kell nekem! :)
Tudom, hibáztam az elején, elég lett volna az 'ls -l', kellett nekem md5sum-al kezdenem.

Hozzászólások

Miért csak az elejét és a végét nézed? Minden egyes byte-ot össze kellene hasonlítani, nem?

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Közepén elvileg a kép nem térhet el, annak nem látom értelmét. Vizuálisan megnézve legalábbis ugyanaz a két kép. Tudom, vannak kódolások amik pont arra építenek hogy a szem úgysem látja a különbséget. Feltéve, hogy a pixelek szinben nagyon hasonlítanak és viszonylag távol vannak egymástól.

Egyébként tudom, minden byte-ot össze kellene hasonlítani. Bináris diff-em nincs, hogy ezt megtegyem.

Ott a pont, bár nem derül ki hogy a cmp kiírja-e az összes különbséget vagy csak az elsőt.
gcs@julia:~$ cmp 1/STW018755.jpg 2/STW018755.jpg
1/STW018755.jpg 2/STW018755.jpg differ: byte 18572, line 66

Megnézem mit mondanak a keresők a cmp parancsról. man lap nem segített hogy mennyi darab különbséget jelenít meg.

cmp első különbség után kilép, ha végig ért, akkor meg 'return 0'. csak arra lett kitalálva, hogy eldönthesd, különbözik-e a két file. persze az, hogy a GNU verzió mit csinál, már más kérdés.

Továbbá témához: https://en.wikipedia.org/wiki/Steganography#Digital

--------------------------------------
Unix isn't dead. It just smells funny.

Nem tudom hogy ugyanaz van-e itt is, de a gzip tárolja emlékeim szerint a timestamp-et, ezért minden egyes gzip tömörítés ugyanazon az adaton más hash-t eredményez. Sejtem itt is ez lesz:


$ echo hello szia > out
$ zip -k out1.zip out 
  adding: OUT (stored 0%)
$ zip -k out2.zip out 
  adding: OUT (stored 0%)
$ ls -l
total 12
-rw-rw-r--. 1 andras andras  11 Sep 23 00:02 out
-rw-rw-r--. 1 andras andras 167 Sep 23 00:02 out1.zip
-rw-rw-r--. 1 andras andras 167 Sep 23 00:02 out2.zip
[andras@notebook Desktop]$ md5sum *
e216548f00f0558d0195e4610af57ed6  out
805fc4bf8eda1e81e8bf1657f2d922c4  out1.zip
1b89878661d7d95e3c8e4b905406ea39  out2.zip

Pont ezért tömörítettem ki. Képeket külön is ellenőriztem md5sum-al és már azok eltérnek. Kérlek olvasd át még egyszer az eredeti kiírást. Ott benne van hogy a végén lévő EXIF adatok és az első 2048 byte is ugyanaz egy kiragadott kép esetén. Hosszra is megegyeznek, de mégis más az md5sum értékük.

Vannak digitalis vizjelezesi eljarasok, lehet, hogy azota ellatta ilyennel a kepeit.
Pl. kivancsi, hogy hol tunnek fel kesobb a kepei, esetleg egy ceg egy bottal figyeli a netet. Vagy erdekli, hogy hol akarjak felhasznalni a muveit - ha olyan jellegu, akkor jogdij nelkul.
Nem trivialis, de elvileg lehet csinalni olyan digit. vizjelet, ami bizonyos kepmanipulacioknak (nyilvan nem mindnek) ellenall, es nagyon nehez kimagyarazni, ha "teljesen veletlenul" megjelenik valahol.

--
My gold plated butt-plug business is being sued by Apple.
Apparently they have a patent for overpriced crap for arseholes.

Ha fotós, akkor valószínűleg rawban fényképez, amit később jpg-re konvertál amikor letölthetővé teszi. Elképzelhető, hogy a kép kétszer lett konvertálva valamilyen okból (apró módosítás a színekkel pl) ami eredményezheti ezt (teljesen ugyanaz a hossz, csak valahol más érték van valami más helyett).

Hibázik a memóriád, rossz a merevlemez csatlakozó, alulfeszelt processzor, gyenge táp? Előbb ezeket, jártam már én is így :-)
---

mezei zippelés egyik percről a másikra is változhat, illetve alkalmanként, ugyan azt a tartalmat összezippelem, és binárisan van egy visszatérő eltérés, gondolom valami timestamp, vagy random kulcs, nem értek hozzá, de ha zippelek egy fájlt, és 10 perc múlva ugyan azt becsomagolom, méret ugyan az, tartalom ugyan az, de a zip binárisan néhol eltér, egy visszatérő minta egyikben xyz másikban abc.

SZERK:
most látom, hogy kicsomagolás után sem egyeznek a fájlok.

Addig már eljutottál, hogy a kitömörített fájlok nem egyeznek meg bitre. De mire vagy kíváncsi?
Ha arra, hogy a képtartalom (~= látvány) megegyezik-e, akkor a fájlokat legfeljebb akkor van értelme bitenként összehasonlítani, ha raw formátumban vannak. (A formátumról nem írtál semmit.) A látvány szempontjából több értelme van a kép egyéb jellemzőit vizsgálni. Például az RGB hisztogramot.
Egyébként ha nem vagy profi fotós, vagy grafikus, akkor legtöbbször a „ránézésre egyforma” elegendő lehet az egyezés megállapítására.

-----
A kockás zakók és a mellészabások tekintetében kérdezze meg úri szabóját.

Valamelyik képmanipulátor biztosan tud olyat, hogy az egyik képet pixelenként kivonja a másikból. Ekkor fekete háttéren marad valami szöszmösz. Lehet hogy semmit se tudsz meg belőle, de érdekes lehet.

--
Debian - The "What?!" starts not!
http://nyizsa.blogspot.com

GIMP-ben lehet csinálni két réteget (layer) a két képnek, aztán a fölsőre a normál rálapolás helyett ki kell választani, hogy különbség (difference). Lesz egy nagy feketeség (ha szemre egyezett a két kép). Ekkor "copy visible" (látható másolása?), majd beillesztés új rétegként és arra a rétegre rá kell ereszteni egy level vagy curve (szintek, görbék) átalakítást, és kellően erőteljesen meg lehet emelni a kontrasztot.

wine -> total commander -> file menü -> összehasonlítás tartalomra