ida运行c语言脚本,补充1:IDA的脚本IDC语言

本文详细介绍了IDA的内置脚本语言IDC,包括IDC的变量、注释、语句结构、函数、对象、程序结构以及错误处理等方面。IDC语言与C语言相似,但不支持数组、指针、结构体等复杂数据结构,而是使用分片进行字符串处理。此外,IDC中不支持C风格的复合赋值运算符,且所有整数操作默认为有符号数。文章还提到IDC函数的声明和调用方式,以及对象和类的定义。IDC程序可以通过#include指令包含头文件,并且可以关联热键。最后,文章提到了IDC的错误处理机制和数据存储特性。
摘要由CSDN通过智能技术生成

1。IDA脚本的打开与使用:

bbbb27fb083ba04088db5ca2da09803b.png

IDA脚本两种语言:IDC(IDC,本地脚本语言)和Python

2。IDC语言介绍

1。IDC变量:IDC是一种松散的语言,没有明确的类型。使用3中数据类型,整数(IDA文档使用类型名称long)、字符串、浮点值。绝大部分的操作是针对整数和字符串。

因为字符串被视为IDC中的本地数据类型。所以不需要跟踪存储一个字符串所需空间。

IDC支持局部变量,使用任何变量前需要声明变量。

引入局部变量的关键字auto,声明时可以初始化。

全局变量的关键字extern,可以在函数内或外定义,但不能声明时带初始值,首次使用分配空间,生存周期和该会话生存周期一致。

Eg:auto addr, reg, val;

2。注释:C风格注释 /**/或//

3。使用“;”分号作为语句终止符和C一样

4。IDC不支持C风格数组(IDA5.6引入分片)、指针(IDA5.6开始支持)或结构体和联合体等复杂数据结构,IDA5.6使用的是类

5。IDC表达式

IDC支持几乎所有的C中的算术运算符,包括三元运算符,但不支持复合赋值运算符(eg:+= *= >>=等)。所有整数值的操作运作为有符号数处理,所以进行右移操作需要处理符号为(& 0x7FFFFFFF)

在IDC中不需要使用字符串来复制函数(C语言中strcpy,strdup),也不需要字符串拼接函数(C语言中strcat),使用分片指定与数组类似的变量子序列。

分片使用方法:[起始索引:结束索引]  至少需要一个索引,使用分片处理IDC字符串类似数组。

Eg: auto str=”String to slice”;

auto s1,s2,s3,s4;

s1 = str[7:9]     // to

s2 = str[:6]       // String

s3 = str[10:]     // slice

s4 =

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值