freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

为IDA命令行模式增加宏支持功能的插件
2019-05-18 13:00:17
所属地 浙江省

介绍

什么是climacros?

CLI宏是一种生产力工具,可让您在IDA的命令行界面(Python,IDC,WinDbg,BochDbg,Gdb等)中定义和使用静态或动态宏。

climacros-vid-1.gif

用法

安装后,climacros始终处于活动状态。它带有一组预定的宏

为IDA命令行模式增加宏支持功能的插件

要创建或编辑新宏,只需从“快速插件视图”窗口(Ctrl-3)调用宏编辑器。

静态宏

静态宏在CLI中按原样替换。例如以下宏:

为IDA命令行模式增加宏支持功能的插件

执行时输出以下内容:

为IDA命令行模式增加宏支持功能的插件

动态宏

可以定义动态宏,这些宏通过评估返回字符串的Python表达式而得到扩展。例如,该idc.here()命令非常有用,可以缩写为较短的宏,例如$!${here}。要定义动态宏,只需用${和包围其表达式}$。长形式的宏${here}用于idc.here()表达的定义如下:

为IDA命令行模式增加宏支持功能的插件

简短形式$!

为IDA命令行模式增加宏支持功能的插件

当CLI命令中存在宏时,将调用该宏:

为IDA命令行模式增加宏支持功能的插件

内联替换

您不必定义宏以便在CLI中进行表达式扩展。如果您需要在CLI中进行一次性表达式扩展,只需定义内联表达式:

fn =  “ test _ $ {str(sum(range(10)))} $。bin ”

要么:

v =  “ $ {str(1 + 2 + 3 + 4)} $ ”

表达式应始终求值为字符串,因此始终记住str()表达式,或者"%x" % expr如果它不返回字符串,则将其格式化。

安装

climacros是用C ++编写的,带有IDA的SDK,因此它应该像常规插件一样进行部署。将插件二进制文件复制到以下任一位置:/plugins%APPDATA%\Hex-Rays/plugins由于该插件使用IDA的SDK而没有其他特定于操作系统的功能,因此该插件应该可以编译为macOS和Linux。我只提供MS Windows二进制文件。请查看发布页面。第一次运行插件时,它将填充默认的宏。如果删除所有宏,除非删除以下文件,否则不会返回默认宏:%APPDATA%\Hex-Rays/firstrun.climacros

*参考来源:github,FB小编周大涛编译,转载请注明来自FreeBuf.COM

# IDA # 宏
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者