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

介绍

什么是climacros?

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

08d41658cbc013daf0f9cb5a1ea49cf0.gif

用法

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

989216e66795cdc9ac6302b061ce47fc.png

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

静态宏

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

c43036a1dfd2d4919b220031c0c3fa64.png

执行时输出以下内容:

2fc06aed6a0d34b72a591d552487ed5a.png

动态宏

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

539fc0d6fbc50f0802bd06011a71ddce.png

简短形式$!

c2843daf8bd47ab18f1df2023d205868.png

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

94cfe536c287470fa8c6d7d19c0fcf59.png

内联替换

您不必定义宏以便在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。

推荐阅读

3221ca25ef0e045732817bbe12d8e447.png9831a832409d0910d04212c6d24b78fa.pngcb0dac0324a1e52748953e5917936b15.png0e8573593fa909065bd89310ad761ec8.png0ee5221401bc71a1e580cadf58fcb3e6.gifbe0ecc13ed7e7537d8dff9c3b1c96690.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值