Macbook của bạn gái tôi bị hỏng trong khi cố gắng khôi phục từ một tệp ngủ đông. Thanh tiến trình dừng ở mức ~ 10%, sau đó chúng tôi khởi động lại máy tính để khởi động bình thường.
Hình ảnh bộ nhớ ngủ đông này có một tài liệu chưa được lưu trong Trang mà chúng tôi muốn khôi phục. Có một sleepimage
trong /private/var/vm
, mà tôi giả định là hình ảnh ngủ đông mà không bao giờ có được phục hồi một cách chính xác. Chúng tôi đã sao lưu điều này để giữ cho nó sống.
Chúng tôi đã cố gắng strings sleepimage | grep known_substring
nhưng nó không trả lại được gì. grep -a known_substring sleepimage
cũng không làm gì cả, vì vậy tôi cho rằng Trang không giữ dữ liệu văn bản trong bộ nhớ dưới dạng văn bản thuần túy.
Chỉnh sửa: Sau khi đọc câu trả lời này trên Grep nhị phân, tôi đã cố gắng perl -ln0777e 'print unpack("H*",$1), "\n", pos() while /(null_padded_substring)/g' sleepimage
, một lần nữa không có kết quả. Tôi đã đệm nó bằng null để thử khớp với văn bản UTF-8. Sau đó, tôi đã cố gắng với sự .*
ảm đạm giữa mỗi nhân vật - vẫn không có xúc xắc.
Vì vậy, Trang có thể không lưu trữ văn bản bằng bất kỳ mã hóa phổ biến nào trong bộ nhớ. Tôi sẽ cần tìm một quy tắc dịch giữa chuỗi ASCII và biểu diễn dữ liệu Trang - Tôi nghĩ có lẽ một loại bộ đệm chuỗi Objective C nào đó. Đối với tôi có vẻ rất kỳ lạ khi lưu trữ dữ liệu nhân vật như bất kỳ thứ gì khác ngoài một chuỗi các ký tự, nhưng đây dường như là những gì Trang đang làm.
Nếu bạn có bất kỳ ý tưởng nào về cách tìm ra cách thể hiện trong bộ nhớ của văn bản bên trong Trang, có thể rất hữu ích trong việc giải quyết vấn đề này. Có lẽ tôi có thể kết xuất và đọc bộ nhớ tiến trình theo một cách đơn giản nào đó?
Một giải pháp khả thi khác đơn giản hơn - Tôi cho rằng bằng cách nào đó có thể khởi động lại máy tính từ đây sleepimage
, nhưng tôi không thể tìm thấy bất kỳ tài liệu nào về cách bạn sẽ tiến hành với điều đó. Một số người dùng khác ( macrumors ) dường như đã gặp phải điều này, nhưng đối với tất cả các câu hỏi của diễn đàn tôi đã tìm thấy, không ai trong số họ có câu trả lời.
Phiên bản OS X là Snow Leopard, 10.6.8.
Đề xuất phức tạp liên quan đến lập trình được chào đón. Tôi làm C và Python.
Cảm ơn bạn.
sleepimage
. Lướt qua một hình ảnh khác để tìm văn bản độc đáo cũng khó khăn như vậy, vì hình ảnh vẫn có kích thước 4GB và khối bộ nhớ Trang sẽ được phân bổ ở đâu đó ngẫu nhiên trong tệp đó. Tuy nhiên, tôi cho rằng tôi có thể loại bỏ RAM, sau đó mở các trang và sau đó tìm kiếm các chuỗi khác không trong chế độ ngủ. Nhưng Pages ăn hết 200 MB bộ nhớ bất kể - vẫn là một cây kim nhỏ trong đống cỏ khô.