利用windbg的插件pykd以虚拟地址导出虚拟机的整个内存
来源:互联网 发布:福山大学知乎 编辑:程序博客网 时间:2024/06/05 20:31
import sysfrom pykd import *import stringimport ospagesize = 0x1000 #32位进程页大小为4KBlooptime = 0x100000000 / 0x1000def getmem():# for i in 262144 temp_filepath = "F:\Temp_memory" #保存当前页 whole_filepath = "F:\win7_whole_memory" zero_filepath = "F:\zero_memory" #4KB的0,当前页不存在时用0填充 whole_file = open(whole_filepath,'wb+') zero_file = open(zero_filepath, 'rb') zero_file_read = zero_file.read() for i in range(looptime): commandstr_dd = "dd " + hex(i * pagesize)[0:10] + " " + hex(i * pagesize + 1)[0:10]# print commandstr_dd result = dbgCommand(commandstr_dd) #执行命令,如 dd FFDFF000 if(result[10:11] == '?'): #命令输出? 表示当前页不存在 whole_file.write(zero_file_read) else: commandstr = ".writemem " + temp_filepath + " " + hex(i * pagesize)[0:10] + " " + hex((i+1) * pagesize-1)[0:10]# print commandstr dbgCommand(commandstr) #执行命令,如 .writemem F:\Temp_memory 00000000 00001000 temp_file = open(temp_filepath,'rb') temp_file_read = temp_file.read() # print os.path.getsize(temp_filepath) whole_file.write(temp_file_read) temp_file.close() whole_file.close() def run(): if not isWindbgExt(): if not loadDump( sys.argv[1] ): dprintln( sys.argv[1] + " - load failed" ) return if not isKernelDebugging(): dprintln( "not a kernel debugging" ) return getmem()if __name__ == "__main__": run()
0 0
- 利用windbg的插件pykd以虚拟地址导出虚拟机的整个内存
- 如何利用Visual Studio 和 Windbg把内存里的二进制数据导出到文件
- 用windbg显示特定进程虚拟地址的方法
- 通过windbg查看虚拟地址到物理地址的映射过程
- windbg导出stl map和set的插件
- 内存虚拟地址空间的划分空间
- C的内存虚拟地址空间结构
- windbg调xp的calc(手工虚拟地址到物理地址转换练习)
- Pykd——Python extension for WinDbg
- Pykd——Python extension for WinDbg
- 利用VM虚拟机的NAT形式组建Linux虚拟局域网
- Windbg技巧: 利用C++类对象的虚拟函数表指针在内存中搜索对象
- 用windbg根据堆内存地址查找分配内存的代码位置
- C语言的内存区域(虚拟地址)探索
- 内存虚拟地址的翻译和值读取
- linux内存管理-虚拟地址转换成物理地址的过程
- 存储器管理单元、虚拟地址、内存映射的概念
- VM的Ubuntu虚拟机设置以减小内存消耗
- 从内存文件中搜索指针环
- java 15:静态变量,方法,常量
- cocos2d-x: 死磕"HelloWorld"(2)——应用实例的创建
- HDU1026 Ignatius and the Princess I 优先队列宽搜+路径输出
- PKU 2777 Count Color (线段树区间更新)
- 利用windbg的插件pykd以虚拟地址导出虚拟机的整个内存
- Ubuntu14 root 自动登陆 root auto logon
- mysql免安装文件怎么使用
- open与fopen
- C++语言笔记系列之十二——C++的继承
- 友元
- Redis内存使用优化与存储
- POJO
- 常用的协议端口号(TCP and UDP)