在整个 RAM 中查找一个字符串

Bas*_*asj 5 memory windows

如何在整个 RAM 中搜索字符串?(不仅在某些进程分配的内存中,而且在整个 RAM 中)

或者有没有办法将整个 RAM 转储到 4GB 或 8GB 的​​磁盘文件中?然后我可以轻松地做到:

grep mypassword c:\ramdump.raw
Run Code Online (Sandbox Code Playgroud)

用法示例:我想知道密码管理器是否以明文形式存储我的主密码,如安全团队在此处找到的那样

我以管理员身份使用 Windows 7 x64。


注意:不像如何在 Windows 10 中获得完整的内存转储?我特别想搜索 RAM 中的内容,而不是内存转储中获取信息。此外,这个问题不清楚:标题与内容不匹配(“标题中的问题似乎与正文中的问题不匹配。”)

Dav*_*ill 2

如何在 RAM 中的任意位置查找字符串?

\n\n

为此,您可以使用windbg下载 Windows 调试工具 - WinDbg - Windows 驱动程序 | Microsoft 文档)。

\n\n

例子:

\n\n
\n

要在内存中搜索字符串 ( Error: 1002),我们运行以下\n 命令:

\n\n
0:000> s -a 0 L?80000000 "Error: 1002"\n04b0e06c  45 72 72 6f 72 3a 20 31-30 30 32 00 00 00 00 00  Error: 1002.....\n
Run Code Online (Sandbox Code Playgroud)\n\n

...

\n\n

在此输入图像描述

\n
\n\n

WinDbg:搜索字符串 \xe2\x80\x93 分布式服务:现场注释

\n\n
\n\n

进一步阅读

\n\n\n

  • @Basj然后你需要配置Windows以在程序崩溃时生成完整的内存转储 - 你已经知道如何做到这一点。事后调试与运行时调试不同。 (3认同)
  • 请注意,这是生成完整转储的操作系统内核代码,因为它具有用户(甚至系统或管理员)没有的额外权限。作为用户(甚至管理员),您不能只转储所有内存 (3认同)