使用Visual Studio2015开发IDA插件

本文档介绍了IDASDK-InteractiveDisassemblerModuleSDK的安装配置与开发环境搭建过程,详细阐述了idasdk6.8版本的配置要求、目录结构及如何使用VisualStudio2015开发Loader模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IDA SDK - Interactive Disassembler Module SDK


从网上下载好idasdk,我用的是idasdk6.8版本

配置要求:

Windows 32/64bit 模块 Visual C++ >= 9.0  /  GNU C++ compiler (MinGW)

Linux 32/64bit 模块 GNU C++ compiler

MacOSX 32/64bit 模块 GNU C++ compiler or clang


idasdk目录结构:

ida.hpp          IDA插件工程主要头文件,其中inf结构保存了所有文件中的参数设置

kerwin.hpp 用于用户交互和字符串处理的函数

ua.hpp 描述insn_t结构,保存汇编指令

idap.hpp IDP模块主要头文件,描述processor_t结构和asm_t结构,分别保存处理器数据和反汇编器数据

area.hpp 保存反汇编文件的区域信息

auto.hpp 自动分析相关函数

bytes.hpp


ida插件类型:

类型 导出

processor LPH

loader



可以使用函数进行调试:deb()  msg()  warning()


使用Visual Studio 2015开发一个Loader模块:

1.配置工程,创建一个windows的dynamic library项目,并按照idasdk的install_visual.txt中说明来配置

2.输入代码,最简单的一个demo就完成了

#include "../ldr/idaldr.h"


int idaapi accept_file(linput_t *li, char fileformatname[MAX_FILE_FORMAT_NAME],int n);
void idaapi load_file(linput_t *li, ushort neflags, const char *fileformatname);
int idaapi move_segm(ea_t from, ea_t to, asize_t size, const char *fileformatname);


loader_t LDSC =
{
IDP_INTERFACE_VERSION,
LDRF_RELOAD,
accept_file,
load_file,
NULL,
NULL
};




int idaapi accept_file(linput_t * li, char fileformatname[MAX_FILE_FORMAT_NAME], int n)
{
return 0;
}


void idaapi load_file(linput_t * li, ushort neflags, const char * fileformatname)
{
return;
}


int idaapi move_segm(ea_t from, ea_t to, asize_t size, const char * fileformatname)
{
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值