iOS 장치의 파일 삭제에 대한 흥미로운 토론이 있습니다. 문제는 NSFileManager를 사용하여 파일을 삭제하면 어떤 일이 벌어지고 있습니까?
파일 시스템 테이블에서 해당 파일 항목을 제거하여 삭제가 수행된다는 것을 이해합니다.
반대 주장은 파일 핸들이 어떤 식 으로든 남아 있고 파일이 삭제 된 것으로 표시하는 플래그 만 설정된다는 것입니다. 사용자가 iOS 장치에 대한 루트 액세스 권한을 가진 경우 해당 플래그를 재설정하고 파일 내용을 복구 할 수 있습니다.
두 경우 모두 실제 파일 내용을 덮어 쓰지 않고 블록이 다른 파일에 의해 점유 될 때까지 일반 바이트가 플래시 메모리 / 디스크에 여전히 존재한다는 데 동의합니다.
아이디어는 다음과 같습니다. 두 번째 버전이 참이면 삭제하기 전에 파일을 1 바이트 내용으로 덮어 쓸 수 있습니다 (이전에 해당 내용이 실제로는 기존 내용을 덮어 쓰지 않고 플래시 드라이브의 새 위치에 기록 되더라도). 그런 다음 파일이 복구되면 덮어 쓴 1 바이트 컨텐츠 만 사용할 수 있습니다.
우리는 원래 파일 내용을 복구 할 수있는 플래시 드라이브의 법의학 분석에 대해 이야기하고 있지 않습니다.
요약하면 다음과 같습니다.
- iOS에서 파일 삭제는 내부적으로 어떻게 작동합니까?
- 덮어 쓰기 방식이 삭제를 방지합니까?