0

我最近决定要编写一个应用程序,作为市场上一些闭源 ram dump 应用程序的开源替代方案;主要作为学习经验。

但我不完全确定从哪里开始(对于 Windows 机器)。我想我必须使用在内核级别执行的例程来遍历内存,但是我如何在拍摄快照时阻止机器做任何事情,或者尽可能少做,甚至可以访问像这样的公羊,我迷路了。

任何有经验或建议的人都会受到赞赏,非常有趣的话题。

4

3 回答 3

1

对于 Windows,您需要的一切都在 dbghelp.dll 中 - 参考这里

您可以直接调用 Minidump 函数,也可以手动遍历所有结构(这需要更多的工作,但更符合您描述的教育练习)。

对于过程控制,编写基本调试器的信息应该很有用。

于 2010-11-22T15:10:45.477 回答
0

Google Breakpad可能会有所帮助。不过自己还没用过

于 2010-11-22T15:28:25.307 回答
0

这是一个关于暂停进程的快速教程,以便您可以使用它。 http://www.infernodevelopment.com/freeze-programs-using-win32-threads

这里有一些函数可用于查找您要查看的进程或窗口

  1. 获取WindowThreadProcessId
  2. 枚举窗口
  3. 任务列表
  4. 获取当前进程

对于读取内存,您可以使用以下 api 函数。

  1. 开放式进程
  2. 读进程内存

谷歌搜索这些应该会给你一个好的开始

于 2011-07-26T15:11:17.923 回答