任务冻结时如何从记事本中恢复内容?

Alb*_*bin 2 freeze windows-7 notepad data-recovery

如果记事本(Windows 预装的 Microsoft 记事本,在我的情况下是 Windows 7)在我有机会将内容保存到文件之前就死机了,有没有办法恢复内容?记事本在硬盘上没有某种“备份”。我认为在任何 Windows 版本中记事本都不会在磁盘上保留任何数据。

这一切都在内存中,或者如果您打开已经存储在光盘上的现有文件,则所有更改都在内存中。所以如果任务仍然在那里只是冻结,内存应该仍然存在。我从我第一次尝试通过“解冻”记事本解决问题时得到了这个想法(请参阅如何分析记事本崩溃?(Windows7))。如果解冻不起作用,则问题仍然是恢复数据。

请注意,这与以下问题中所述的情况截然不同:我们如何在崩溃后“恢复”记事本?由于重新启动,内存被清除干净,在我的情况下,所有数据仍在内存中。

Alb*_*bin 5

如果记事本任务/进程仍然存在,记事本中的文本仍然存储在计算机主内存中。

访问它的一种方法是对进程进行完整的内存转储并从那里恢复您的文本。我大约需要 5 分钟(但如果您前几次这样做,您很可能需要增加一些时间,这取决于您的背景知识 - 考虑增加 10-20 分钟)。但是您将能够恢复完整的文本。

要存储内存转储,您需要一个可以存储转储文件的任务管理器,您可以使用 Windows 内置的任务管理器,我个人使用免费软件工具 Processhacker。

  • 打开你的任务管理器
  • 选择冻结的记事本任务
  • 通过菜单或上下文菜单选择保存转储文件(如果软件为您提供选择,请使用“完全转储”)
  • 将转储文件保存到磁盘

您可以使用常规的 Windows 十六进制编辑器(例如 HxD 十六进制编辑器)分析它并恢复您的数据:

  • 在十六进制编辑器中打开内存转储文件。它通常非常大(50.000k 或更多,即使它在任务管理器中只显示更少的 1.000k),因为它包含的内容远不止您写入记事本的文本,其中大部分都是无法阅读的胡言乱语。
  • 要在转储文件中查找“您的文本”,请使用 HEX 编辑器的“搜索”。搜索记事本中文本的任何部分,例如句子或单词的一部分(确保在搜索时选择正确的编码方法,通常是 Unicode)
  • 在转储文件中找到它后,标记包含记事本中所有文本的整个部分
  • 将其复制并粘贴到“适当的”文本编辑器中(例如 Notepad++,不要使用 MS 记事本,因为您将无法按照下一步中的描述删除特殊字符)
  • 将文本粘贴到文本编辑器后,通常您会在原始文本的每个字符之间看到一个“特殊字符”,您可以删除所有人,只需使用文本编辑器的“全部替换”功能即可将其删除(特殊字符可以是通过复制和粘贴添加)。

瞧,你恢复了数据......

附注。有时还有一些进一步的清理工作要做,您的部分文本可能存在两次一次可读一次“一半可读。在这种情况下,只需删除一半可读的副本。但它“总是不同的”,所以你只是需要检查您的文本是否也是这种情况。

聚苯乙烯。使用 HxD Hex Editor,您还可以直接访问内存,而无需先将其保存到光盘。在“Extras”下的菜单中,单击“Open Memory”(确保在选择任务时取消选中隐藏“不可读”内存的框)