Ciao, sono sicuro che ci sono state molte domande simili, ma dopo aver cercato molto non ho trovato nessun post che descriva la mia situazione.
Ho alcuni file jpg che hanno dei colori sbagliati dopo un certo punto e anche ogni pixel viene spostato a sinistra. Penso che questo sia a causa di alcuni byte mancanti nel punto in cui cambia. Ho provato a modificare il file con vi ma sembra impossibile scoprire dove siano i byte mancanti, anche vi è molto complicato da usare. Ho anche provato nano ma non è sicuro per i binari.
Questa è una delle immagini in questione:
Quindi voglio farti due domande:
- Come posso riparare tali immagini in Linux?
- Come potrei aprire e modificare il file in modo sicuro in un editor di testo binario sotto Linux?
Modifica: usando hexedit ho scoperto che dalla posizione 0x27F000 a 0x27F403 ce ne sono solo 0xff e da 0x27F404 a 0x27FFFF ci sono solo zero 0x00. Questo rende qualcosa del genere:
0027EFF0 F8 83 C3 E2 09 35 AF 13 44 6E C5 FD C7 EF 23 E8 .....5..Dn....#.
0027F000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ................
[...]
0027F400 FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 ................
[...]
0027FFF0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00280000 8F 39 6E 47 4F 43 5F 36 7C 73 66 F1 0D AE AD AF .9nGOC_6|sf.....
Modificando questi byte con numeri casuali sono stato in grado di spostare l'immagine, ma c'è ancora il problema del colore.
Qualcuno potrebbe indicarmi un po 'di documentazione sulla codifica jpeg in modo che io possa capire come finisce un blocco 8x8.
Mi chiedo perché le posizioni siano così precise (da 0x27F000 a 0x27FFFF), potrebbe trattarsi di un bug della mia cam o della scheda di memoria che ho usato?