파일 머리글/바닥글, 서명이 변경/수정되거나 제거된 경우 디스크 이미지(dd 이미지)에서 파일을 복구할 수 있나요?
예를 들어 비트맵 이미지(0x42 0x4d) 또는 처음 30바이트의 서명이 제거되거나 변경된 경우를 의미합니다.
그렇지 않은 경우 파일 서명을 기반으로 하지 않고 해당 파일을 복구하는 대체 방법은 무엇입니까? 가능하다면 어떻게 이루어지나요?
답변1
대신 잔여 파일 시스템 구조를 분석할 수 있습니다.
예를 들어,FAT 파일 시스템 제품군디렉토리 항목에 있는 파일 이름의 첫 번째 바이트를 바이트 값 0x3F로 덮어써서 파일이 삭제되었음을 나타냅니다. 나머지 메타데이터(대부분의 파일 이름 포함)는 삭제 후에도 그대로 남아 있으므로 운영 체제를 통하지 않고 디스크에 직접 액세스하는 프로그램이 파일을 쉽게 찾을 수 있습니다. 이는 DOS "삭제 취소" 명령이 작동하는 방식입니다. .
다른 파일 시스템도 비슷하지만 일반적으로 사용할 수 있는 정보가 적습니다. FAT 제품군은 특히 파일을 복구하기 쉽습니다.
답변2
무엇을 찾아야 할지, 어디를 봐야 할지에 대한 아이디어가 있다면 그럴 수 있습니다. 비트맵(압축되지 않음)에는 특정 통계 속성이 있으며 이를 재구성할 수 있습니다.
예를 들어 이미지 너비의 가능한 범위를 미리 아는 것은 매우 유익할 것입니다. 대략적인 색도를 아는 것도 도움이 될 것입니다.
실제 문제는 파일 자체가 연속되지 않은 섹터로 분할될 수 있고 이를 다시 합치는 데 필요한 정보도 삭제되었을 수 있다는 것입니다. 단일 파일 시스템 클러스터에 들어갈 만큼 작은 비트맵이 가장 좋습니다.
고려해야 할 또 다른 매우 실제적인 가능성은 첫 번째 바이트를 지운 것이 무엇이든 나머지 바이트 또는 그 상당 부분도 지워서 가능하다면 복구할 가치가 없게 만든다는 것입니다.
압축되지 않은 DIB 비트맵의 복구를 시도하려면 값이 삼중으로 변하는 속성을 가진 바이트 시퀀스를 찾아야 합니다. 즉, N 바이트 시퀀스가 주어지면 인덱스 모듈로 3으로 가져온 픽셀 간의 상관 관계가 다른 것보다 훨씬 높습니다. 다른 인덱스는 3의 배수가 아님). 그런 다음 가장 가까운 4의 배수로 반올림된 행 너비인 더 높은 인덱스와 유사한 상관 관계가 존재하는지 확인합니다. 행 시작/중지를 결정하려면 더 많은 분석이 필요합니다.
특정 사례(파일 시스템, 사용된 실제 비트맵 형식, 비트맵 크기,삭제/덮어쓰기 방법, dd 이미지 크기, 작업 이유), 복구 가능성에 대해서는 "아마도" 이상을 제공할 수 없습니다.