Nguyên lý hoạt động của Recuva: khôi phục dữ liệu ở cấp độ hệ thống tệp
Xóa logic và siêu dữ liệu còn sót lại. Khi một tệp bị xóa, hệ điều hành không ghi đè vật lý lên các cluster mà tệp đó chiếm giữ — thay vào đó, mục nhập tương ứng trong cấu trúc siêu dữ liệu của volume sẽ được sửa đổi (mục $MFT đối với NTFS, hoặc một phần tử trong bảng FAT/exFAT), trong đó chuỗi cluster được đánh dấu là trống và ký tự đầu tiên của tên tệp được thay thế bằng một ký hiệu dịch vụ. Recuva thực hiện phân tích cấp thấp đối với các cấu trúc dữ liệu này — Master File Table, Index Allocation và các thuộc tính $DATA — nhằm tái tạo tính liên tục logic của tệp cho đến thời điểm các sector của nó thực sự bị ghi đè bằng dữ liệu mới.
Phân tích chữ ký và carving. Trong trường hợp siêu dữ liệu đã bị mất vĩnh viễn (định dạng lại, hỏng bảng tệp, cấu trúc volume RAW), ứng dụng sẽ chuyển sang chế độ quét sâu — đọc thiết bị lưu trữ theo từng sector, bỏ qua hệ thống tệp và nhận diện dữ liệu dựa trên chữ ký nhị phân ở phần đầu và phần cuối (magic number) đặc trưng cho từng định dạng container cụ thể. Phương pháp này, được gọi là file carving, cho phép trích xuất các đối tượng nguyên vẹn ngay cả khi hoàn toàn không có hệ thống tệp, tuy nhiên không đảm bảo khôi phục được tên tệp chính xác hay cấu trúc phân cấp thư mục.
Đánh giá tính toàn vẹn và phân mảnh. Trước khi khôi phục, Recuva thực hiện đánh giá theo phương pháp heuristic về trạng thái của chuỗi cluster, so sánh bản đồ cấp phát của volume với kích thước dự kiến của tệp để phát hiện tình trạng phân mảnh và ghi đè một phần. Kết quả được phân loại theo chỉ số bảo toàn (excellent/poor/unrecoverable), có tính đến mức độ liên tục của các cluster và khả năng xung đột với dữ liệu vừa được ghi mới.
Xử lý các hệ thống tệp có nhật ký (journaling). Khi phân tích NTFS, Recuva còn tham chiếu đến nhật ký giao dịch $LogFile và nhật ký thay đổi $UsnJrnl, vốn ghi lại các thao tác trên cấu trúc tệp một cách độc lập với MFT chính. Việc đối chiếu các mục nhật ký với trạng thái hiện tại của volume cho phép khôi phục siêu dữ liệu của các tệp mà mục MFT của chúng đã bị hệ thống tái sử dụng cho các đối tượng mới, đồng thời có thể tái dựng một phần lịch sử đổi tên và di chuyển tệp.
Xử lý luồng dữ liệu thay thế. Đối với các volume NTFS, ứng dụng có tính đến các Alternate Data Streams ($DATA:tên_luồng) gắn liền với mục nhập chính của tệp, điều này rất quan trọng khi khôi phục các đối tượng được đánh dấu vùng nguồn gốc (Zone.Identifier) hoặc chứa các thuộc tính bổ sung được lưu trữ bên ngoài luồng dữ liệu chính.
Hoạt động với ổ SSD và lệnh TRIM. Trên các ổ SSD có hỗ trợ TRIM đang hoạt động, bộ điều khiển sẽ được thông báo ngay lập tức về việc giải phóng địa chỉ khối logic (LBA) sau khi tệp bị xóa, điều này kích hoạt quá trình thu gom rác nội bộ (garbage collection) và xóa vật lý các ô nhớ NAND ngay cả trước khi chương trình khôi phục kịp truy cập vào volume. Trong những điều kiện như vậy, Recuva chỉ có thể dựa vào siêu dữ liệu hệ thống tệp còn sót lại, vì nội dung thực tế của các cluster có thể đã bị mất vĩnh viễn ở cấp độ phần cứng.
Trích xuất dữ liệu an toàn. Nội dung đã khôi phục được sao chép từng byte một vào khu vực đích được cách ly vật lý khỏi volume nguồn, nhờ đó tránh việc ghi đè lên các sector chưa được xử lý nhưng vẫn có khả năng khôi phục. Ngoài ra, một chức năng ghi đè an toàn (Secure Overwrite) cũng được triển khai, tuân theo các tiêu chuẩn tương đương với DoD 5220.22-M, được sử dụng để đảm bảo tiêu hủy dữ liệu còn sót lại sau khi quá trình khôi phục đã được xác nhận.