Skip to content

Khôi phục tin nhắn bằng chứng từ điện thoại bị hỏng hoặc bản sao lưu trò chuyện bị hỏng

Số điện thoại khẩn cấp khác nhau tùy theo quốc gia. Trang này sử dụng 911, số điện thoại dành cho Hoa Kỳ và Canada. Nhiều quốc gia khác sử dụng 112, 999 hoặc số khác. Tìm số cho quốc gia của bạn.

Khi một vụ kiện dân sự quan trọng, cuộc chiến giành quyền nuôi con tại tòa án gia đình, phiên điều trần về lệnh cấm, khiếu nại quấy rối nơi làm việc, tranh chấp gian lận nhà thầu hoặc bào chữa hình sự liên quan đến tin nhắn văn bản, cuộc trò chuyện WhatsApp, iMessages hoặc chuỗi Signal bị mắc kẹt bên trong điện thoại bị hỏng hoặc tệp sao lưu bị hỏng, một cú nhấp chuột sai có thể phá hủy vĩnh viễn bằng chứng pháp lý của bạn. Cơ sở dữ liệu nhắn tin hiện đại không lưu trữ tin nhắn dưới dạng tệp văn bản đơn giản; họ lưu trữ chúng bên trong cơ sở dữ liệu SQLite (sms.db trên iOS, mmssms.db / bugle_db trên Android, msgstore.db.crypt14 / crypt15 trên WhatsApp và cơ sở dữ liệu SQLCipher trên Signal) kèm theo Nhật ký ghi trước tạm thời (.db-wal) tập tin tạp chí.

Nếu bạn vô tình để điện thoại mới ghi đè lên bản sao lưu đám mây đơn của mình bằng cơ sở dữ liệu trống hoặc nếu bạn mở cơ sở dữ liệu SQLite bị hỏng mà không sao chép cơ sở dữ liệu ẩn của nó -wal nộp đơn trước hoặc nếu bạn gửi ảnh chụp màn hình bị cắt, không được xác thực mà luật sư đối lập phản đối là giả mạo, bạn có thể mất cả dữ liệu và vụ kiện.

Hướng dẫn này cung cấp trích xuất trò chuyện không phá hủy từng bước, sửa chữa cơ sở dữ liệu SQLite, khôi phục sao lưu mật mã và các giao thức bảo quản pháp lý được tòa án chấp nhận dựa trên Ấn bản đặc biệt 800-101 Rev. 1 của Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) (Hướng dẫn về Pháp y Thiết bị Di động), Quy tắc Bằng chứng Liên bang (FRE) 901(b)(9) và 902(14) (Bằng chứng điện tử tự xác thực thông qua SHA-256 Hash Chứng nhận) và thông số kỹ thuật khôi phục SQLite/SQLCipher chính thức.

Làm điều này ngay bây giờ

Nếu bạn cần cứu tin nhắn văn bản hoặc tin nhắn trò chuyện quan trọng khỏi điện thoại bị hỏng, một chuỗi vô tình bị xóa hoặc bản sao lưu không thành công:

  1. Đặt điện thoại ở Chế độ trên máy bay ngay lập tức và TẮT tính năng Sao lưu iCloud / Google Drive tự động. Đây là quy tắc số 1 của pháp y di động. Tại sao? Đầu tiên, khi bạn xóa tin nhắn trong iMessage (sms.db), WhatsApp (msgstore.db) hoặc Android Messages, văn bản không bị xóa ngay lập tức khỏi ổ đĩa flash, nó nằm bên trong "Danh sách miễn phí / Các trang chưa được phân bổ" của cơ sở dữ liệu SQLite hoặc bên trong Nhật ký viết trước (.db-wal) cho đến khi cơ sở dữ liệu chạy nền VACUUM dọn dẹp hoặc gửi tin nhắn mới lên trên nó. Thứ hai, nếu một tin nhắn đã bị xóa trên điện thoại của bạn hôm nay, Bản sao lưu iCloud hoặc Bản sao lưu WhatsApp trên Google Drive lúc 02:00 sáng hôm qua của bạn vẫn chứa tin nhắn nguyên vẹn, cho đến bản sao lưu Wi-Fi tự động tối nay sẽ ghi đè lên tin nhắn đó. Việc bật Chế độ trên máy bay sẽ dừng cả ghi đè SQLite cục bộ và ghi đè sao lưu đám mây ngay lập tức. Nếu bạn đang gặp nguy hiểm trực tiếp về thể chất từ ​​kẻ bạo hành gia đình hoặc kẻ theo dõi mà bạn đang lưu giữ tin nhắn, trước tiên hãy đến nơi an toàn và gọi đến số khẩn cấp tại địa phương của bạn (911 ở Hoa Kỳ và Canada, 112 trên toàn Liên minh Châu Âu, 999 ở Vương quốc Anh) hoặc kiểm tra số khẩn cấp.
  2. Không bao giờ cài đặt hoặc đăng nhập vào WhatsApp hoặc Signal trên điện thoại mới và nhấp vào "Sao lưu ngay" trước khi khôi phục kho lưu trữ cũ của bạn. Hàng triệu người dùng mất bằng chứng WhatsApp trong nhiều năm khi thiết lập điện thoại thay thế: nếu bạn bỏ qua lời nhắc khôi phục ban đầu (hoặc nếu quá trình khôi phục không thành công ở mức 99%) và bản cài đặt WhatsApp trống mới sẽ tự động sao lưu vào Google Drive hoặc iCloud, nó sẽ ghi đè bản sao lưu đám mây lịch sử nhiều gigabyte của bạn bằng bản sao lưu trống 0 kilobyte.
  3. Nếu màn hình điện thoại đen hoặc vỡ (bộ số hóa cảm ứng bị hỏng) nhưng điện thoại vẫn rung hoặc kêu chuông, KHÔNG khởi động lại. Trên cả iOS và Android (Mã hóa dựa trên tệp / Trước khi mở khóa lần đầu - BFU so với sau lần mở khóa đầu tiên - AFU), miễn là điện thoại đã được mở khóa một lần kể từ lần khởi động lại cuối cùng (AFU trạng thái), các khóa mật mã bảo vệ cơ sở dữ liệu tin nhắn của bạn đang được giải mã trong RAM, cho phép bạn cắm $15 USB-C / Lightning hub bằng chuột máy tính USB có dây và màn hình HDMI để nhấp vào "Trust This Computer" và lấy một bản sao lưu cục bộ đầy đủ. Nếu bạn buộc khởi động lại điện thoại bị hỏng màn hình, điện thoại sẽ rơi vào tình trạng BFU trạng thái bị khóa trong đó cả chuột USB lẫn máy tính đều không thể mở khóa nếu không sửa màn hình trước (xem hướng dẫn của chúng tôi về Phục hồi điện thoại bị hỏng, vô nước).
  4. Bất cứ khi nào sao chép cơ sở dữ liệu SQLite thô (sms.db hoặc msgstore.db), LUÔN sao chép ba tập tin anh em lại với nhau (.db, .db-walvà .db-shm). Mọi cơ sở dữ liệu nhắn tin di động hiện đại đều chạy ở chế độ SQLite WAL (Ghi nhật ký ghi trước). Tin nhắn trong những ngày hoặc tuần gần đây nhất của bạn thường nằm trong ứng dụng đồng hành sms.db-wal hoặc msgstore.db-wal tập tin, KHÔNG bên trong chính .db tập tin chưa. Nếu bạn chỉ sao chép sms.db và rời đi sms.db-wal phía sau, các tin nhắn gần đây nhất sẽ biến mất hoặc cơ sở dữ liệu mở ra bị hỏng.
  5. Tính toán và ghi lại hàm băm SHA-256 mật mã của bất kỳ tệp sao lưu hoặc cơ sở dữ liệu đã xuất nào ngay lập tức. Trước khi kiểm tra hoặc chuyển đổi bất kỳ tệp sao lưu đã khôi phục nào, hãy chạy sha256sum (Linux/macOS) hoặc Get-FileHash -Algorithm SHA256 (Windows PowerShell) trên kho lưu trữ gốc và lưu chuỗi băm 64 ký tự. Theo Quy tắc chứng cứ liên bang 902(14), giá trị băm SHA-256 là tiêu chuẩn vàng để chứng minh trước tòa rằng kho lưu trữ tin nhắn kỹ thuật số của bạn chưa bao giờ bị thay đổi hoặc chỉnh sửa bằng photoshop.
flowchart TD
    A["Nhu cầu cấp thiết để khôi phục và lưu giữ tin nhắn bằng chứng (SMS, iMessage, WhatsApp, Signal)"] --> B["MIỄN PHÍ NGAY LẬP TỨC: Bật Chế độ trên máy bay trên điện thoại và tắt tính năng tự động sao lưu đám mây trên các thiết bị khác"]
    B --> C{"Trạng thái hiện tại của điện thoại và tin nhắn là gì?"}
    C -->|"1. Điện thoại vẫn hoạt động nhưng tin nhắn vô tình bị xóa"| D["Kiểm tra xem thư mục Cloud Backup (iCloud / Google Drive) hoặc Local WhatsApp '/Databases' có ảnh chụp nhanh bị xóa trước không"]
    D --> E["Trước khi khôi phục qua điện thoại trực tiếp: Trước tiên, hãy sao lưu toàn bộ mã hóa cục bộ vào PC/Mac (`idevicebackup2` / iTunes / Finder / ADB) để duy trì danh sách tự do SQLite WAL"]
    C -->|"2. Màn hình điện thoại bị hỏng/đen đen nhưng bo mạch vẫn bật nguồn"| F["KHÔNG khởi động lại (Giữ ở trạng thái 'Sau lần mở khóa đầu tiên'); kết nối USB-C/Lightning Hub + Chuột USB có dây + Màn hình HDMI để mở khóa và cho phép sao lưu PC"]
    C -->|"3. Tệp sao lưu trò chuyện hoặc cơ sở dữ liệu SQLite (`sms.db`, `msgstore.db`, Signal) bị hỏng/không khôi phục được"| G["Sao chép TẤT CẢ BA tệp (`.db`, `.db-wal`, `.db-shm`) vào thư mục hoạt động trên PC/Mac"]
    G --> H{"Cơ sở dữ liệu có được mã hóa (`crypt14/crypt15` hoặc SQLCipher) hay SQLite tiêu chuẩn không?"}
    H -->|"WhatsApp / Tín hiệu được mã hóa"| I["Giải mã bằng Khóa E2EE 64 ký tự / `/data/data/com.whatsapp/files/key` (`wa-crypt-tools`) hoặc Cụm mật khẩu tín hiệu gồm 30 chữ số (`signalbackup-tools`)"]
    H -->|"SQLite được giải mã/chuẩn"| J["Sửa chữa các trang cây B bị hỏng bằng cách sử dụng `sqlite3 .recover` hoặc khắc các bản ghi đã xóa khỏi khung Freelist & WAL"]
    E --> K["Xác thực cho Tòa án: Tạo SHA-256 Hash + PDF toàn chuỗi với CDR của nhà cung cấp dịch vụ + Tuyên bố FRE 902(14)"]
    I --> K
    J --> K

Kiến trúc lưu trữ tin nhắn di động: Nơi tin nhắn của bạn thực sự tồn tại

Để khôi phục các tin nhắn đã xóa hoặc bị hỏng mà không hủy chúng, bạn phải hiểu nơi mỗi hệ điều hành và nền tảng nhắn tin lưu trữ cơ sở dữ liệu trực tiếp, khóa mã hóa và các bản sao lưu cục bộ luân phiên của nó:

Ứng dụng/HĐH nhắn tin Đường dẫn tệp cơ sở dữ liệu nội bộ Kiến trúc mã hóa Nơi tồn tại các bản sao lưu cục bộ hoặc đám mây ẩn
Apple iOS: iMessage & SMS / MMS / RCS /HomeDomain/Library/SMS/sms.db (cộng với sms.db-wal và sms.db-shm)
Tệp đính kèm phương tiện: /HomeDomain/Library/SMS/Attachments/
(Bản sao lưu cục bộ bên trong Finder/iTunes, sms.db luôn được lưu trữ dưới tên tệp SHA-1 3d0d7e5fb2ce288813306e4d4636395e047a3d28)
Cơ sở dữ liệu SQLite 3 tiêu chuẩn (được bảo vệ trên đĩa bởi Lớp bảo vệ dữ liệu iOS C và được mã hóa bên trong các bản sao lưu PC/Mac cục bộ nếu "Encrypt local backup" mật khẩu được kích hoạt). 1. Trình tìm kiếm Mac/PC cục bộ/Sao lưu iTunes (-/Library/Application Support/MobileSync/Backup/ hoặc %APPDATA%\Apple Computer\MobileSync\Backup\).
2. Sao lưu thiết bị iCloud (nếu "Messages in iCloud" đang TẮT, ảnh chụp nhanh đầy đủ của sms.db nằm trong bản sao lưu iCloud hàng ngày).
3. Thư mục "Đã xóa gần đây" của iOS bên trong ứng dụng Tin nhắn (Edit -> Show Recently Deleted, lưu giữ các văn bản đã xóa trong 30 đến 40 ngày).
Android: Tin nhắn của Google (SMS / MMS / RCS) /data/data/com.google.android.apps.messaging/databases/bugle_db (và nhà cung cấp điện thoại hệ thống /data/user_de/0/com.android.providers.telephony/databases/mmssms.db) Cơ sở dữ liệu SQLite 3 tiêu chuẩn bên trong phân vùng thông tin xác thực người dùng Mã hóa dựa trên tệp Android (FBE) được hỗ trợ bằng phần cứng. Google One / Android Cloud Backup (tự động sao lưu tin nhắn SMS và MMS/RCS được đính kèm vào Tài khoản Google của bạn).
WhatsApp trên Android DB nội bộ trực tiếp (Yêu cầu Root/Key): /data/data/com.whatsapp/databases/msgstore.db + /data/data/com.whatsapp/files/key
Sao lưu cục bộ mà người dùng có thể truy cập: /sdcard/Android/media/com.whatsapp/WhatsApp/Databases/msgstore.db.crypt14 (hoặc .crypt15)
.crypt14: Mã hóa AES-256-GCM bằng 158 byte key tập tin được lưu trữ trong /data/data/com.whatsapp/files/key.
.crypt15: Bản sao lưu mã hóa đầu cuối được bảo vệ bằng khóa mã hóa thập lục phân 64 chữ số hoặc mật khẩu của bạn.
Lịch sử địa phương liên tục trong 7 ngày: Hàng đêm vào lúc 02:00 sáng, WhatsApp trên Android lưu các tệp sao lưu lịch sử lên đến 7 ngày trực tiếp vào bộ nhớ trong của điện thoại (msgstore-YYYY-MM-DD.1.db.crypt14), PLUS bản sao lưu mới nhất trên Google Drive.
WhatsApp trên iPhone (iOS) /AppDomainGroup-group.net.whatsapp.WhatsApp.shared/ChatStorage.sqlite (cộng với .sqlite-wal)
(Bên trong bản sao lưu iTunes/Finder, ChatStorage.sqlite được băm thành 7c7fba66680ef796b916b067077cc246adacf01d)
SQLite 3 tiêu chuẩn bên trong bộ chứa Nhóm ứng dụng iOS (có thể truy cập được trong mọi bản sao lưu iPhone Mac/PC cục bộ không được mã hóa hoặc giải mã bằng mật khẩu). Sao lưu WhatsApp trên iCloud Drive cộng với Trình tìm kiếm Mac/PC cục bộ/Sao lưu toàn bộ thiết bị iTunes.
Signal Private Messenger (Android và iOS) Tệp sao lưu cục bộ của Android: signal-YYYY-MM-DD-HH-MM-SS.backup
Ứng dụng dành cho máy tính để bàn (Windows/Mac/Linux): -/.config/Signal/sql/db.sqlite + config.json (hoặc khóa lưu trữ an toàn của Chuỗi khóa hệ điều hành)
Android .backup: Được mã hóa bằng cụm mật khẩu số gồm 30 chữ số hiển thị khi bạn bật tính năng sao lưu.
Signal Desktop: Được mã hóa qua SQLCipher 4; khóa giải mã được lưu trữ bên trong config.json / Móc khóa hệ điều hành trên máy tính xách tay của bạn.
Bỏ qua pháp y quan trọng: Ngay cả khi điện thoại Signal bị hỏng hoặc bị mất (và iOS Signal không cung cấp bản sao lưu đám mây), nếu bạn đã từng liên kết "Signal Desktop" trên máy tính xách tay Windows, Mac hoặc Linux, toàn bộ lịch sử tin nhắn được giải mã của bạn sẽ nằm cục bộ bên trong máy tính xách tay -/.config/Signal/sql/db.sqlite cơ sở dữ liệu.

Tình huống 1: Khôi phục tin nhắn iPhone bị xóa hoặc bị hỏng (sms.db & ChatStorage.sqlite)

Nếu các tin nhắn iMessage, tin nhắn SMS hoặc WhatsApp quan trọng đã bị xóa trên iPhone hoặc nếu iPhone bị hỏng, hãy làm theo các bước chính xác sau theo thứ tự ưu tiên:

Bước 1: Kiểm tra vault "Đã xóa gần đây" được tích hợp sẵn trong iOS (30 đến 40 ngày đầu tiên)

Trên iOS 16, iOS 17, iOS 18 và mới hơn, việc xóa một văn bản hoặc chuỗi iMessage sẽ không ngay lập tức chuyển nó sang không gian danh sách tự do SQLite thô; nó di chuyển nó vào thư mục thùng rác ẩn trong 30 ngày (tối đa 40 ngày trước khi thanh lọc vĩnh viễn): 1. Mở ứng dụng Tin nhắn trên iPhone. 2. Nhấn vào Chỉnh sửa (hoặc Bộ lọc) ở góc trên cùng bên trái. 3. Nhấn vào Hiển thị đã xóa gần đây. 4. Chọn cuộc trò chuyện và nhấn vào Khôi phục.

Bước 2: Trích xuất sms.db và ChatStorage.sqlite từ Bản sao lưu Mac / Windows cục bộ mà không ghi đè bất cứ thứ gì

Nếu tin nhắn đã bị xóa vĩnh viễn khỏi "Đã xóa gần đây" (hoặc nếu bạn cần trích xuất tin nhắn cho tòa án hoặc khắc các hàng SQLite đã xóa), tạo bản sao lưu cục bộ đầy đủ trên máy tính ngay lập tức trong khi điện thoại vẫn ở Chế độ trên máy bay:

  1. Kết nối iPhone qua cáp USB với máy Mac (Finder) hoặc PC Windows (Thiết bị Apple / iTunes) hoặc Linux (libimobiledevice):
  2. Chọn hộp "Mã hóa bản sao lưu cục bộ" và đặt một mật khẩu đơn giản mà bạn sẽ không quên (chẳng hạn như Evidence1234). (Tại sao nên bật mã hóa bản sao lưu? Bản sao lưu iOS cục bộ được mã hóa bao gồm các thành phần pháp lý bổ sung, dữ liệu sức khỏe, lịch sử cuộc gọi và các mục chuỗi khóa mà Apple loại bỏ khỏi các bản sao lưu không được mã hóa).
  3. Nhấp vào Sao lưu ngay và đợi quá trình hoàn tất.
  4. Xác định vị trí thư mục sao lưu thô trên máy tính của bạn:
  5. macOS: -/Library/Application Support/MobileSync/Backup/<UDID>/
  6. Cửa sổ: %APPDATA%\Apple Computer\MobileSync\Backup\<UDID>\ hoặc %USERPROFILE%\Apple\MobileSync\Backup\<UDID>\
  7. Copy toàn bộ <UDID> vào một Ổ đĩa ngoài riêng biệt ngay lập tức và tính toán hàm băm SHA-256 của nó để ảnh chụp nhanh ban đầu của bạn không bao giờ có thể bị thay đổi.
  8. Xác định cơ sở dữ liệu tin nhắn chính xác bên trong Bản sao lưu iOS bằng cách sử dụng Băm tên miền SHA-1 của Apple:
  9. Apple đổi tên mọi tệp trong bản sao lưu iOS thành hàm băm SHA-1 của nó Domain-RelativePath, được sắp xếp thành các thư mục con gồm hai ký tự:
    • Cơ sở dữ liệu Apple SMS / iMessage (HomeDomain-Library/SMS/sms.db): Nằm ở thư mục con 3d/ -> tập tin 3d0d7e5fb2ce288813306e4d4636395e047a3d28
    • ** Cơ sở dữ liệu iOS của WhatsApp (AppDomainGroup-group.net.whatsapp.WhatsApp.shared-ChatStorage.sqlite):** Nằm ở thư mục con 7c/ -> tập tin 7c7fba66680ef796b916b067077cc246adacf01d
    • Chỉ mục tệp sao lưu (Manifest.db): Chỉ mục SQLite chính ánh xạ từng ảnh, bản ghi nhớ giọng nói và hàm băm đính kèm vào tên tệp thực của nó trong SMS/Attachments/.
  10. (Nếu bạn đã bật mã hóa bản sao lưu, hãy giải mã bản sao hoạt động của bản sao lưu vào một thư mục có thể đọc được bằng các công cụ nguồn mở như iphone-backup-decrypt bằng Python hoặc những người xem địa phương có uy tín như iMazing hoặc iBackup Viewer).

Kịch bản 2: Khôi phục Android WhatsApp .crypt14 / .crypt15 và tín hiệu .backup kho lưu trữ

1. Cứu bản sao lưu WhatsApp cũ hơn trước khi hết thời hạn 7 ngày

Điều gì sẽ xảy ra nếu ai đó xóa cuộc trò chuyện WhatsApp buộc tội trên điện thoại Android của bạn 3 ngày trước và bản sao lưu Google Drive lúc 02:00 sáng hôm qua đã ghi đè lên bản sao trên đám mây? - Cắm điện thoại Android của bạn vào máy tính qua USB (ở Chế độ Truyền tệp / MTP) hoặc mở ứng dụng Android Tệp và điều hướng đến:

Internal Storage/Android/media/com.whatsapp/WhatsApp/Databases/
(hoặc trên các phiên bản Android cũ hơn: Internal Storage/WhatsApp/Databases/). - Bên trong thư mục đó, bạn sẽ thấy tối đa 7 tệp riêng biệt: - msgstore.db.crypt14 (Sao lưu tối qua, thiếu tin nhắn đã xóa) - msgstore-2026-10-30.1.db.crypt14 (Bản sao lưu của ngày hôm qua) - msgstore-2026-10-28.1.db.crypt14 (Bản sao lưu từ 3 ngày trước, TRƯỚC KHI tin nhắn bị xóa) - Cách khôi phục bản sao lưu 3 ngày tuổi vào điện thoại của bạn một cách an toàn: 1. Sao chép toàn bộ Databases/ và Media/ các thư mục vào máy tính của bạn trước để không bị mất gì. 2. Đổi tên hiện tại msgstore.db.crypt14 để msgstore-CURRENT-NEW.db.crypt14.bak. 3. Đổi tên tệp xóa trước cũ hơn msgstore-2026-10-28.1.db.crypt14 đến tên tệp hoạt động chính xác msgstore.db.crypt14. 4. BẬT Chế độ trên máy bay (hoặc tạm thời thu hồi quyền Google Drive của WhatsApp để WhatsApp không lấy bản sao lưu đám mây mới hơn thay vào đó), gỡ cài đặt và cài đặt lại WhatsApp, xác minh số của bạn và khi WhatsApp phát hiện thấy địa chỉ cục bộ msgstore.db.crypt14 tập tin, hãy nhấn vào Khôi phục. Mọi tin nhắn từ 3 ngày trước sẽ xuất hiện lại nguyên vẹn.

2. Giải mã bị hỏng .crypt14 / .crypt15 Sao lưu WhatsApp trên máy tính (wa-crypt-tools)

Điều gì sẽ xảy ra nếu tệp sao lưu WhatsApp gặp sự cố ở mức 95% trong quá trình khôi phục điện thoại do cơ sở dữ liệu SQLite bên trong trình bao bọc được mã hóa bị hỏng nhẹ? Bạn có thể giải mã .crypt14 hoặc .crypt15 container trực tiếp trên máy tính của bạn, sửa chữa cơ sở dữ liệu SQLite và đọc mọi tin nhắn: - Nếu bạn có .crypt15 Sao lưu được mã hóa hai đầu và đã lưu khóa thập lục phân gồm 64 chữ số của bạn (hoặc nếu bạn đã trích xuất /data/data/com.whatsapp/files/key hoặc encrypted_backup.key), hãy cài đặt công cụ điều tra Python nguồn mở wa-crypt-tools (wagolek):

# Install wa-crypt-tools on Linux, macOS, or Windows Python:
python3 -m pip install wa-crypt-tools

# Decrypt a WhatsApp .crypt15 backup using your 64-character hex key:
wadecrypt <your_64_character_hex_key> msgstore.db.crypt15 msgstore.db

# Or decrypt a .crypt14 backup using the extracted 158-byte key file:
wadecrypt key msgstore.db.crypt14 msgstore.db
- Một lần wadecrypt sản xuất thô msgstore.db SQLite, bạn có thể sửa chữa mọi trang cây B bị hỏng bằng SQLite chính thức .recover động cơ trong Phần 3 dưới đây.

3. Trích xuất và sửa chữa Tín hiệu bị hỏng .backup hoặc cơ sở dữ liệu Signal Desktop

  • Dành cho Android signal-YYYY-MM-DD.backup tập tin: Nếu điện thoại mới từ chối nhập tệp sao lưu Tín hiệu lớn (hoặc nếu tệp bị cắt bớt khi sao chép thẻ SD sắp chết), hãy sử dụng công cụ pháp lý nguồn mở signalbackup-tools (github.com/bepaald/signalbackup-tools) bằng cụm mật khẩu dự phòng dạng số gồm 30 chữ số của bạn để giải nén các khung không bị hư hại, xuất cơ sở dữ liệu SQLite thô và tạo một kho lưu trữ hội thoại HTML rõ ràng, có thể tìm kiếm được với tất cả các tệp đính kèm phương tiện còn nguyên vẹn:
    # Unpack a Signal Android backup (including truncated/partially corrupted archives) to HTML:
    signalbackup-tools signal-2026-10-30.backup "12345 67890 12345 67890 12345 67890" --exporthtml ./recovered_signal_chats/
    
  • Dành cho máy tính để bàn tín hiệu (-/.config/Signal/sql/db.sqlite): Ngay cả khi điện thoại thông minh của bạn bị nghiền nát trong một vụ tai nạn ô tô hoặc bị ném xuống hồ và bạn không có bản sao lưu điện thoại nào, nếu máy tính xách tay của bạn đã từng được liên kết Signal Desktop, hãy sao chép toàn bộ thư mục ứng dụng Signal (%APPDATA%\Signal trên Windows, -/Library/Application Support/Signal trên macOS, hoặc -/.config/Signal trên Linux) trước khi mở ứng dụng và xuất cơ sở dữ liệu SQLCipher bằng cách sử dụng signalbackup-tools hoặc sqlcipher.

Tình huống 3: Sửa cơ sở dữ liệu trò chuyện SQLite bị hỏng (database disk image is malformed) và khắc các hàng đã xóa

Khi điện thoại hết pin khi đang ghi hoặc gặp lỗi lưu trữ flash, việc mở sms.db, ChatStorage.sqlitehoặc msgstore.db đưa ra lỗi SQLite nghiêm trọng: Error: database disk image is malformed (SQLITE_CORRUPT)

Không bao giờ chạy phần mềm chia sẻ "trình sửa lỗi SQLite trả phí" có tính phá hoại của bên thứ ba trên cơ sở dữ liệu gốc của bạn. Sử dụng SQLite chính thức .recover lệnh được tích hợp trực tiếp vào sqlite3 (phiên bản 3.29.0+), quét từng trang cơ sở dữ liệu thô 4 kilobyte bỏ qua các con trỏ chỉ mục cây B bị hỏng:

SQLite từng bước .recover và sửa chữa trạm kiểm soát WAL

  1. Tạo một bản sao làm việc của cả ba tệp cơ sở dữ liệu (.db, .db-wal, .db-shm) trong một thư mục mới:
    mkdir ~/chat_rescue && cp sms.db* ~/chat_rescue/ && cd ~/chat_rescue/
    
  2. ** Chạy SQLite chính thức .recover lệnh xây dựng lại cơ sở dữ liệu sạch (và ghi lại các hàng bị mất/danh sách tự do):**
    # Standard recovery of all intact tables and rows into a brand-new healthy database:
    sqlite3 sms.db ".recover" | sqlite3 sms_repaired.db
    
    # FORENSIC DELETED-ROW RECOVERY: Add the --ignore-freelist flag so SQLite ALSO recovers
    # deleted message fragments still sitting inside unallocated freelist pages into a 'lost_and_found' table:
    sqlite3 sms.db ".recover --ignore-freelist" | sqlite3 sms_forensic_with_deleted.db
    
  3. Xuất bản ghi CSV/HTML theo trình tự thời gian, có thể đọc được từ cơ sở dữ liệu đã sửa chữa:
  4. Dành cho Apple iOS sms.db (Chuyển đổi Dấu thời gian Nanosecond CoreData của Apple kể từ ngày 1 tháng 1 năm 2001 sang UTC/Ngày địa phương):
    sqlite3 -header -csv sms_repaired.db "
    SELECT
        m.ROWID AS MsgID,
        datetime(m.date / 1000000000 + 978307200, 'unixepoch', 'localtime') AS Timestamp_Local,
        CASE WHEN m.is_from_me = 1 THEN 'SENT BY ME' ELSE 'RECEIVED' END AS Direction,
        h.id AS Contact_Phone_Or_Email,
        m.service AS Service_Type,
        m.text AS Message_Body,
        a.filename AS Attachment_Path
    FROM message m
    LEFT JOIN handle h ON m.handle_id = h.ROWID
    LEFT JOIN message_attachment_join maj ON m.ROWID = maj.message_id
    LEFT JOIN attachment a ON maj.attachment_id = a.ROWID
    ORDER BY m.date ASC;
    " > recovered_imessage_transcript.csv
    
  5. Dành cho WhatsApp Android msgstore.db (Hiện đại message lược đồ bảng):
    sqlite3 -header -csv msgstore_repaired.db "
    SELECT
        m._id AS MsgID,
        datetime(m.timestamp / 1000, 'unixepoch', 'localtime') AS Timestamp_Local,
        CASE WHEN m.from_me = 1 THEN 'SENT BY ME' ELSE 'RECEIVED' END AS Direction,
        jid.raw_string AS Chat_Or_Sender_JID,
        m.text_data AS Message_Body
    FROM message m
    LEFT JOIN chat c ON m.chat_row_id = c._id
    LEFT JOIN jid ON c.jid_row_id = jid._id
    ORDER BY m.timestamp ASC;
    " > recovered_whatsapp_transcript.csv
    

Làm cho các tin nhắn đã khôi phục của bạn được chấp nhận 100% trước tòa (Tránh phản đối "Ảnh chụp màn hình giả")

Hàng tuần tại tòa án gia đình, tòa án xử các vụ kiện nhỏ, phiên điều trần về lệnh cấm và kiện tụng dân sự, mọi người đến gặp thẩm phán với những ảnh chụp màn hình điện thoại thông minh bị cắt, lỏng lẻo trong đó tiêu đề trên cùng của người liên hệ chỉ ghi một biệt hiệu như "Ex-Husband" hoặc "Landlord Mike" không có số điện thoại và không có ngày tháng đầy đủ. Các luật sư phản đối ngay lập tức phản đối theo Quy tắc chứng cứ liên bang 901 (Thiếu xác thực) và Quy tắc 106 (Quy tắc đầy đủ), cho rằng bất kỳ ai cũng có thể đổi tên điện thoại trả trước thứ hai "Landlord Mike" trong ứng dụng danh bạ của họ và tự nhắn tin giả mạo trong 30 giây.

Warning

Cách làm cho văn bản và bằng chứng trò chuyện của bạn trở nên chống đạn trước những thách thức bịa đặt trong phòng xử án: Thực hiện theo năm bước xác thực pháp y sau đây trước khi in các tang vật của bạn cho thẩm phán:

Danh sách kiểm tra xác thực phòng xử án 5 điểm cho bằng chứng văn bản và trò chuyện

  1. ** Tạm thời xóa hoặc đổi tên biệt hiệu của liên hệ trước khi xuất/chụp ảnh màn hình để số điện thoại thô (+1-555-019-2834) hoặc Email xuất hiện trong mọi tiêu đề:**
  2. Trước khi chụp ảnh màn hình sao lưu (hoặc tốt hơn nữa, hãy sử dụng công cụ xuất PDF toàn chuỗi như iMazing, Decipher TextMessagehoặc truy vấn CSV SQLite ở trên in cả tên hiển thị VÀ tên thô handle.id số điện thoại trên mỗi bong bóng tin nhắn), hãy đảm bảo số điện thoại thực tế gồm 10 chữ số hoặc email ID Apple của người gửi hiển thị ở đầu chuỗi chứ không chỉ là biệt hiệu liên hệ có thể tùy chỉnh.
  3. Lấy bản ghi chi tiết cuộc gọi của nhà cung cấp dịch vụ di động chính thức của bạn (CDR) và nhật ký dấu thời gian SMS/MMS dưới dạng chứng thực độc lập của bên thứ ba:
  4. Mặc dù nhà cung cấp dịch vụ di động của bạn (AT&T, Verizon, T-Mobile, EE, Vodafone, Rogers, Telstra) không lưu giữ nội dung văn bản của tin nhắn SMS trong thời gian dài (và không bao giờ thấy nội dung iMessage/WhatsApp được mã hóa), bảng kê hàng tháng của nhà cung cấp dịch vụ hoặc cổng tài khoản trực tuyến của bạn cung cấp nhật ký độc lập của bên thứ ba về Ngày, Phút, Hướng (Đến/Đi) chính xác và Số Điện thoại của mọi tin nhắn SMS/MMS và cuộc gọi thoại.
  5. Việc đính kèm Nhật ký sử dụng AT&T / Verizon / T-Mobile chính thức của bạn ngay sau bản in tin nhắn văn bản của bạn sẽ chứng minh rằng số điện thoại của bên kia thực sự đã truyền SMS tới điện thoại của bạn tại 14:22:09 on October 12, hủy bỏ mọi khiếu nại rằng bạn đã làm giả ảnh chụp màn hình.
  6. Xuất TOÀN BỘ Chuỗi hội thoại chưa chỉnh sửa (Quy tắc đầy đủ - Quy tắc FRE 106):
  7. Đừng bao giờ chọn những ảnh chụp màn hình riêng biệt hoặc cắt bớt câu trả lời của riêng bạn. Theo Quy tắc chứng cứ liên bang 106, nếu bạn đưa ra một phần cuộc trò chuyện được ghi âm, bên đối lập có thể yêu cầu toàn bộ chuỗi xung quanh và đánh giá không tin tưởng vào những hình ảnh đã cắt bỏ bỏ dấu thời gian hoặc tin nhắn trước đó. In toàn bộ luồng hội thoại theo trình tự thời gian.
  8. Bảo quản Thiết bị gốc VÀ Tệp sao lưu băm SHA-256 (Quy tắc bằng chứng tốt nhất - Quy tắc FRE 1002 & Tự xác thực - Quy tắc FRE 902(14)):
  9. Mang theo điện thoại thực tế (đã được sạc và mở khóa) đến bàn điều trần trong phòng xử án để nếu luật sư phản đối bản in, bạn có thể nói với thẩm phán: "Thưa Thẩm phán, tôi có thiết bị gốc ngay tại bàn luật sư để Tòa án kiểm tra theo Quy tắc Bằng chứng Tốt nhất."
  10. Ngoài ra, theo Quy tắc chứng cứ liên bang 902(14) (và các quy định tương đương của tiểu bang được áp dụng trên khắp Hoa Kỳ), dữ liệu được sao chép từ thiết bị điện tử sẽ tự xác thực khi kèm theo chứng nhận bằng văn bản nêu rõ giá trị băm kỹ thuật sốSHA-256 của bản trích xuất ban đầu và bản sao.
  11. Đính kèm "Tuyên bố xác thực tin nhắn văn bản/tin nhắn trò chuyện điện tử" đã ký (Mẫu sao chép và dán bên dưới):
DECLARATION AUTHENTICATING ELECTRONIC MESSAGE EVIDENCE
(Pursuant to Federal Rules of Evidence 901(b)(1), 901(b)(4), and 902(14) / State Equivalents)

I, [YOUR FULL LEGAL NAME], declare under penalty of perjury under the laws of the State of [STATE] and the United States of America that the following is true and correct:

1. I am the [Plaintiff / Defendant / Petitioner / Respondent] in this action and have personal knowledge of the facts set forth herein.
2. I am the sole owner and user of the [Apple iPhone / Android Smartphone], assigned telephone number [YOUR 10-DIGIT PHONE NUMBER].
3. Attached hereto as EXHIBIT A is a true, complete, and unedited chronological transcript and printout of [SMS / iMessage / WhatsApp / Signal] messages exchanged between my telephone number ([YOUR NUMBER]) and [NAME OF OTHER PARTY] at telephone number [OTHER PARTY'S 10-DIGIT PHONE NUMBER] between [START DATE] and [END DATE].
4. I personally know that telephone number [OTHER PARTY'S NUMBER] belongs to and is used by [NAME OF OTHER PARTY] because: (a) we have communicated at that number regularly since [YEAR]; (b) I have spoken to [NAME OF OTHER PARTY] by voice call at that exact number and recognized their voice; and (c) the messages inside Exhibit A contain distinctive personal facts, photographs, and references known uniquely to [NAME OF OTHER PARTY] (pursuant to FRE Rule 901(b)(4) Distinctive Characteristics).
5. Not a single message, timestamp, or attachment in Exhibit A has been altered, deleted, or modified in any way. On [DATE OF EXTRACTION], a complete forensic backup of the original messaging database (`[FILENAME, e.g., sms.db / msgstore.db]`) was preserved prior to printing Exhibit A, yielding the following cryptographic SHA-256 hash fingerprint:
   SHA-256 Hash: [INSERT 64-CHARACTER HEXADECIMAL SHA-256 HASH FROM sha256sum / Get-FileHash]
6. Attached hereto as EXHIBIT B are true and correct copies of my official mobile carrier call/message detail records from [NAME OF CARRIER] independently corroborating the dates, times, and telephone numbers of the communications.
7. The original smartphone device and the SHA-256 verified backup archive remain in my secure custody and are available for immediate inspection by the Court.

Executed on [DATE] at [CITY, STATE].

____________________________________
[YOUR SIGNATURE]
[YOUR PRINTED NAME]

Câu hỏi thường gặp

Nhà cung cấp dịch vụ di động của tôi (AT&T, Verizon, T-Mobile, Vodafone) có thể cung cấp cho tôi bản in nội dung tin nhắn văn bản đã xóa nếu tôi gọi tới bộ phận dịch vụ khách hàng không?

Không, không phải thông qua dịch vụ khách hàng thông thường và thường không dành cho nội dung tin nhắn. Đầu tiên, các nhà cung cấp dịch vụ KHÔNG BAO GIỜ có quyền truy cập vào nội dung của iMessages, tin nhắn WhatsApp, tin nhắn Signal hoặc các cuộc trò chuyện RCS được mã hóa hai đầu vì những nội dung đó truyền qua internet ở dạng mã hóa chứ không phải thông qua máy chủ SMS của nhà cung cấp dịch vụ. Thứ hai, ngay cả đối với tin nhắn văn bản SMS bong bóng màu xanh lá cây truyền thống, các nhà cung cấp dịch vụ lớn chỉ lưu nội dung văn bản thực tế trên máy chủ chuyển tin nhắn của họ trong 3 đến 7 ngày (Verizon giữ nội dung SMS trong khoảng 3 đến 5 ngày; AT&T và T-Mobile loại bỏ nội dung nội dung tin nhắn SMS gần như ngay lập tức sau khi gửi hoặc trong vòng 72 giờ) và họ sẽ CHỈ phát hành nội dung SMS được lưu vào bộ đệm để đáp lại trát đòi hầu tòa hợp lệ hoặc lệnh khám xét, không bao giờ gửi đến khách hàng qua điện thoại. Đó là lý do tại sao việc khôi phục tin nhắn đã xóa trực tiếp từ cơ sở dữ liệu SQLite trên điện thoại của bạn (`sms.db` / `bugle_db`) hoặc bản sao lưu iCloud/Google Drive của bạn hầu như luôn là con đường duy nhất để bạn khôi phục các từ thực tế.

Điều gì xảy ra nếu người khác trên WhatsApp, Signal hoặc iMessage sử dụng "Xóa cho mọi người" hoặc "Tin nhắn biến mất" để xóa các mối đe dọa của họ?

Khi người gửi nhấn "Xóa cho mọi người" (hoặc "Hủy gửi" trong iOS iMessage) trong khi điện thoại của bạn được kết nối với Internet, ứng dụng sẽ nhận được lệnh xóa từ xa để xóa tin nhắn khỏi màn hình hiển thị của bạn. Tuy nhiên, ba phương pháp khôi phục pháp y vẫn có thể chụp được nó: (1) Nếu bạn đặt điện thoại ở Chế độ trên máy bay TRƯỚC KHI người gửi nhấn "Xóa cho mọi người", lệnh xóa từ xa không thể đến được điện thoại của bạn cho đến khi bạn chụp ảnh và sao lưu màn hình; (2) Trên điện thoại Android đã bật "Lịch sử thông báo" (`Settings -> Notifications -> Advanced settings -> Notification history`), hệ điều hành Android ghi lại toàn bộ văn bản chính xác của mọi biểu ngữ thông báo WhatsApp, Signal và SMS đến trong 24 giờ và "Xóa cho mọi người" KHÔNG THỂ xóa nhật ký Lịch sử thông báo của hệ thống Android; và (3) Trên cả iOS và Android, một hàng đã xóa thường để lại các đoạn văn bản còn sót lại bên trong SQLite chưa được xóa `.db-wal` Tệp nhật ký ghi trước nếu bạn chụp ảnh điện thoại ngay lập tức ở Chế độ trên máy bay.

Tại sao tôi xuất khẩu `sms.db` hoặc `msgstore.db` cơ sở dữ liệu bỏ lỡ tin nhắn trong 3 ngày qua khi tôi mở nó trong Trình duyệt DB cho SQLite?

Bởi vì bạn chỉ sao chép `.db` tập tin và để lại phía sau `.db-wal` (Nhật ký ghi trước) trong thư mục nguồn. Cơ sở dữ liệu iOS và Android hiện đại sử dụng chế độ SQLite WAL, trong đó tất cả các tin nhắn mới được gửi và nhận đều được thêm vào đồng hành `.db-wal` trước tiên và chỉ được hợp nhất ("được kiểm tra") vào tệp chính `.db` tập tin định kỳ. Bất cứ khi nào bạn giải nén `sms.db`, `ChatStorage.sqlite`, `msgstore.db`hoặc `bugle_db`, bạn PHẢI sao chép cả ba tệp (`filename.db`, `filename.db-wal`và `filename.db-shm`) vào cùng một thư mục trước khi mở cơ sở dữ liệu trong SQLite, sau đó sẽ tự động hợp nhất các giao dịch WAL và hiển thị mọi thông báo gần đây.

Tôi có thể yêu cầu phòng thí nghiệm pháp y di động trích xuất các văn bản đã xóa từ điện thoại của mình bằng Cellebrite hoặc Oxygen Forensics cho một vụ án không?

Đúng. Không giống như khôi phục phòng sạch ổ cứng, bạn được phép thuê Giám định viên pháp y kỹ thuật số được chứng nhận riêng (có các chứng chỉ như asiacis CFCE, GIAC GCFE/GASF hoặc Cellebrite CCO/CCPA) để thực hiện trích xuất pháp y đã được đồng ý trên điện thoại thông minh của bạn bằng cách sử dụng Cellebrite UFED, Magnet AXIOM hoặc Oxygen Forensic Detective. Giám định viên pháp y kỹ thuật số được cấp phép thường tính một khoản phí cố định từ 400 USD đến 1.200 USD cho mỗi thiết bị để thực hiện trích xuất Hệ thống tệp hoặc logic nâng cao, khắc danh sách tự do SQLite và tạo phẩm WAL đã xóa, tạo báo cáo PDF có dấu Bates với hàm băm SHA-256 và ký Chứng nhận giám sát theo quy tắc chứng cứ liên bang chính thức 902(14) giúp báo cáo tự xác thực trước tòa mà không cần chuyên gia chứng thực trực tiếp.

Đã kiểm tra nguồn

  • Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST, Hoa Kỳ): Ấn bản Đặc biệt của NIST 800-101 Rev. 1: Hướng dẫn về Điều tra Thiết bị Di động (Bảo quản, Cách ly RF ở Chế độ Máy bay, Tạo tác Cơ sở dữ liệu SQLite và Xác minh Băm).
  • Văn phòng Hành chính của Tòa án Hoa Kỳ: Quy tắc Liên bang về Bằng chứng (FRE) Quy tắc 106 (Phần còn lại hoặc Văn bản Liên quan hoặc Lời khai được ghi lại), Quy tắc 901(b)(1), (b)(4) và (b)(9) (Xác thực bằng chứng điện tử), Quy tắc 902(13) và 902(14) (Dữ liệu được chứng thực được sao chép từ thiết bị điện tử thông qua giá trị băm) và Quy tắc 1002 (Yêu cầu của Bản gốc).
  • Hiệp hội SQLite: Tài liệu SQLite chính thức về ghi nhật ký ghi trước (Chế độ WAL), Định dạng tệp của cơ sở dữ liệu bị hỏng, các trang danh sách tự do và .recover Lệnh CLI.
  • Apple Inc.: Hướng dẫn bảo mật nền tảng Apple (Lớp bảo vệ dữ liệu, Trước khi mở khóa lần đầu và sau khi mở khóa lần đầu Phân cấp khóa và Cấu trúc bản kê khai sao lưu iTunes/Finder).
  • Nhóm công tác khoa học về bằng chứng kỹ thuật số (SWGDE): Các phương pháp thực hành tốt nhất để điều tra điện thoại di động và kiểm tra cơ sở dữ liệu SQLite.

Hướng dẫn liên quan