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

    xiaoxiao2023-10-09  146

    介绍

    什么是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。

    最新回复(0)