IDA Pro 内存Dump脚本插件
文章目录
- Dump脚本
- GUI插件
Dump脚本
在调试时对动态内存进行Dump的方法
#idapython2
buf = idaapi.get_many_bytes(start_address, size)
buf.encode('hex')
GUI插件
将插件保存到IDA安装目录Plugins文件夹,
快捷键Alt+D
# -*- coding: UTF-8 -*-
import idaapiclass MemoryDumpForm(idaapi.Form):"""Simple Form to test and combo box controls"""def __init__(self):idaapi.Form.__init__(self, r"""STARTITEM 0MemoryDump{FormChangeCb}Please Input Addr:<#Hint1#StartAddr :{StartAddress}><#Hint2#EndAddr/Len:{EndAddress}><##Option##Len:{rLen}><EndAddr:{rEndAddr}>{cGroup2}>""", {'StartAddress': idaapi.Form.StringInput(width=50, swidth=15),'EndAddress': idaapi.Form.StringInput(width=50, swidth=15),'FormChangeCb': idaapi.Form.FormChangeCb(self.OnFormChange),'cGroup2': idaapi.Form.RadGroupControl(("rLen", "rEndAddr")),})def OnFormChange(self, fid):if fid == -2:# print "start save"self.start = self.GetControlValue(self.StartAddress)self.endorlen = self.GetControlValue(self.EndAddress)self.dumptype = self.GetControlValue(self.cGroup2)if len(self.start) == 0 or len(self.endorlen) == 0:idaapi.warning("addr or len is null")return -1else:self.StartDump()return 1def StartDump(self):# print self.start# print self.endorlenself.filepath = idaapi.ask_file(1, "*.dump", "save dump file")if self.dumptype == 0:ea = self.getHexNum(self.start)len = self.getHexNum(self.endorlen)if not idaapi.is_loaded(ea) or not idaapi.is_loaded(ea + len):idaapi.warning("arrary is out of bound")return -1if len <= 0:idaapi.warning("len is <= 0")return -1print("start read bytes")self.Close(0)idaapi.show_wait_box("read bytes")self.memdata = idaapi.get_many_bytes(ea, len)print("read bytes end")idaapi.hide_wait_box("read end")elif self.dumptype == 1:ea = self.getHexNum(self.start)len = self.getHexNum(self.endorlen) - self.getHexNum(self.start)if not idaapi.is_loaded(ea) or not idaapi.is_loaded(ea + len):idaapi.warning("arrary is out of bound")return -1if len <= 0:idaapi.warning("len is <= 0")return -1print("start read bytes")self.Close(0)idaapi.show_wait_box("read bytes")self.memdata = idaapi.get_many_bytes(ea, len)print("read bytes end")idaapi.hide_wait_box("read end")fp = open(self.filepath, 'wb')fp.write(self.memdata)fp.close()idaapi.msg("save:" + self.filepath)return 1def getHexNum(self, nums):return long(nums, 16)class memory_dump_handle(idaapi.action_handler_t):def __init__(self):idaapi.action_handler_t.__init__(self)def activate(self, ctx):#print "start show"form = MemoryDumpForm()form.Compile()form.Execute()return 1def update(self, ctx):return idaapi.AST_ENABLE_ALWAYSclass MemoryDump(idaapi.plugin_t):flags = idaapi.PLUGIN_FIX | idaapi.PLUGIN_HIDEcomment = "Memory Dump for IDA Pro 7.0 and 7.1"help = "Memory Dump"wanted_name = "MemoryDump"wanted_hotkey = ""def init(self):idaapi.msg("Ida plugin init called.\n")idaapi.register_action(idaapi.action_desc_t("dump:memoryDump", "MemoryDump", memory_dump_handle(), "Alt+D", "", -1))return idaapi.PLUGIN_KEEPdef term(self):idaapi.unregister_action("dump:memoryDump")idaapi.msg("term was called \n")def run(self):idaapi.msg("run was called \n")passdef PLUGIN_ENTRY():return MemoryDump()
上述脚本来自 https://github.com/CrackerCat/MemoryDump
IDA Pro 内存Dump脚本插件相关推荐
- 关于ida pro的牛逼插件keypatch
关于ida pro的牛逼插件keypatch 通常ida在修改二进制文件,自带的edit->patch program->assemble( Ilfak Guilfanov在论坛里也提到, ...
- IDA Pro 7.0皮肤插件的安装与深色主题(包含背景色、前景色、指令颜色)的设置
长期以来都用的是IDA Pro的默认白底蓝字的主题,这种配色在夜里十分刺眼,最终决定将其背景换为深色. 主题插件的安装 感谢zyantific大神制作的IDA Pro主题插件,这款插件使用Qt sty ...
- IDA ,ida pro的 IDC 脚本语言教程列表
该程序在 0x40 段创建一个段并注释 BIOS 数据区.您应该加载并执行此文件以查看 BIOS 数据区变量的名称. //--------------------------------------- ...
- python反编译luac_Lua程序逆向之为Luac编写IDA Pro文件加载器
距离上一次讲Lua程序逆向已经有一段时间了,这一次我们书接上回,继续开启Lua程序逆向系列之旅. 在软件逆向工程实践中,为第三方文件编写文件格式分析器与指令反汇编器是一种常见的场景.这一篇的主要目的是 ...
- linux静态反汇编工具,源码恢复反汇编静态分析工具IDA pro
DataRescue IDA Pro Disassembler and Debugger 是目前最棒的一个静态反编译软件,为众多0day世界的成员和ShellCode安全分析人士不可缺少的利器!IDA ...
- IDA密码算法自动化识别插件、脚本汇总
在逆向过程中,自动识别文件中存在的密码算法.原理上只有两条路 1.密码算法中的常量特征(常数.s盒等): 2.特定加密库的独有特征(字符串.指令流等). 现有工具特点: 1.大多都是根据密码算法的常量 ...
- 反汇编分析工具IDA Pro的可视化插件使用方法
IDA Pro是非常优秀的反汇编工具,今天简单介绍一下其可视化插件qwingraph.exe的使用方法. 当建立一个二进制工程后,选择View--Graphs--Function Calls,会报如图 ...
- 几个必备的IDA pro插件
IDApython download: http://d-dome.net/idapython/ 这个插件不用说了吧, IDA pro 5.4中将正式集成IDApython. detpdb downl ...
- IDA PRO:庆祝成立创新 30 周年
今天,IDA 已经三十岁了.为了纪念周年纪念,我们将描述史诗旅程的开始和主要里程碑. 背景 在 1990 年代初期,DOS 是最流行的 PC 操作系统,主要是 8086,偶尔有 80286(80386 ...
最新文章
- Centos下卸载openjdk并安装自定义jdk
- 2021年春季学期-信号与系统-第七次作业参考答案-第五小题
- 【贪心】数据备份(P6320)
- 三连击(升级版)(洛谷-P1618)
- P5 周志华:“数据、算法、算力”,人工智能三要素在未来还要加上“知识”
- 计算机视觉基础:图像处理Task 02 几何变换
- 戴尔DCS两周年庆 推新型数据中心设备
- 为什么说至强系列cpu是服务器u,至强cpu那么好,为什么日常装机的时候一般都选酷睿系列的呢?...
- 遭遇Trojan PSW OnlineGames Trojan HiJack a Trojan PSW ZhuXian
- linux下安装qt教程
- 获取手机存储空间大小
- Python学习week3
- 低代码:阿里“云钉一体”战略的延伸和深化
- jenkins插件管理提示_jenkins插件管理及安装
- 跑步用挂脖耳机好还是无线耳机、公认最好的跑步耳机推荐
- 常用的web服务器软件整理(转载)
- 140种Python标准库、第三方库和外部工具
- 同样是技术出身,深夜看完王兴饭否的190条思考,越想越后怕!
- flowable工作流技术学习
- 人工雨量计_自动与人工雨量计观测降水量的差异分析
热门文章
- 分享两个用于告白的VB脚本程序
- Web端即时通讯技术原理详解
- 微粒贷小贴士:了解网络虚假APP诈骗套路,以防上当受骗
- 【大模型】—Open AI GPT大模型介绍
- 大火的4D Radar数据集及基线模型汇总
- 永磁同步电机无速度传感器控制(三)——模型参考自适应法(二)【自适应律的设计】
- 计算机考研张雪峰,张雪峰:考研最容易被忽视的985,实力不俗却很低调,性价比更高...
- 2023年自动化系紫冬讲坛第3期“课程思政面对面”顺利举办
- 使用socks5实现简易代理服务器
- 快鲸智慧社区系统的应用场景有哪些