Macbook แฟนของฉันเกิดข้อผิดพลาดขณะพยายามกู้คืนจากไฟล์จำศีล แถบความคืบหน้าหยุดการทำงานที่ ~ 10% หลังจากนั้นเรารีสตาร์ทคอมพิวเตอร์เพื่อการเริ่มต้นปกติ
อิมเมจหน่วยความจำจำศีลนี้มีเอกสารที่ไม่ได้บันทึกเปิดอยู่ในหน้าซึ่งเราต้องการกู้คืน มีsleepimage
ใน/private/var/vm
ซึ่งฉันคิดว่าเป็นภาพจำศีลซึ่งไม่ได้รับการบูรณะอย่างถูกต้อง เราสำรองข้อมูลนี้ไว้เพื่อให้มีชีวิตอยู่
เราพยายามทำstrings sleepimage | grep known_substring
แต่ก็ไม่ทำอะไรเลย grep -a known_substring sleepimage
ไม่ได้ทำอะไรเลยดังนั้นฉันจึงสมมติว่าหน้าเว็บไม่ได้เก็บข้อมูลข้อความไว้ในหน่วยความจำเป็นข้อความธรรมดา
แก้ไข: หลังจากอ่านคำตอบนี้บนgrep ไบนารี่ฉันพยายามทำperl -ln0777e 'print unpack("H*",$1), "\n", pos() while /(null_padded_substring)/g' sleepimage
แล้วไร้ผลอีกครั้ง ฉันเพิ่มด้วย nulls เพื่อพยายามจับคู่ข้อความ UTF-8 จากนั้นฉันลองด้วยความ.*
เศร้าโศกระหว่างตัวละครแต่ละตัว - ยังไม่มีลูกเต๋า
ดังนั้นหน้าอาจไม่เก็บข้อความด้วยการเข้ารหัสทั่วไปในหน่วยความจำ ฉันต้องการค้นหากฎการแปลระหว่างสตริง ASCII และการแสดงข้อมูลหน้า - ฉันคิดว่าอาจเป็นบางส่วนของบัฟเฟอร์สตริง Objective C สำหรับฉันดูเหมือนว่าแปลกมากในการจัดเก็บข้อมูลตัวละครเป็นอย่างอื่นนอกเหนือจากลำดับของตัวละคร แต่ดูเหมือนว่านี่เป็นสิ่งที่เพจทำอยู่
หากคุณมีความคิดใด ๆ เกี่ยวกับวิธีการหาการแสดงข้อความในหน่วยความจำภายในหน้าอาจเป็นประโยชน์อย่างมากในการแก้ปัญหานี้ บางทีฉันสามารถถ่ายโอนข้อมูลและอ่านหน่วยความจำกระบวนการด้วยวิธีง่าย ๆ ได้ไหม?
อีกวิธีที่เป็นไปได้นั้นง่ายกว่า - ฉันคิดว่ามันเป็นไปได้ที่จะรีบูตคอมพิวเตอร์จากสิ่งนี้sleepimage
แต่ฉันไม่สามารถหาเอกสารใด ๆ ว่าคุณจะดำเนินการต่ออย่างไร ผู้ใช้อื่น ๆ ( macrumors ) ดูเหมือนจะพบสิ่งนี้ แต่สำหรับคำถามในฟอรัมทั้งหมดที่ฉันพบไม่มีพวกเขาตอบ
เวอร์ชั่น OS X คือ Snow Leopard, 10.6.8
คำแนะนำที่ซับซ้อนเกี่ยวกับการเขียนโปรแกรมยินดีต้อนรับ ฉันทำ C และ Python
ขอบคุณ.
sleepimage
ใช่การทดสอบทั้งหมดจะมีขึ้นในสำเนาของ การเลื่อนดูรูปภาพอื่นที่กำลังมองหาข้อความที่ไม่เหมือนใครคงเป็นเรื่องยากเนื่องจากรูปภาพจะมีขนาด 4GB และบล็อกหน่วยความจำหน้าจะถูกจัดสรรแบบสุ่มในไฟล์นั้น ฉันคิดว่าฉันสามารถ RAM เป็นศูนย์จากนั้นเปิดหน้าแล้วมองหาลำดับที่ไม่เป็นศูนย์ใน sleepimage แต่หน้าจะกินหน่วยความจำมากถึง 200MB โดยไม่คำนึงว่ายังคงมีเข็มขนาดเล็กอยู่ในกองหญ้า