[IDA]IDC脚本基础

您所在的位置:网站首页 idc类型 [IDA]IDC脚本基础

[IDA]IDC脚本基础

2024-07-16 00:31:05| 来源: 网络整理| 查看: 265

IDC的变量

idc使用三种基本数据类型 整形,字符串,浮点值

idc使用auto关键字声明变量,使用extern关键字声

明全局变量

auto var = 1;          //局部变量

extern var2 = 1;      //全局变量

IDC的运算符

idc支持绝大部分c的运算符,但是不支持如+=的复合运算符,并且idc所有整数操作数

均作为有符号处理,移位运算符如>>总是进行算术移位,想要完成逻辑移位,必须手

动进行位运算。字符串是idc的基本类型,所以可以执行+号运算符拼接字符串。

IDC语句

idc不支持switch语句其他语句风格与c一致,以分号结束语句。

IDC函数

idc仅在idc的独立程序脚本中支持定义用户的函数。使用static关键字声明函数,可以使用return

返回一个值,return并非必须。参数为&a表示传引用

static func(a,b,c){

//函数体

}

IDC实用函数

idc同样为idapython提供了这些函数

返回值函数名参数 longBytelong addr从虚拟地址addr处读取一个字节longWordlong addr从虚拟地址addr处读取两个字节longDwordlong addr从虚拟地址addr处读取四个字节voidPatchBytelong addr, long val设置虚拟地址addr处的一个字节值voidPatchWordlong addr, long val设置虚拟地址addr处的两个字节值voidPatchDwordlong addr, long val设置虚拟地址addr处四个字节值boolisLoadedlong addr

如果addr包含有效数据,则返回1,否则0

如果提供一个无效的地址也会返回0xff,所以

isloaded可以判断是否有数据

voidMessagestring format,....在输出窗口打印一条格式化字符串voidprint....在输出窗口打印每个参数的字符串表示形式voidWarningstring format,....在对话框中显示一条格式化消息stringAskStrstring default, string prompt

显示一个输入框,要求用户输入一个字符串。如果操作成功

返回用户字符串,如果取消则返回0

stringAskFile

long doSave, string mask,

string prompt

显示一个文件选择对话框,以简化选择文件任务,如果操作成功,返回选择文件的名称,如果取消,返回0longAskYNlong default, string prompt用一个答案为是或否提问,1为是,0为否,-1取消longScreenEA 返回当前光标所在位置的虚拟地址boolJumplong addr跳转到反汇编窗口指定地址stringformstring format,....返回一个新字符串,由所提供的值格式化stringsprintfstring format,....在ida5.6代替formlongatolstring val十进制转换为整数longxtolstring val转换为16进制stringltoalong val, long radix以指定进制返回vallongordstring ch返回单个字符串 ASCIIlongstrlenstring str返回字符串长度longstrstrstring str, string substr返回str中substr的索引stringsubstrstring str, long start ,long end返回start到end-1的字符串longfopenstring filename, string mode返回文件句柄,和c语言一样voidfcloselong handle关闭文件longfilelengthlong handle返回指定文件长度,如果错误-1longfgetclong handle从文件中读取一个字节longfputclong val, long handle写入一个字节,成功则0,失败-1longfprintflong handle,string format, ...一个格式化字符串写入给定文件longwritestrlong handle, string str指定字符串写入文件string/longreadstrlong handle从给定文件中读取一个字符串,读到一个换行符为止,包括换行符,末尾返回-1longDfirstlong from返回给定地址应用一个数据值的第一个位置。没有返回-1longDnextlong from,long current如果已经有一个位置,可以利用当前位置,搜索下一个位置。错误返回-1longXrefType 返回最后一个交叉引用查询函数返回的类型longDfirstBlong to返回给顶地址作为数据引用的第一个位置,不存在返回-1longDnextBlong to, long current如果已经有一个位置,可以利用当前位置,搜索下一个位置。错误返回-1longFindCodelong addr, long flags

flag指定查找行为,SEARCH_DOWN,扫描高位地址,SEARCH_NEXT跳过当前匹配,搜索下一个,SEARCH_CASE以区分大小写方式扫描二进制文本

从给定地址搜索一条指令

longFindeDatalong addr, long flags从给定地址搜索一个数据项longFindBinarylong addr, long flags, string binary从给定地址搜索一个字节序列

 在独立的.idc脚本文件编写脚本时,需要按如下结构

#include

static main(){

//主函数

}

保存为.idc文件后,打开ida在菜单中File>Script File可以执行idc脚本



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭