有关倾销公羊的方法的问题[所有语言和平台]

时间:2010-11-22 14:56:53

标签: c++ python windows linux memory-dump

我最近决定写一个应用程序,它将成为市场上一些闭源ram转储应用程序的开源替代品。主要是作为一种学习经历。

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

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

3 个答案:

答案 0 :(得分:1)

对于Windows,您需要的所有内容都在dbghelp.dll中 - 参考here

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

对于过程控制,writing a basic debugger上的信息应该很有用。

答案 1 :(得分:0)

Google Breakpad可能有所帮助。但是,我还没有用过它,

答案 2 :(得分:0)

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

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

  1. GetWindowThreadProcessId
  2. EnumWindows的
  3. 任务列表
  4. GetCurrentProcess
  5. 用于读取内存,可以使用以下api函数。

    1. OpenProcess
    2. ReadProcessMemory
    3. 谷歌搜索那些应该给你一个良好的开端