我最近决定写一个应用程序,它将成为市场上一些闭源ram转储应用程序的开源替代品。主要是作为一种学习经历。
但我不完全确定从哪里开始(对于Windows机器)。我想我必须使用在内核级别执行的例程迭代内存,但是我如何在拍摄快照时停止机器执行任何操作,或者尽可能少地执行操作,甚至可以访问这样的公羊,我迷路了。
任何有经验或建议的人都会受到赞赏,非常有趣。
答案 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
这里有一些用于查找要查看的过程或窗口的函数
用于读取内存,可以使用以下api函数。