IDC语言

简介: IDC快速上手

变量

三种数据类型

◦整数

◦字符串

◦浮点值

局部变量用auto来声明

全局变量用extern来声明

与C语言的区别

记住下面几点,就可以按照C语言的编程经验来编写IDC脚本了

几乎支持C语言所有的运算符,除了“ ? :”三元运算符和“+=”,“>>=”等复合赋值运算符

支持“Hello”+“World”进行字符串拼接,得到“HelloWorld”

没有数组,有分片运算符

不支持switch

用户定义的函数用static关键字来声明

读取和修改数据的函数

idc脚本需要加#include<idc.idc>头文件

long Byte(long addr)从虚拟地址addr处读取一个字节值

long Word(long addr)从虚拟地址addr处读取一个字(2字节)值

long Dword(long addr)从虚拟地址addr处读取一个双字(4字节)值

void PatchByte(long addr,long var)设置虚拟地址addr处的一个字节值

void PatchWord(long addr,long var)设置虚拟地址addr处的一个字值

void PatchDword(long addr,long var)设置虚拟地址addr处的一个双字值

bool isLoaded(long addr)如果addr包含有效数据,则返回1,否则返回0

其他IDC函数

用户交互函数

字符串操纵函数

文件输入/输出函数

操作数据库的函数

数据库操纵函数

数据交叉引用函数

数据库搜索函数

image.png

相关函数原型可以查看(《IDA Pro权威指南》15章)

IDA中使用IDC语言

image.png

可以用shift+F12打开

image.png

写入脚本,点击run

相关文章
|
Java 编译器 程序员
初识C语言 -- 01
初识C语言 -- 01
138 0
|
3月前
|
算法 编译器 API
C语言中的longdouble类型
C语言中的longdouble类型
|
4月前
|
C语言
|
存储 编译器 C语言
C语言进阶教程(再论struct,union,enum)
C语言进阶教程(再论struct,union,enum)
86 0
|
存储 Java Go
C语言基础--字符串
C语言基础--字符串
66 0
|
11月前
|
存储 人机交互 C语言
【c语言】 -- 指针进阶
【c语言】 -- 指针进阶
62 0
|
C语言
C语言基础--函数
C语言基础--函数
47 0
|
算法 编译器 C语言
从零学习C语言---函数
本章介绍了C语言中函数的使用,函数是C语言中非常要要的一部分。快来学习把。
从零学习C语言---函数
|
C语言 对象存储
从零学习C语言---结构体
本章介绍C语言的结构体知识。主要内容包含:结构体声明、结构体成员访问、结构体传参。
从零学习C语言---结构体
|
算法 程序员 C语言
C语言---函数介绍详解
C语言---函数介绍详解
127 0
下一篇
无影云桌面