Chúng tôi có một cuộc thảo luận thú vị ở đây về việc xóa tệp trên thiết bị iOS. Câu hỏi là: nếu tôi xóa một tệp bằng NSFileManager, điều gì đang xảy ra dưới mui xe?
Tôi hiểu rằng việc xóa được thực hiện bằng cách xóa mục nhập tệp tương ứng khỏi bảng hệ thống tệp.
Đối số truy cập là xử lý tệp vẫn theo một cách nào đó và chỉ một cờ được đặt sẽ đánh dấu tệp là đã bị xóa. Nếu người dùng có quyền truy cập root vào thiết bị iOS, anh ta có khả năng đặt lại cờ đó và khôi phục nội dung tệp.
Trong cả hai trường hợp, chúng tôi đồng ý rằng nội dung tệp thực tế sẽ không bị ghi đè và các byte đơn giản vẫn tồn tại trên bộ nhớ / đĩa flash cho đến khi khối bị chiếm bởi một tệp khác.
Ý tưởng là ngay bây giờ: nếu phiên bản thứ hai là đúng, chúng ta có thể ghi đè tệp có nội dung một byte trước khi xóa (ngay cả khi byte đó được ghi vào vị trí mới trên ổ flash mà không thực sự ghi đè nội dung cũ). Nếu sau đó tệp được phục hồi, chỉ có nội dung ghi đè một byte được ghi có sẵn.
Lưu ý rằng chúng tôi không nói về phân tích pháp y về ổ đĩa flash có thể khôi phục nội dung tệp gốc.
Vì vậy, để tóm tắt lại:
- Làm thế nào để xóa một tập tin trên iOS hoạt động nội bộ?
- Liệu cách tiếp cận ghi đè ngăn chặn undeletion?