IDA脚本

IDA集成了一个脚本引擎,用户可以通过编程对IDA实现全面控制

执行脚本

执行脚本的三种方法:

1.

File->Script File

IDA会显示一个选择文件的对话框,让你选择想要运行的脚本

运行一个新的脚本,这个程序会被添加到最近运行的脚本列表

View->Recent Scripts可以查看.

2.

File->IDC Command

File->Python Command

(IDA7.2版本为File->Script Command)

可以写几条语句执行,不单独创建一个脚本文件

3.IDC的命令行也可以执行脚本

 IDC语言

要速成IDC脚本的话,看我下面这个博客完全足够

IDC语言_御麟蹬辉的博客-CSDN博客

IDC语言借用了C语言的很多语法

使用同C语言一致的注释方式/* */  //

IDC变量

弱类型语言,变量没有明确类型

使用三种数据类型:整数,字符串和浮点值

局部变量 用auto

全局变量 用 extern,可以声明任何函数内部和外部

extren outsideGlobal;

static main(){
        extern insideGlobal;

        outsideGlobal="Global";

        insideGlobal=1.23;

}

IDC表达式

支持除+=,*=,>>=等符合赋值运算符和三元运算符( ? :)外的所有C中的运算符

可以使用分片的方式操作字符串

auto str="Welcome to IDC"
s1=str[:7]; //s1="Welcome"

s2=str[8:10] //s2="to"

s3=str[11:] //s3="IDC"

条件控制

支持除switch之外的所有C语言条件控制语句

支持for while if else

IDC函数

使用static关键字

并且形式参数没有类型

static func(x,y,z){

        auto a,b,c;

}

5.6版本最后的可以传递地址

传地址还是传值取决于调用时候,若传地址参数加&

声明函数时候是一致的

func(q,w,e)

func(&q,&w,e)

IDC类和对象

 与C语言的区别:

没有访问权限说明符

创建一个数据成员只需要给它赋值就可以

class Student{
        Student(age,id){
                this.Age=age;

                this.ID=id;

        }

        ~Student(){}

        add(){
                this.Age++;

        }

};

static main(){

        auto stu1=Student(18,202100342);

        stu1.add();

        stu1.name="Alice";   //这个对象现在新增了一个name的数据成员,这个类没有新增数据成员

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烨鹰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值