안녕하세요. 비슷한 질문이 많이 있었지만, 많이 검색 한 후 내 상황을 설명하는 게시물을 찾지 못했습니다.
특정 지점 이후에 색상이 잘못되고 모든 픽셀이 왼쪽으로 이동하는 jpg 파일이 있습니다. 나는 이것이 변경되는 시점에서 누락 된 바이트 때문이라고 생각합니다. vi로 파일을 편집하려고했지만 누락 된 바이트가 어디에 있는지 알아내는 것이 불가능한 것 같습니다 .vi는 사용하기가 매우 복잡합니다. 나는 또한 나노를 시도했지만 바이너리 안전하지 않습니다.
이것은 문제의 이미지 중 하나입니다.
그래서 두 가지 질문을하고 싶습니다 :
- Linux에서 이러한 이미지를 복구하려면 어떻게해야합니까?
- Linux의 바이너리 텍스트 편집기에서 파일을 안전하게 열고 편집하려면 어떻게해야합니까?
편집 : hexedit를 사용하여 위치 0x27F000에서 0x27F403까지는 0xff가 하나 뿐이고 0x27F404에서 0x27FFFF는 0x00 만 있다는 것을 발견했습니다. 이것은 다음과 같은 것을 만듭니다 :
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.....
임의의 숫자 로이 바이트를 변경하면 이미지의 이동을 해제 할 수 있었지만 여전히 색상 문제가 있습니다.
누군가 jpeg 인코딩에 대한 문서를 알려 주시면 8x8 블록이 끝나는 위치를 알 수 있습니다.
왜 위치가 너무 정확한지 궁금합니다 (0x27F000 ~ 0x27FFFF). 캠의 버그 또는 사용한 메모리 카드 일 수 있습니까?