IDA memory dump
0x00 前言
这几天有个需求,要用ida dump内存,我的是ida7.7,在吾爱破解上下载的。百度了一下,发现网上的都用不了,然后整理了一下,供大家使用
0x01 IDC脚本
ida中,按 Shift+F2
,输入以下代码,记得修改路径fname
auto fname = "e:\\dump_mem.bin";
auto address = 0x233D0140000;
auto size = 0x16f510;
auto file= fopen(fname, "wb");savefile(file, 0, address, size);
fclose(file);
0x02 Python脚本
基于 https://github.com/qgy123/IDAMemoryDumper 修改了一个小bug
将下面的脚本拷贝到ida中的plugins目录下,然后重启ida,输入快捷键Ctrl-Alt-M
import ida_kernwin
import idaapi
import idcact_name = "memdumper:opendump"
label = "Memory dumper"class MemDumper_t(idaapi.plugin_t):flags = idaapi.PLUGIN_PROCcomment = "MemDumper"help = "A plugin to dump the memory region where you wannted from the debugger"wanted_name = labelwanted_hotkey = "Ctrl-Alt-M"def init(self):self.hextays_inited = Falseprint("Memory Dumper (v1.0) by yueluo")print("Plugin has been loaded.")self.hexrays_inited = Truereturn idaapi.PLUGIN_KEEPdef run(self, arg):s = """Memory DumperEnter the memory region:begin: <:n::12::>size: <:n::12::> (optional, fill it to ignore the end address) or end: <:n::12::>"""currea = idaapi.get_screen_ea()begin = idaapi.Form.NumericArgument('N', currea)size = idaapi.Form.NumericArgument('N', 0x0)end = idaapi.Form.NumericArgument('N', 0x0)ok = idaapi.ask_form(s,begin.arg,size.arg,end.arg)if ok == 1:print("Begin dump")if size.value == 0:if end.value <= begin.value:idaapi.warning("Incorrect Address!")returnelse:dumpsize = end.value - begin.valueelse:dumpsize = size.valueprint("begin: 0x%x, end: 0x%x" % (begin.value, begin.value + dumpsize))path = ida_kernwin.ask_file(True, "*", "Save dump to?")if not path:returnprint("path: %s" %path)if idc.savefile(path, 0, begin.value, dumpsize) != 0:idaapi.info("Save successed!")else:idaapi.warning("Failed to save dump file!")def term(self):if self.hexrays_inited:idaapi.term_hexrays_plugin()def PLUGIN_ENTRY():return MemDumper_t()
IDA memory dump相关推荐
- qualcomm memory dump 抓取方法
Memory dump是系统出现crash时常用的分析故障原因的方法,qualcomm 各子系统运行时,为方便debug,都会开辟ram log和debug variable用于保存各系统运行信息及健 ...
- Getting the right Exception Context from a Memory dump Fixed
吃饭回来,看到Share Source CLI团队的rss聚合上面Debug团队的juqiang发了一篇文章,说抓了一个minidump出现了: WARNING: Unable to verify t ...
- 计算机蓝屏分析报告,报告蓝屏: 如何提供内存转储(Memory Dump)文件
如果您在使用我们的软件产品时遇到蓝屏或自动重启的问题,我们的技术支持可能要求提供蓝屏相关的内存转储文件以便分析.请参照以下步骤提供内存转储文件. 步骤 1. 禁止自动重启 在控制面板打开系统,在高级页 ...
- Plugin: Memory Dump by aeon update 12.10
http://bbs.pediy.com/showthread.php?t=56364
- IDA Pro 内存Dump脚本插件
文章目录 Dump脚本 GUI插件 Dump脚本 在调试时对动态内存进行Dump的方法 #idapython2 buf = idaapi.get_many_bytes(start_address, s ...
- Windows蓝屏(Beginning Dump of Physical Memory)
为什么Windows 2000/XP会蓝屏? NT内核的操作系统采用的是分层管理结构(层又称为模式),主要有用户层(User Mode)和内核层(Kernel Mode),我们可以通过下面这个形象的比 ...
- 系统诊断概述-如何通过windbg来dump特定process的memory.
关键字:系统异常system exception 内存dump (信息转储),windbg工具. 1.为什么需要dump 内存 系统经常出现各种各样的问题,这些问题,可能是本身程序设计的时候 ...
- C++ CORE DUMP gdb 调试
先查看内存转储的大小限制: ulimit -c 返回的结果是以512 bytes为单位的. 如果没有返回结果,说明设置为0,需要进行手动设置:ulimit -c unlimited 测试代码: #in ...
- dump文件 修复iat_内存溢出如何Dump文件
分析垃圾堆是解决内存外问题最普遍的方法,也是唯一可靠的方法.在这篇文章中,我将使用Eclipse MAT,因为这是我最有经验的工具,但是您可以对任何其他类似的工具采取类似的方法. 在我们开始之前,请注 ...
最新文章
- 模组使用之天线阻抗匹配、匹配过程、天线选型注意、RF走线Layout建议
- ESP32彩屏应用开源了https://github.com/wireless-tag-cn/lv_port_esp32
- Method getMethod
- 【Python CheckiO 题解】Probably Dice
- thinkphp增删改查
- js 跳转到 百度指定地址定位点
- 笨方法学python第四版当当_“笨办法”学Python(第3版)
- Android Studio中删除所有的断点
- 古代的政令 —— 两汉均输
- angular input 为file on-change 无效
- 西安交大计算机网络 笔记,计算机网络笔记整理
- 在Spring项目下集成CXF
- BP神经网络(Python代码实现)基于pytorch
- 三角函数及其之间的关系
- Android NDK墓碑/崩溃分析
- SVN的目录结构,trunk、tag、branches
- 攻防世界-mfw-(详细操作)做题笔记
- 《宣州谢眺楼饯别校书叔云》 李白诗两首
- 四轴码垛机器人DH模型运动学
- 如何找出知乎的所有神回复