IDA脚本

举报
御麟 发表于 2023/04/25 22:25:50 2023/04/25
【摘要】 ​ IDA集成了一个脚本引擎,用户可以通过编程对IDA实现全面控制执行脚本执行脚本的三种方法:1.File->Script FileIDA会显示一个选择文件的对话框,让你选择想要运行的脚本运行一个新的脚本,这个程序会被添加到最近运行的脚本列表View->Recent Scripts可以查看.2.File->IDC CommandFile->Python Command(IDA7.2版本为Fi...

 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的数据成员,这个类没有新增数据成员

}


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。