介绍
什么是climacros?
CLI宏是一种生产力工具,可让您在IDA的命令行界面(Python,IDC,WinDbg,BochDbg,Gdb等)中定义和使用静态或动态宏。
用法
安装后,climacros始终处于活动状态。它带有一组预定的宏
要创建或编辑新宏,只需从“快速插件视图”窗口(Ctrl-3)调用宏编辑器。
静态宏
静态宏在CLI中按原样替换。例如以下宏:
执行时输出以下内容:
动态宏
可以定义动态宏,这些宏通过评估返回字符串的Python表达式而得到扩展。例如,该idc.here()
命令非常有用,可以缩写为较短的宏,例如$!
或${here}
。要定义动态宏,只需用${
和包围其表达式}$
。长形式的宏${here}
用于idc.here()
表达的定义如下:
简短形式$!
:
当CLI命令中存在宏时,将调用该宏:
内联替换
您不必定义宏以便在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
来源:freebuf.com 2019-05-18 13:00:17 by: 周大涛
请登录后发表评论
注册