IDA SDK - Interactive Disassembler Module SDK
=============================================
This SDK should be used with IDA kernel version 6.2
This package allows you to write:
- processor modules
- input file loader modules
- plugin modules (including the
processor module extension plugins)
Please read read through whole file before continuing!
A nice tutorial on IDA SDK is available on this site:
http://www.binarypool.com/idapluginwriting
-----------------------------------------------
What you need:
To create 32bit or 64bit Win32 modules: Borland C++ Builder >= 6.0
or free BCC v5.5
or Visual C++ >= 9.0
or GNU C++ compiler
To create 32bit or 64bit Linux modules: GNU C++ compiler
To create 32bit or 64bit Mac OS X modules: GNU C++ compiler
The Visual C++ users should refer to install_visual.txt for the explanations on
how to use the IDE or install_make.txt to compile from command line.
For installation under Linux or OS X, please refer to install_linux.txt
All others should refer to install_make.txt.
-----------------------------------------------
A quick tour on header files:
ida.hpp the 'main' header file of IDA project.
This file should be included in all source files.
In this file the 'inf' structure is
defined: it keeps all parameters of the disassembled
file.
kernwin.hpp various functions to interact with the user.
Also, some functions to process strings are kept in
this header.
ua.hpp This header file describes insn_t structure called
cmd: this structure keeps a disassembled instruction
in the internal form. Also, you will find here
helper functions to create output lines etc.
idp.hpp the 'main' header file of IDP modules.
2 structures are described here:
processor_t - description of processor
asm_t - description of assembler
Each IDP has one processor_t and several asm_t structures
area.hpp class 'area'. This class is a base class for
'segment_t' and 'srarea_t' (segment register) classes.
This class keeps information about various areas
of the disassembled file.
auto.hpp auto-analysis related functions
bytes.hpp Functions and definitions which describe each byte
of the disassembled program: is it an instruction,
data, operand types etc.
dbg.hpp Debugger API for debugger users
diskio.hpp file i/o functions
See file pro.h and fpro.h for additional system functions
entry.hpp List of entry points to the program being
disassembled.
enum.hpp Enumeration types in the disassembled program
expr.hpp IDC language functions.
fixup.hpp information about relocation table of the program.
fpro.h Alternative set of system-indenendent file i/o
functions. These functions do check errors but never
exit even if an error occurs. They return extended
error code in qerrno variable.
You must use these functions, not functions from
stdio.h
frame.hpp Local variables, stack pointer related stuff
funcs.hpp Functions in the disassembled program
help.h Help subsystem. This subsystem is not used in
IDP files. We put it just in case.
idd.hpp Debugger plugin API for debugger module writers
ieee.h IEEE floating point functions
intel.hpp header file from the ibm pc module.
for information only, it will not compile
because it contains references to internal files!
ints.hpp predefined comments
lines.hpp generation of source (assembler) lines and long
comment lines. variables controlling the exact time
and place to generate xrefs, indented comments etc.
shouldn't be used in simple IDP modules.
You must use these function instead of functions
from stdlib.h
nalt.hpp some predefined netnode array indexes used by the
kernel. these functions should not be used directly
since they are very low level.
name.hpp names: rename, unname bytes etc.
netnode.hpp the lowest level of access to the database. Modules
can use this level to keep some private inforation
in the database. Here is a short description of
the concept:
the database consists of 'netnodes'.
The netnodes are numbered by 32-bit integers
and may have:
- a name (max length is MAXNAMESIZE-1)
- a value (a string)
- sparse arrays of values:
Each sparse array has a 8-bit tag. Therefore,
we can have 256 sparse arrays in one netnode.
Only non-zero elements of the arrays are stored in
the database. Arrays are indexed by 32-bit or 8-bit
indexes. You can keep any type of information in
an array element. The size of an element is limited
by MAXSPECSIZE. For example, you could have an
array of addresses that have been patched by the user:
<address> : <old_value_of_byte>
The array is empty at the start and will
grow as the user patches the input file.
There are 2 predefined arrays:
- strings (supval)
- longs (altval)
The arrays don't need to be declared or created
specially. They implicitly exist at each node.
To save something into an array simply write
to the array element (altset or supset functions)
There are no limitations on the size or number of
netnode arrays.
offset.hpp functions that work with offsets.
pro.h compiler related stuff and some system-independent functions
queue.hpp queue of problems.
segment.hpp program segmentation
srarea.hpp segment registers. If your processor doesn't have
segment registers, you don't need this file.
struct.hpp Structure types in the disassembled program
typeinf.hpp Type information
va.hpp Virtual array. Used by other parts of IDA.
IDP module don't use it directly.
vm.hpp Virtual memory. Used by other parts of IDA.
IDP module don't use it directly.
xref.hpp
没有合适的资源?快使用搜索试试~ 我知道了~
IDA SDK 6.2
共849个文件
cpp:340个
hpp:146个
makefile:101个
4星 · 超过85%的资源 需积分: 10 27 下载量 111 浏览量
2013-08-01
01:22:37
上传
评论 2
收藏 9.23MB ZIP 举报
温馨提示
IDA作为一款强大的逆向工具,很多时候需要开发相应的插件,这个是开发IDA插件需要用到的工具包。
资源推荐
资源详情
资源评论
收起资源包目录
IDA SDK 6.2 (849个子文件)
ida.a 1.06MB
ida.a 1.06MB
pro.a 600KB
pro.a 482KB
pro.a 405KB
pro.a 386KB
test.asm 6KB
test.asm 1018B
compile.bat 668B
compile_vc.bat 166B
m32r.bpf 385B
m32r.bpr 3KB
chart.bpr 3KB
bxtest.c 2KB
float.c 1KB
linux_check.c 492B
jas_rw.cc 675B
78k0.cfg 2.68MB
pic14.cfg 1.25MB
78k0s.cfg 1.2MB
m32r.cfg 1.13MB
st7.cfg 888KB
avr.cfg 701KB
i51.cfg 435KB
f2mc16lx.cfg 377KB
m7700.cfg 298KB
m7900.cfg 287KB
f2mc16l.cfg 173KB
pic12.cfg 96KB
i960.cfg 20KB
pic16.cfg 15KB
hpux.cfg 14KB
tlcs900.cfg 11KB
c39.cfg 10KB
exceptions.cfg 10KB
fr.cfg 10KB
z180.cfg 9KB
tms320c3.cfg 8KB
dsp563xx.cfg 5KB
tms320c54.cfg 5KB
z8.cfg 4KB
cr16.cfg 4KB
m740.cfg 3KB
mn102l00.cfg 2KB
dsp561xx.cfg 2KB
h8.cfg 2KB
dsp56k.cfg 1KB
dsp566xx.cfg 1KB
pdb.cfg 990B
oakdsp.cfg 548B
tms320c55.cfg 517B
kr1878.cfg 320B
st20.cfg 99B
st9.cfg 64B
consts.cpp 374KB
ana.cpp 329KB
ana.cpp 117KB
common.cpp 112KB
ana.cpp 105KB
pdbreg.cpp 101KB
linux_debmod.cpp 82KB
ana.cpp 78KB
ana.cpp 74KB
win32_debmod.cpp 74KB
pdb.cpp 74KB
mac_debmod.cpp 73KB
ana.cpp 64KB
ana.cpp 62KB
ana.cpp 60KB
npool.cpp 56KB
ana.cpp 55KB
npooluti.cpp 55KB
ana.cpp 52KB
ana.cpp 48KB
ana.cpp 48KB
out.cpp 45KB
ana.cpp 42KB
ana.cpp 42KB
ana.cpp 41KB
ana.cpp 38KB
callgraph.cpp 38KB
metrotrk.cpp 38KB
ana.cpp 38KB
out.cpp 35KB
ana.cpp 35KB
wince_rstub.cpp 34KB
ana.cpp 33KB
ana.cpp 32KB
ana.cpp 32KB
emu.cpp 31KB
reg.cpp 30KB
debmod.cpp 29KB
ana.cpp 29KB
ana.cpp 29KB
reg.cpp 28KB
ana.cpp 28KB
ins.cpp 27KB
ana.cpp 26KB
dos_ovr.cpp 26KB
ana.cpp 25KB
共 849 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论
- flypuam2014-09-17可以使用,谢谢分享
- JIRAIYA2014-05-05这个是开发IDA插件需要用到的工具包,可以用。
zqzqzq0505
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功