This file contains IDA built-in function declarations and internal bit
definitions. Each byte of the program has 32-bit flags (low 8 bits keep
the byte value). These 32 bits are used in GetFlags/SetFlags functions.
You may freely examine these bits using GetFlags() but the use of the
SetFlags() function is strongly discouraged.
This file is subject to change without any notice. Future versions of
IDA may use other definitions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MK_FP(seg,
off)
Return value of expression: ((seg<<4) + off) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
atoa(ea)
Convert address value to a string Return address in the form
'seg000:1234' (the same as in line prefixes) |
|
|
|
|
|
|
|
|
|
|
rotate_left(value,
count,
nbits,
offset)
Rotate a value to the left (or right) |
|
|
|
|
|
|
|
|
|
|
|
|
|
AddHotkey(hotkey,
idcfunc)
Add hotkey for IDC function |
|
|
|
|
|
|
|
Jump(ea)
Move cursor to the specifed linear address |
|
|
|
|
Wait()
Process all entries in the autoanalysis queue Wait for the end of
autoanalysis |
|
|
|
|
CompileEx(input,
isfile)
Compile an IDC script |
|
|
|
|
Eval(expr)
Evaluate an IDC expression |
|
|
|
|
EVAL_FAILURE(code)
Check the result of Eval() for evaluation failures |
|
|
|
|
SaveBase(idbname,
flags=0)
Save current database to the specified idb file |
|
|
|
|
Exit(code)
Stop execution of IDC program, close the database and exit to OS |
|
|
|
|
Exec(command)
Execute an OS command. |
|
|
|
|
Sleep(milliseconds)
Sleep the specified number of milliseconds This function suspends IDA
for the specified amount of time |
|
|
|
|
|
|
|
ApplySig(name)
Load (plan to apply) a FLIRT signature file |
|
|
|
|
DeleteAll()
Delete all segments, instructions, comments, i.e. |
|
|
|
|
MakeCode(ea)
Create an instruction at the specified address |
|
|
|
|
AnalyzeArea(sEA,
eEA)
Perform full analysis of the area |
|
|
|
|
|
|
|
MakeComm(ea,
comment)
Set an indented regular comment of an item |
|
|
|
|
MakeRptCmt(ea,
comment)
Set an indented repeatable comment of an item |
|
|
|
|
|
|
|
MakeStr(ea,
endea)
Create a string. |
|
|
|
|
MakeData(ea,
flags,
size,
tid)
Create a data item at the specified address |
|
|
|
|
MakeByte(ea)
Convert the current item to a byte |
|
|
|
|
MakeWord(ea)
Convert the current item to a word (2 bytes) |
|
|
|
|
MakeDword(ea)
Convert the current item to a double word (4 bytes) |
|
|
|
|
MakeQword(ea)
Convert the current item to a quadro word (8 bytes) |
|
|
|
|
MakeOword(ea)
Convert the current item to a octa word (16 bytes) |
|
|
|
|
MakeFloat(ea)
Convert the current item to a floating point (4 bytes) |
|
|
|
|
MakeDouble(ea)
Convert the current item to a double floating point (8 bytes) |
|
|
|
|
MakePackReal(ea)
Convert the current item to a packed real (10 or 12 bytes) |
|
|
|
|
MakeTbyte(ea)
Convert the current item to a tbyte (10 or 12 bytes) |
|
|
|
|
MakeStructEx(ea,
size,
strname)
Convert the current item to a structure instance |
|
|
|
|
MakeAlign(ea,
count,
align)
Convert the current item to an alignment directive |
|
|
|
|
MakeLocal(start,
end,
location,
name)
Create a local variable |
|
|
|
|
MakeUnkn(ea,
flags)
Convert the current item to an explored item |
|
|
|
|
MakeUnknown(ea,
size,
flags)
Convert the current item to an explored item |
|
|
|
|
SetArrayFormat(ea,
flags,
litems,
align)
Set array representation format |
|
|
|
|
OpBinary(ea,
n)
Convert an operand of the item (instruction or data) to a binary
number |
|
|
|
|
OpOctal(ea,
n)
Convert an operand of the item (instruction or data) to an octal
number |
|
|
|
|
OpDecimal(ea,
n)
Convert an operand of the item (instruction or data) to a decimal
number |
|
|
|
|
OpHex(ea,
n)
Convert an operand of the item (instruction or data) to a hexadecimal
number |
|
|
|
|
|
|
|
OpOff(ea,
n,
base)
Convert operand to an offset (for the explanations of 'ea' and 'n'
please see OpBinary()) |
|
|
|
|
OpOffEx(ea,
n,
reftype,
target,
base,
tdelta)
Convert operand to a complex offset expression This is a more
powerful version of OpOff() function. |
|
|
|
|
OpSeg(ea,
n)
Convert operand to a segment expression |
|
|
|
|
OpNumber(ea,
n)
Convert operand to a number (with default number base, radix) |
|
|
|
|
OpFloat(ea,
n)
Convert operand to a floating-point number |
|
|
|
|
OpAlt(ea,
n,
opstr)
Specify operand represenation manually. |
|
|
|
|
OpSign(ea,
n)
Change sign of the operand |
|
|
|
|
OpNot(ea,
n)
Toggle the bitwise not operator for the operand |
|
|
|
|
OpEnumEx(ea,
n,
enumid,
serial)
Convert operand to a symbolic constant |
|
|
|
|
OpStroffEx(ea,
n,
strid,
delta)
Convert operand to an offset in a structure |
|
|
|
|
OpStkvar(ea,
n)
Convert operand to a stack variable |
|
|
|
|
OpHigh(ea,
n,
target)
Convert operand to a high offset High offset is the upper 16bits of
an offset. |
|
|
|
|
MakeVar(ea)
Mark the location as "variable" |
|
|
|
|
ExtLinA(ea,
n,
line)
Specify an additional line to display before the generated ones. |
|
|
|
|
ExtLinB(ea,
n,
line)
Specify an additional line to display after the generated ones. |
|
|
|
|
DelExtLnA(ea,
n)
Delete an additional anterior line |
|
|
|
|
DelExtLnB(ea,
n)
Delete an additional posterior line |
|
|
|
|
SetManualInsn(ea,
insn)
Specify instruction represenation manually. |
|
|
|
|
|
|
|
PatchDbgByte(ea,
value)
Change a byte in the debugged process memory only |
|
|
|
|
PatchByte(ea,
value)
Change value of a program byte If debugger was active then the
debugged process memory will be patched too |
|
|
|
|
PatchWord(ea,
value)
Change value of a program word (2 bytes) |
|
|
|
|
PatchDword(ea,
value)
Change value of a double word |
|
|
|
|
SetFlags(ea,
flags)
Set new value of flags This function should not used be used directly
if possible. |
|
|
|
|
SetRegEx(ea,
reg,
value,
tag)
Set value of a segment register. |
|
|
|
|
AutoMark2(start,
end,
queuetype)
Plan to perform an action in the future. |
|
|
|
|
AutoUnmark(start,
end,
queuetype)
Remove range of addresses from a queue. |
|
|
|
|
AutoMark(ea,
qtype)
Plan to analyze an address |
|
|
|
|
GenerateFile(filetype,
path,
ea1,
ea2,
flags)
Generate an output file |
|
|
|
|
GenFuncGdl(outfile,
title,
ea1,
ea2,
flags)
Generate a flow chart GDL file |
|
|
|
|
GenCallGdl(outfile,
title,
flags)
Generate a function call graph GDL file |
|
|
|
|
|
|
|
|
|
|
|
|
|
SetInputFilePath(path)
Set input file name This function updates the file name that is
stored in the database It is used by the debugger and other parts of
IDA Use it when the database is moved to another location or when you
use remote debugging. |
|
|
|
|
|
|
|
GetInputMD5()
Return the MD5 hash of the input binary file |
|
|
|
|
|
|
|
IdbByte(ea)
Get one byte (8-bit) of the program at 'ea' from the database even if
the debugger is active |
|
|
|
|
Byte(ea)
Get value of program byte |
|
|
|
|
DbgByte(ea)
Get value of program byte using the debugger memory |
|
|
|
|
DbgWord(ea)
Get value of program word using the debugger memory |
|
|
|
|
DbgDword(ea)
Get value of program double-word using the debugger memory |
|
|
|
|
DbgQword(ea)
Get value of program quadro-word using the debugger memory |
|
|
|
|
|
|
|
Word(ea)
Get value of program word (2 bytes) |
|
|
|
|
Dword(ea)
Get value of program double word (4 bytes) |
|
|
|
|
Qword(ea)
Get value of program quadro word (8 bytes) |
|
|
|
|
GetFloat(ea)
Get value of a floating point number (4 bytes) |
|
|
|
|
GetDouble(ea)
Get value of a floating point number (8 bytes) |
|
|
|
|
|
|
|
LocByNameEx(fromaddr,
name)
Get linear address of a name |
|
|
|
|
|
|
|
ScreenEA()
Get linear address of cursor |
|
|
|
|
|
|
|
SelStart()
Get start address of the selected area returns BADADDR - the user has
not selected an area |
|
|
|
|
SelEnd()
Get end address of the selected area |
|
|
|
|
GetReg(ea,
reg)
Get value of segment register at the specified address |
|
|
|
|
NextAddr(ea)
Get next address in the program |
|
|
|
|
PrevAddr(ea)
Get previous address in the program |
|
|
|
|
NextHead(ea,
maxea)
Get next defined item (instruction or data) in the program |
|
|
|
|
PrevHead(ea,
minea)
Get previous defined item (instruction or data) in the program |
|
|
|
|
NextNotTail(ea)
Get next not-tail address in the program This function searches for
the next displayable address in the program. |
|
|
|
|
PrevNotTail(ea)
Get previous not-tail address in the program This function searches
for the previous displayable address in the program. |
|
|
|
|
ItemEnd(ea)
Get address of the end of the item (instruction or data) |
|
|
|
|
ItemSize(ea)
Get size of instruction or data item in bytes |
|
|
|
|
NameEx(fromaddr,
ea)
Get visible name of program byte |
|
|
|
|
|
|
|
Demangle(name,
disable_mask)
Demangle a name |
|
|
|
|
|
|
|
GetMnem(ea)
Get instruction mnemonics |
|
|
|
|
GetOpnd(ea,
n)
Get operand of an instruction |
|
|
|
|
GetOpType(ea,
n)
Get type of instruction operand |
|
|
|
|
|
|
|
LineA(ea,
num)
Get anterior line |
|
|
|
|
LineB(ea,
num)
Get posterior line |
|
|
|
|
|
|
|
| CommentEx(ea,
repeatable) |
|
|
|
|
AltOp(ea,
n)
Get manually entered operand string |
|
|
|
|
GetString(ea,
length=-1,
strtype=ASCSTR_C)
Get string contents |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| FindImmediate(ea,
flag,
value) |
|
|
|
|
FindText(ea,
flag,
y,
x,
searchstr)
Returns:
ea of result or BADADDR if not found |
|
|
|
|
FindBinary(ea,
flag,
searchstr,
radix=16)
Returns:
ea of result or BADADDR if not found |
|
|
|
|
ChangeConfig(directive)
Parse one or more ida.cfg config directives |
|
|
|
|
|
|
|
|
|
|
|
|
|
| SetLongPrm(offset,
value) |
|
|
|
|
| SetShortPrm(offset,
value) |
|
|
|
|
| SetCharPrm(offset,
value) |
|
|
|
|
|
|
|
|
|
|
Batch(batch)
Enable/disable batch mode of operation |
|
|
|
|
AskStr(defval,
prompt)
Ask the user to enter a string |
|
|
|
|
AskFile(forsave,
mask,
prompt)
Ask the user to choose a file |
|
|
|
|
AskAddr(defval,
prompt)
Ask the user to enter an address |
|
|
|
|
AskLong(defval,
prompt)
Ask the user to enter a number |
|
|
|
|
AskSeg(defval,
prompt)
Ask the user to enter a segment value |
|
|
|
|
AskIdent(defval,
prompt)
Ask the user to enter an identifier |
|
|
|
|
AskYN(defval,
prompt)
Ask the user a question and let him answer Yes/No/Cancel |
|
|
|
|
Message(msg)
Display a message in the message window |
|
|
|
|
Warning(msg)
Display a message in a message box |
|
|
|
|
Fatal(format)
Display a fatal message in a message box and quit IDA |
|
|
|
|
|
|
|
Refresh()
Refresh all disassembly views |
|
|
|
|
RefreshLists()
Refresh all list views (names, functions, etc) |
|
|
|
|
|
|
|
FindSelector(val)
Find a selector which has the specifed value |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SegStart(ea)
Get start address of a segment |
|
|
|
|
SegEnd(ea)
Get end address of a segment |
|
|
|
|
|
|
|
AddSeg(startea,
endea,
base,
use32,
align,
comb)
Create a new segment |
|
|
|
|
DelSeg(ea,
flags)
Delete a segment |
|
|
|
|
SetSegBounds(ea,
startea,
endea,
flags)
Change segment boundaries |
|
|
|
|
RenameSeg(ea,
name)
Change name of the segment |
|
|
|
|
|
|
|
SegAlign(ea,
alignment)
Change alignment of the segment |
|
|
|
|
SegComb(segea,
comb)
Change combination of the segment |
|
|
|
|
|
|
|
|
|
|
SetSegDefReg(ea,
reg,
value)
Set default segment register value for a segment |
|
|
|
|
|
|
|
|
|
|
|
|
|
MoveSegm(ea,
to,
flags)
Move a segment to a new address This function moves all information
to the new address It fixes up address sensitive information in the
kernel The total effect is equal to reloading the segment to the
target address |
|
|
|
|
rebase_program(delta,
flags)
Rebase the whole program by 'delta' bytes |
|
|
|
|
|
|
|
| AddCodeXref(From,
To,
flowtype) |
|
|
|
|
DelCodeXref(From,
To,
undef)
Unmark exec flow 'from' 'to' |
|
|
|
|
Rfirst(From)
Get first code xref from 'From' |
|
|
|
|
Rnext(From,
current)
Get next code xref from |
|
|
|
|
RfirstB(To)
Get first code xref to 'To' |
|
|
|
|
RnextB(To,
current)
Get next code xref to 'To' |
|
|
|
|
Rfirst0(From)
Get first xref from 'From' |
|
|
|
|
Rnext0(From,
current)
Get next xref from |
|
|
|
|
RfirstB0(To)
Get first xref to 'To' |
|
|
|
|
RnextB0(To,
current)
Get next xref to 'To' |
|
|
|
|
add_dref(From,
To,
drefType)
Create Data Ref |
|
|
|
|
del_dref(From,
To)
Unmark Data Ref |
|
|
|
|
Dfirst(From)
Get first data xref from 'From' |
|
|
|
|
Dnext(From,
current)
Get next data xref from 'From' |
|
|
|
|
DfirstB(To)
Get first data xref to 'To' |
|
|
|
|
DnextB(To,
current)
Get next data xref to 'To' |
|
|
|
|
XrefType()
Return type of the last xref obtained by [RD]first/next[B0]
functions. |
|
|
|
|
|
|
|
|
|
|
|
|
|
| fseek(handle,
offset,
origin) |
|
|
|
|
|
|
|
LoadFile(filepath,
pos,
ea,
size)
Load file into IDA database |
|
|
|
|
| loadfile(filepath,
pos,
ea,
size) |
|
|
|
|
SaveFile(filepath,
pos,
ea,
size)
Save from IDA database to file |
|
|
|
|
| savefile(filepath,
pos,
ea,
size) |
|
|
|
|
|
|
|
|
|
|
| fprintf(handle,
format,
*args) |
|
|
|
|
| readshort(handle,
mostfirst) |
|
|
|
|
| readlong(handle,
mostfirst) |
|
|
|
|
| writeshort(handle,
word,
mostfirst) |
|
|
|
|
| writelong(handle,
dword,
mostfirst) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GetFrame(ea)
Get ID of function frame structure |
|
|
|
|
|
|
|
|
|
|
GetFrameArgsSize(ea)
Get size of arguments in function frame which are purged upon return |
|
|
|
|
|
|
|
MakeFrame(ea,
lvsize,
frregs,
argsize)
Make function frame |
|
|
|
|
GetSpd(ea)
Get current delta for the stack pointer |
|
|
|
|
GetSpDiff(ea)
Get modification of SP made by the instruction |
|
|
|
|
SetSpDiff(ea,
delta)
Setup modification of SP made by the instruction |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SetFixup(ea,
fixuptype,
targetsel,
targetoff,
displ)
Set fixup information |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GetStrucId(index)
Get structure ID by structure index |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GetMemberOffset(sid,
member_name)
Get offset of a member of a structure by the member name |
|
|
|
|
GetMemberName(sid,
member_offset)
Get name of a member of a structure |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IsUnion(sid)
Is a structure a union? |
|
|
|
|
AddStrucEx(index,
name,
is_union)
Define a new structure type |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AddStrucMember(sid,
name,
offset,
flag,
typeid,
nbytes,
target=-1,
tdelta=0,
reftype=REF_OFF32)
Add structure member |
|
|
|
|
|
|
|
SetMemberName(sid,
member_offset,
name)
Change structure member name |
|
|
|
|
SetMemberType(sid,
member_offset,
flag,
typeid,
nitems,
target=-1,
tdelta=0,
reftype=REF_OFF32)
Change structure member type |
|
|
|
|
SetMemberComment(sid,
member_offset,
comment,
repeatable)
Change structure member comment |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AppendFchunk(funcea,
ea1,
ea2)
Append a function chunk to the function |
|
|
|
|
RemoveFchunk(funcea,
tailea)
Remove a function chunk from the function |
|
|
|
|
|
|
|
FirstFuncFchunk(funcea)
Get the first function chunk of the specified function |
|
|
|
|
NextFuncFchunk(funcea,
tailea)
Get the next function chunk of the specified function |
|
|
|
|
|
|
|
GetnEnum(idx)
Get ID of the specified enum by its serial number |
|
|
|
|
GetEnumIdx(enum_id)
Get serial number of enum by its ID |
|
|
|
|
GetEnum(name)
Get enum ID by the name of enum |
|
|
|
|
|
|
|
GetEnumCmt(enum_id,
repeatable)
Get comment of enum |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GetConstEx(enum_id,
value,
serial,
bmask)
Get id of constant |
|
|
|
|
|
|
|
GetLastBmask(enum_id)
Get last bitmask in the enum (bitfield) |
|
|
|
|
GetNextBmask(enum_id,
value)
Get next bitmask in the enum (bitfield) |
|
|
|
|
GetPrevBmask(enum_id,
value)
Get prev bitmask in the enum (bitfield) |
|
|
|
|
GetBmaskName(enum_id,
bmask)
Get bitmask name (only for bitfields) |
|
|
|
|
GetBmaskCmt(enum_id,
bmask,
repeatable)
Get bitmask comment (only for bitfields) |
|
|
|
|
SetBmaskName(enum_id,
bmask,
name)
Set bitmask name (only for bitfields) |
|
|
|
|
SetBmaskCmt(enum_id,
bmask,
cmt,
repeatable)
Set bitmask comment (only for bitfields) |
|
|
|
|
|
|
|
|
|
|
GetNextConst(enum_id,
value,
bmask)
Get next constant in the enum |
|
|
|
|
GetPrevConst(enum_id,
value,
bmask)
Get prev constant in the enum |
|
|
|
|
|
|
|
GetConstCmt(const_id,
repeatable)
Get comment of a constant |
|
|
|
|
AddEnum(idx,
name,
flag)
Add a new enum type |
|
|
|
|
|
|
|
SetEnumIdx(enum_id,
idx)
Give another serial number to a enum |
|
|
|
|
|
|
|
SetEnumCmt(enum_id,
cmt,
repeatable)
Set comment of enum |
|
|
|
|
|
|
|
SetEnumBf(enum_id,
flag)
Set bitfield property of enum |
|
|
|
|
|
|
|
|
|
|
AddConstEx(enum_id,
name,
value,
bmask)
Add a member of enum - a symbolic constant |
|
|
|
|
DelConstEx(enum_id,
value,
serial,
bmask)
Delete a member of enum - a symbolic constant |
|
|
|
|
SetConstName(const_id,
name)
Rename a member of enum - a symbolic constant |
|
|
|
|
SetConstCmt(const_id,
cmt,
repeatable)
Set a comment of a symbolic constant |
|
|
|
|
|
|
|
|
|
|
| RenameArray(hashid,
newname) |
|
|
|
|
|
|
|
| SetArrayLong(hashid,
idx,
value) |
|
|
|
|
| SetArrayString(hashid,
idx,
s) |
|
|
|
|
| GetArrayElement(tag,
hashid,
idx) |
|
|
|
|
| DelArrayElement(tag,
hashid,
idx) |
|
|
|
|
| GetFirstIndex(tag,
hashid) |
|
|
|
|
| GetLastIndex(tag,
hashid) |
|
|
|
|
| GetNextIndex(tag,
hashid,
idx) |
|
|
|
|
| GetPrevIndex(tag,
hashid,
idx) |
|
|
|
|
| SetHashLong(hashid,
idx,
value) |
|
|
|
|
| SetHashString(hashid,
idx,
value) |
|
|
|
|
|
|
|
| GetHashString(hashid,
idx) |
|
|
|
|
| DelHashElement(hashid,
idx) |
|
|
|
|
|
|
|
| GetNextHashKey(hashid,
idx) |
|
|
|
|
|
|
|
| GetPrevHashKey(hashid,
idx) |
|
|
|
|
AddSourceFile(ea1,
ea2,
filename)
Mark a range of address as belonging to a source file An address
range may belong only to one source file. |
|
|
|
|
GetSourceFile(ea)
Get name of source file occupying the given address |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Til2Idb(idx,
type_name)
Copy information from type library to database Copy structure, union,
or enum definition from the type library to the IDA database. |
|
|
|
|
GetType(ea)
Get type of function/variable |
|
|
|
|
SizeOf(typestr)
Returns the size of the type. |
|
|
|
|
GuessType(ea)
Guess type of function/variable |
|
|
|
|
SetType(ea,
newtype)
Set type of function/variable |
|
|
|
|
ParseType(inputtype,
flags)
Parse type declaration |
|
|
|
|
ParseTypes(inputtype,
flags)
Parse type declarations |
|
|
|
|
|
|
|
SetLocalType(ordinal,
input,
flags)
Parse one type declaration and store it in the specified slot |
|
|
|
|
GetLocalType(ordinal,
flags)
Retrieve a local type declaration |
|
|
|
|
|
|
|
HideArea(start,
end,
description,
header,
footer,
color)
Hide an area |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
StopDebugger()
Stop the debugger Kills the currently debugger process and returns to
the disassembly mode |
|
|
|
|
PauseProcess()
Suspend the running process Tries to suspend the process. |
|
|
|
|
GetProcessQty()
Take a snapshot of running processes and return their number. |
|
|
|
|
|
|
|
|
|
|
AttachProcess(pid,
event_id)
Attach the debugger to a running process |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SelectThread(tid)
Select the given thread as the current debugged thread. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
StepInto()
Execute one instruction in the current thread. |
|
|
|
|
StepOver()
Execute one instruction in the current thread, but without entering
into functions Others threads keep suspended. |
|
|
|
|
RunTo(ea)
Execute the process until the given address is reached. |
|
|
|
|
StepUntilRet()
Execute instructions in the current thread until a function return
instruction is reached. |
|
|
|
|
GetDebuggerEvent(wfne,
timeout)
Wait for the next event This function (optionally) resumes the
process execution and wait for a debugger event until timeout |
|
|
|
|
|
|
|
SendDbgCommand(cmd)
Sends a command to the debugger module and returns the output string. |
|
|
|
|
RefreshDebuggerMemory()
Refresh debugger memory Upon this call IDA will forget all cached
information about the debugged process. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GetExceptionQty()
Get number of defined exception codes |
|
|
|
|
|
|
|
|
|
|
|
|
|
DefineException(code,
name,
desc,
flags)
Add exception handling information |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GetBptAttr(ea,
bptattr)
Get the characteristics of a breakpoint |
|
|
|
|
SetBptAttr(address,
bptattr,
value)
modifiable characteristics of a breakpoint |
|
|
|
|
|
|
|
AddBptEx(ea,
size,
bpttype)
Add a new breakpoint |
|
|
|
|
|
|
|
|
|
|
EnableBpt(ea,
enable)
Enable/disable breakpoint |
|
|
|
|
|
|
|
|
|
|
|
|
|
SetColor(ea,
what,
color)
Set item color |
|
|
|
|
SetXML(path,
name,
value)
Set or update one or more XML values. |
|
|
|
|
GetXML(path)
Get one XML value. |
|
|
|
|
ArmForceBLJump(ea)
Some ARM compilers in Thumb mode use BL (branch-and-link) instead of
B (branch) for long jumps, since BL has more range. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| WriteTxt(filepath,
ea1,
ea2) |
|
|
|
|
|
|
|
| AddConst(enum_id,
name,
value) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| DelConst(constid,
v,
mask) |
|
|
|
|
| GetConst(constid,
v,
mask) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| SegCreate(a1,
a2,
base,
use32,
align,
comb) |
|
|
|
|
|
|
|
| SegBounds(ea,
startea,
endea,
flags) |
|
|
|
|
|
|
|
|
|
|
|
|
|
| SegDefReg(ea,
reg,
value) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
__EA64__ = idaapi.BADADDR== 0xFFFFFFFFFFFFFFFFL
|
|
|
WORDMASK = __EA64__ and 0xFFFFFFFFFFFFFFFF or 0xFFFFFFFF
|
|
|
BADADDR = _idaapi.BADADDR
|
|
|
BADSEL = _idaapi.BADSEL
|
|
|
MAXADDR = idaapi.MAXADDR & WORDMASK
|
|
|
MS_VAL = _idaapi.MS_VAL
|
|
|
FF_IVL = _idaapi.FF_IVL
|
|
|
MS_CLS = _idaapi.MS_CLS
|
|
|
FF_CODE = _idaapi.FF_CODE
|
|
|
FF_DATA = _idaapi.FF_DATA
|
|
|
FF_TAIL = _idaapi.FF_TAIL
|
|
|
FF_UNK = _idaapi.FF_UNK
|
|
|
MS_COMM = _idaapi.MS_COMM
|
|
|
FF_COMM = _idaapi.FF_COMM
|
|
|
FF_REF = _idaapi.FF_REF
|
|
|
FF_LINE = _idaapi.FF_LINE
|
|
|
FF_NAME = _idaapi.FF_NAME
|
|
|
FF_LABL = _idaapi.FF_LABL
|
|
|
FF_FLOW = _idaapi.FF_FLOW
|
|
|
FF_VAR = _idaapi.FF_VAR
|
|
|
FF_ANYNAME = FF_LABL | FF_NAME
|
|
|
MS_0TYPE = _idaapi.MS_0TYPE
|
|
|
FF_0VOID = _idaapi.FF_0VOID
|
|
|
FF_0NUMH = _idaapi.FF_0NUMH
|
|
|
FF_0NUMD = _idaapi.FF_0NUMD
|
|
|
FF_0CHAR = _idaapi.FF_0CHAR
|
|
|
FF_0SEG = _idaapi.FF_0SEG
|
|
|
FF_0OFF = _idaapi.FF_0OFF
|
|
|
FF_0NUMB = _idaapi.FF_0NUMB
|
|
|
FF_0NUMO = _idaapi.FF_0NUMO
|
|
|
FF_0ENUM = _idaapi.FF_0ENUM
|
|
|
FF_0FOP = _idaapi.FF_0FOP
|
|
|
FF_0STRO = _idaapi.FF_0STRO
|
|
|
FF_0STK = _idaapi.FF_0STK
|
|
|
MS_1TYPE = _idaapi.MS_1TYPE
|
|
|
FF_1VOID = _idaapi.FF_1VOID
|
|
|
FF_1NUMH = _idaapi.FF_1NUMH
|
|
|
FF_1NUMD = _idaapi.FF_1NUMD
|
|
|
FF_1CHAR = _idaapi.FF_1CHAR
|
|
|
FF_1SEG = _idaapi.FF_1SEG
|
|
|
FF_1OFF = _idaapi.FF_1OFF
|
|
|
FF_1NUMB = _idaapi.FF_1NUMB
|
|
|
FF_1NUMO = _idaapi.FF_1NUMO
|
|
|
FF_1ENUM = _idaapi.FF_1ENUM
|
|
|
FF_1FOP = _idaapi.FF_1FOP
|
|
|
FF_1STRO = _idaapi.FF_1STRO
|
|
|
FF_1STK = _idaapi.FF_1STK
|
|
|
DT_TYPE = idaapi.DT_TYPE & 0xFFFFFFFF
|
|
|
FF_BYTE = idaapi.FF_BYTE & 0xFFFFFFFF
|
|
|
FF_WORD = idaapi.FF_WORD & 0xFFFFFFFF
|
|
|
FF_DWRD = idaapi.FF_DWRD & 0xFFFFFFFF
|
|
|
FF_QWRD = idaapi.FF_QWRD & 0xFFFFFFFF
|
|
|
FF_TBYT = idaapi.FF_TBYT & 0xFFFFFFFF
|
|
|
FF_ASCI = idaapi.FF_ASCI & 0xFFFFFFFF
|
|
|
FF_STRU = idaapi.FF_STRU & 0xFFFFFFFF
|
|
|
FF_OWRD = idaapi.FF_OWRD & 0xFFFFFFFF
|
|
|
FF_FLOAT = idaapi.FF_FLOAT & 0xFFFFFFFF
|
|
|
FF_DOUBLE = idaapi.FF_DOUBLE & 0xFFFFFFFF
|
|
|
FF_PACKREAL = idaapi.FF_PACKREAL & 0xFFFFFFFF
|
|
|
FF_ALIGN = idaapi.FF_ALIGN & 0xFFFFFFFF
|
|
|
MS_CODE = idaapi.MS_CODE & 0xFFFFFFFF
|
|
|
FF_FUNC = idaapi.FF_FUNC & 0xFFFFFFFF
|
|
|
FF_IMMD = idaapi.FF_IMMD & 0xFFFFFFFF
|
|
|
FF_JUMP = idaapi.FF_JUMP & 0xFFFFFFFF
|
|
|
NEF_SEGS = _idaapi.NEF_SEGS
|
|
|
NEF_RSCS = _idaapi.NEF_RSCS
|
|
|
NEF_NAME = _idaapi.NEF_NAME
|
|
|
NEF_MAN = _idaapi.NEF_MAN
|
|
|
NEF_FILL = _idaapi.NEF_FILL
|
|
|
NEF_IMPS = _idaapi.NEF_IMPS
|
|
|
NEF_FIRST = _idaapi.NEF_FIRST
|
|
|
NEF_CODE = _idaapi.NEF_CODE
|
|
|
NEF_RELOAD = _idaapi.NEF_RELOAD
|
|
|
NEF_FLAT = _idaapi.NEF_FLAT
|
|
|
IDCHK_OK = 0
|
|
|
IDCHK_ARG = -1
|
|
|
IDCHK_KEY = -2
|
|
|
IDCHK_MAX = -3
|
|
|
DBFL_BAK = 0x04
|
|
|
SN_CHECK = _idaapi.SN_CHECK
|
|
|
SN_NOCHECK = _idaapi.SN_NOCHECK
|
|
|
SN_PUBLIC = _idaapi.SN_PUBLIC
|
|
|
SN_NON_PUBLIC = _idaapi.SN_NON_PUBLIC
|
|
|
SN_WEAK = _idaapi.SN_WEAK
|
|
|
SN_NON_WEAK = _idaapi.SN_NON_WEAK
|
|
|
SN_AUTO = _idaapi.SN_AUTO
|
|
|
SN_NON_AUTO = _idaapi.SN_NON_AUTO
|
|
|
SN_NOLIST = _idaapi.SN_NOLIST
|
|
|
SN_NOWARN = _idaapi.SN_NOWARN
|
|
|
SN_LOCAL = _idaapi.SN_LOCAL
|
|
|
DOUNK_SIMPLE = _idaapi.DOUNK_SIMPLE
|
|
|
DOUNK_EXPAND = _idaapi.DOUNK_EXPAND
|
|
|
DOUNK_DELNAMES = _idaapi.DOUNK_DELNAMES
|
|
|
AP_ALLOWDUPS = 0x00000001L
|
|
|
AP_SIGNED = 0x00000002L
|
|
|
AP_INDEX = 0x00000004L
|
|
|
AP_ARRAY = 0x00000008L
|
|
|
AP_IDXBASEMASK = 0x000000F0L
|
|
|
AP_IDXDEC = 0x00000000L
|
|
|
AP_IDXHEX = 0x00000010L
|
|
|
AP_IDXOCT = 0x00000020L
|
|
|
AP_IDXBIN = 0x00000030L
|
|
|
OPND_OUTER = _idaapi.OPND_OUTER
|
|
|
REF_OFF8 = cvar.REF_OFF8
|
|
|
REF_OFF16 = cvar.REF_OFF16
|
|
|
REF_OFF32 = cvar.REF_OFF32
|
|
|
REF_LOW8 = cvar.REF_LOW8
|
|
|
REF_LOW16 = cvar.REF_LOW16
|
|
|
REF_HIGH8 = cvar.REF_HIGH8
|
|
|
REF_HIGH16 = cvar.REF_HIGH16
|
|
|
REF_VHIGH = cvar.REF_VHIGH
|
|
|
REF_VLOW = cvar.REF_VLOW
|
|
|
REF_OFF64 = cvar.REF_OFF64
|
|
|
REFINFO_RVA = 0x10
|
|
|
REFINFO_PASTEND = 0x20
|
|
|
REFINFO_NOBASE = 0x80
|
|
|
SR_inherit = 1
|
|
|
SR_user = 2
|
|
|
SR_auto = 3
|
|
|
SR_autostart = 4
|
|
|
AU_UNK = cvar.AU_UNK
|
|
|
AU_CODE = cvar.AU_CODE
|
|
|
AU_PROC = cvar.AU_PROC
|
|
|
AU_USED = cvar.AU_USED
|
|
|
AU_LIBF = cvar.AU_LIBF
|
|
|
AU_FINAL = cvar.AU_FINAL
|
|
|
OFILE_MAP = cvar.OFILE_MAP
|
|
|
OFILE_EXE = cvar.OFILE_EXE
|
|
|
OFILE_IDC = cvar.OFILE_IDC
|
|
|
OFILE_LST = cvar.OFILE_LST
|
|
|
OFILE_ASM = cvar.OFILE_ASM
|
|
|
OFILE_DIF = cvar.OFILE_DIF
|
|
|
GENFLG_MAPSEG = _idaapi.GENFLG_MAPSEG
|
|
|
GENFLG_MAPNAME = _idaapi.GENFLG_MAPNAME
|
|
|
GENFLG_MAPDMNG = _idaapi.GENFLG_MAPDMNG
|
|
|
GENFLG_MAPLOC = _idaapi.GENFLG_MAPLOC
|
|
|
GENFLG_IDCTYPE = _idaapi.GENFLG_IDCTYPE
|
|
|
GENFLG_ASMTYPE = _idaapi.GENFLG_ASMTYPE
|
|
|
GENFLG_GENHTML = _idaapi.GENFLG_GENHTML
|
|
|
GENFLG_ASMINC = _idaapi.GENFLG_ASMINC
|
|
|
CHART_PRINT_NAMES = 0x1000
|
|
|
CHART_GEN_GDL = 0x4000
|
|
|
CHART_WINGRAPH = 0x8000
|
|
|
CHART_NOLIBFUNCS = 0x0400
|
|
|
o_void = 0
|
|
|
o_reg = 1
|
|
|
o_mem = 2
|
|
|
o_phrase = 3
|
|
|
o_displ = 4
|
|
|
o_imm = 5
|
|
|
o_far = 6
|
|
|
o_near = 7
|
|
|
o_idpspec0 = 8
|
|
|
o_idpspec1 = 9
|
|
|
o_idpspec2 = 10
|
|
|
o_idpspec3 = 11
|
|
|
o_idpspec4 = 12
|
|
|
o_idpspec5 = 13
|
|
|
o_last = 14
|
|
|
o_trreg = 8
|
|
|
o_dbreg = 9
|
|
|
o_crreg = 10
|
|
|
o_mmxreg = 12
|
|
|
o_xmmreg = 13
|
|
|
o_reglist = 9
|
|
|
o_creglist = 10
|
|
|
o_creg = 11
|
|
|
o_fpreg = 12
|
|
|
o_fpreglist = 13
|
|
|
o_text = idaapi.o_idpspec5+ 1
|
|
|
o_spr = 8
|
|
|
o_twofpr = 9
|
|
|
o_shmbme = 10
|
|
|
o_crf = 11
|
|
|
o_crb = 12
|
|
|
o_dcr = 13
|
|
|
ASCSTR_LAST = _idaapi.ASCSTR_LAST
|
|
|
SEARCH_UP = _idaapi.SEARCH_UP
|
|
|
SEARCH_DOWN = _idaapi.SEARCH_DOWN
|
|
|
SEARCH_NEXT = _idaapi.SEARCH_NEXT
|
|
|
SEARCH_CASE = _idaapi.SEARCH_CASE
|
|
|
SEARCH_REGEX = _idaapi.SEARCH_REGEX
|
|
|
SEARCH_NOBRK = _idaapi.SEARCH_NOBRK
|
|
|
SEARCH_NOSHOW = _idaapi.SEARCH_NOSHOW
|
|
|
INF_VERSION = 3
|
|
|
INF_PROCNAME = 5
|
|
|
INF_LFLAGS = 13
|
|
|
LFLG_PC_FPP = 0x01
|
|
|
LFLG_PC_FLAT = 0x02
|
|
|
LFLG_64BIT = 0x04
|
|
|
LFLG_DBG_NOPATH = 0x08
|
|
|
LFLG_SNAPSHOT = 0x10
|
|
|
INF_DEMNAMES = 14
|
|
|
DEMNAM_CMNT = 0
|
|
|
DEMNAM_NAME = 1
|
|
|
DEMNAM_NONE = 2
|
|
|
INF_FILETYPE = 15
|
|
|
FT_EXE_OLD = 0
|
|
|
FT_COM_OLD = 1
|
|
|
FT_BIN = 2
|
|
|
FT_DRV = 3
|
|
|
FT_WIN = 4
|
|
|
FT_HEX = 5
|
|
|
FT_MEX = 6
|
|
|
FT_LX = 7
|
|
|
FT_LE = 8
|
|
|
FT_NLM = 9
|
|
|
FT_COFF = 10
|
|
|
FT_PE = 11
|
|
|
FT_OMF = 12
|
|
|
FT_SREC = 13
|
|
|
FT_ZIP = 14
|
|
|
FT_OMFLIB = 15
|
|
|
FT_AR = 16
|
|
|
FT_LOADER = 17
|
|
|
FT_ELF = 18
|
|
|
FT_W32RUN = 19
|
|
|
FT_AOUT = 20
|
|
|
FT_PRC = 21
|
|
|
FT_EXE = 22
|
|
|
FT_COM = 23
|
|
|
FT_AIXAR = 24
|
|
|
INF_FCORESIZ = 17
|
|
|
OSTYPE_MSDOS = 0x0001
|
|
|
OSTYPE_WIN = 0x0002
|
|
|
OSTYPE_OS2 = 0x0004
|
|
|
OSTYPE_NETW = 0x0008
|
|
|
APPT_CONSOLE = 0x0001
|
|
|
APPT_GRAPHIC = 0x0002
|
|
|
APPT_PROGRAM = 0x0004
|
|
|
APPT_LIBRARY = 0x0008
|
|
|
APPT_DRIVER = 0x0010
|
|
|
APPT_1THREAD = 0x0020
|
|
|
APPT_MTHREAD = 0x0040
|
|
|
APPT_16BIT = 0x0080
|
|
|
APPT_32BIT = 0x0100
|
|
|
INF_START_AF = 33
|
|
|
AF_FIXUP = 0x0001
|
|
|
AF_MARKCODE = 0x0002
|
|
|
AF_UNK = 0x0004
|
|
|
AF_CODE = 0x0008
|
|
|
AF_PROC = 0x0010
|
|
|
AF_USED = 0x0020
|
|
|
AF_FLIRT = 0x0040
|
|
|
AF_PROCPTR = 0x0080
|
|
|
AF_JFUNC = 0x0100
|
|
|
AF_NULLSUB = 0x0200
|
|
|
AF_LVAR = 0x0400
|
|
|
AF_TRACE = 0x0800
|
|
|
AF_ASCII = 0x1000
|
|
|
AF_IMMOFF = 0x2000
|
|
|
AF_DREFOFF = 0x4000
|
|
|
AF_FINAL = 0x8000
|
|
|
INFFL_LZERO = 0x01
|
|
|
INFFL_LOADIDC = 0x04
|
|
|
SW_SEGXRF = 0x01
|
|
|
SW_XRFMRK = 0x02
|
|
|
SW_XRFFNC = 0x04
|
|
|
SW_XRFVAL = 0x08
|
|
|
SW_RPTCMT = 0x01
|
|
|
SW_ALLCMT = 0x02
|
|
|
SW_NOCMT = 0x04
|
|
|
SW_LINNUM = 0x08
|
|
|
SW_MICRO = 0x10
|
|
|
NM_REL_OFF = 0
|
|
|
NM_PTR_OFF = 1
|
|
|
NM_NAM_OFF = 2
|
|
|
NM_REL_EA = 3
|
|
|
NM_PTR_EA = 4
|
|
|
NM_NAM_EA = 5
|
|
|
NM_EA = 6
|
|
|
NM_EA4 = 7
|
|
|
NM_EA8 = 8
|
|
|
NM_SHORT = 9
|
|
|
NM_SERIAL = 10
|
|
|
PREF_SEGADR = 0x01
|
|
|
PREF_FNCOFF = 0x02
|
|
|
PREF_STACK = 0x04
|
|
|
ASCF_GEN = 0x01
|
|
|
ASCF_AUTO = 0x02
|
|
|
ASCF_SERIAL = 0x04
|
|
|
ASCF_COMMENT = 0x10
|
|
|
ASCF_SAVECASE = 0x20
|
|
|
LN_NORMAL = 0x01
|
|
|
LN_PUBLIC = 0x02
|
|
|
LN_AUTO = 0x04
|
|
|
LN_WEAK = 0x08
|
|
|
ASCSTR_TERMCHR = 0
|
|
|
ASCSTR_C = 0
|
|
|
ASCSTR_PASCAL = 1
|
|
|
ASCSTR_LEN2 = 2
|
|
|
ASCSTR_UNICODE = 3
|
|
|
ASCSTR_LEN4 = 4
|
|
|
ASCSTR_ULEN2 = 5
|
|
|
ASCSTR_ULEN4 = 6
|
|
|
AF2_JUMPTBL = 0x0001
|
|
|
AF2_DODATA = 0x0002
|
|
|
AF2_HFLIRT = 0x0004
|
|
|
AF2_STKARG = 0x0008
|
|
|
AF2_REGARG = 0x0010
|
|
|
AF2_CHKUNI = 0x0020
|
|
|
AF2_SIGCMT = 0x0040
|
|
|
AF2_SIGMLT = 0x0080
|
|
|
AF2_FTAIL = 0x0100
|
|
|
AF2_DATOFF = 0x0200
|
|
|
AF2_ANORET = 0x0400
|
|
|
AF2_VERSP = 0x0800
|
|
|
AF2_DOCODE = 0x1000
|
|
|
AF2_TRFUNC = 0x2000
|
|
|
AF2_PURDAT = 0x4000
|
|
|
COMP_MASK = 0x0F
|
|
|
COMP_UNK = 0x00
|
|
|
COMP_MS = 0x01
|
|
|
COMP_BC = 0x02
|
|
|
COMP_WATCOM = 0x03
|
|
|
COMP_GNU = 0x06
|
|
|
COMP_VISAGE = 0x07
|
|
|
COMP_BP = 0x08
|
|
|
INF_SIZEOF_LDBL = 196
|
|
|
INF_CORESTART = 25
|
|
|
INF_OSTYPE = 33
|
|
|
INF_APPTYPE = 35
|
|
|
INF_START_SP = 37
|
|
|
INF_AF = 45
|
|
|
INF_START_IP = 47
|
|
|
INF_BEGIN_EA = 55
|
|
|
INF_MIN_EA = 63
|
|
|
INF_MAX_EA = 71
|
|
|
INF_OMIN_EA = 79
|
|
|
INF_OMAX_EA = 87
|
|
|
INF_LOW_OFF = 95
|
|
|
INF_HIGH_OFF = 103
|
|
|
INF_MAXREF = 111
|
|
|
INF_ASCII_BREAK = 119
|
|
|
INF_WIDE_HIGH_BYTE_FIRST = 120
|
|
|
INF_INDENT = 121
|
|
|
INF_COMMENT = 122
|
|
|
INF_XREFNUM = 123
|
|
|
INF_ENTAB = 124
|
|
|
INF_SPECSEGS = 125
|
|
|
INF_VOIDS = 126
|
|
|
INF_SHOWAUTO = 128
|
|
|
INF_AUTO = 129
|
|
|
INF_BORDER = 130
|
|
|
INF_NULL = 131
|
|
|
INF_GENFLAGS = 132
|
|
|
INF_SHOWPREF = 133
|
|
|
INF_PREFSEG = 134
|
|
|
INF_ASMTYPE = 135
|
|
|
INF_BASEADDR = 136
|
|
|
INF_XREFS = 144
|
|
|
INF_BINPREF = 145
|
|
|
INF_CMTFLAG = 147
|
|
|
INF_NAMETYPE = 148
|
|
|
INF_SHOWBADS = 149
|
|
|
INF_PREFFLAG = 150
|
|
|
INF_PACKBASE = 151
|
|
|
INF_ASCIIFLAGS = 152
|
|
|
INF_LISTNAMES = 153
|
|
|
INF_ASCIIPREF = 154
|
|
|
INF_ASCIISERNUM = 170
|
|
|
INF_ASCIIZEROES = 178
|
|
|
INF_MF = 182
|
|
|
INF_ORG = 183
|
|
|
INF_ASSUME = 184
|
|
|
INF_CHECKARG = 185
|
|
|
INF_START_SS = 186
|
|
|
INF_START_CS = 194
|
|
|
INF_MAIN = 202
|
|
|
INF_SHORT_DN = 210
|
|
|
INF_LONG_DN = 218
|
|
|
INF_DATATYPES = 226
|
|
|
INF_STRTYPE = 234
|
|
|
INF_AF2 = 242
|
|
|
INF_NAMELEN = 244
|
|
|
INF_MARGIN = 246
|
|
|
INF_LENXREF = 248
|
|
|
INF_LPREFIX = 250
|
|
|
INF_LPREFIXLEN = 266
|
|
|
INF_COMPILER = 267
|
|
|
INF_MODEL = 268
|
|
|
INF_SIZEOF_INT = 269
|
|
|
INF_SIZEOF_BOOL = 270
|
|
|
INF_SIZEOF_ENUM = 271
|
|
|
INF_SIZEOF_ALGN = 272
|
|
|
INF_SIZEOF_SHORT = 273
|
|
|
INF_SIZEOF_LONG = 274
|
|
|
INF_SIZEOF_LLONG = 275
|
|
|
INF_CHANGE_COUNTER = 276
|
|
|
INF_SIZEOF_LBDL = 280
|
|
|
SETPROC_COMPAT = _idaapi.SETPROC_COMPAT
|
|
|
SETPROC_ALL = _idaapi.SETPROC_ALL
|
|
|
SETPROC_USER = _idaapi.SETPROC_USER
|
|
|
SETPROC_FATAL = _idaapi.SETPROC_FATAL
|
|
|
IDA_STATUS_READY = 0
|
|
|
IDA_STATUS_THINKING = 1
|
|
|
IDA_STATUS_WAITING = 2
|
|
|
IDA_STATUS_WORK = 3
|
|
|
SEGMOD_KILL = _idaapi.SEGMOD_KILL
|
|
|
SEGMOD_KEEP = _idaapi.SEGMOD_KEEP
|
|
|
SEGMOD_SILENT = _idaapi.SEGMOD_SILENT
|
|
|
saAbs = _idaapi.saAbs
|
|
|
saRelByte = _idaapi.saRelByte
|
|
|
saRelWord = _idaapi.saRelWord
|
|
|
saRelPara = _idaapi.saRelPara
|
|
|
saRelPage = _idaapi.saRelPage
|
|
|
saRelDble = _idaapi.saRelDble
|
|
|
saRel4K = _idaapi.saRel4K
|
|
|
saGroup = _idaapi.saGroup
|
|
|
saRel32Bytes = _idaapi.saRel32Bytes
|
|
|
saRel64Bytes = _idaapi.saRel64Bytes
|
|
|
saRelQword = _idaapi.saRelQword
|
|
|
scPriv = _idaapi.scPriv
|
|
|
scPub = _idaapi.scPub
|
|
|
scPub2 = _idaapi.scPub2
|
|
|
scStack = _idaapi.scStack
|
|
|
scCommon = _idaapi.scCommon
|
|
|
scPub3 = _idaapi.scPub3
|
|
|
SEG_NORM = _idaapi.SEG_NORM
|
|
|
SEG_XTRN = _idaapi.SEG_XTRN
|
|
|
SEG_CODE = _idaapi.SEG_CODE
|
|
|
SEG_DATA = _idaapi.SEG_DATA
|
|
|
SEG_IMP = _idaapi.SEG_IMP
|
|
|
SEG_GRP = _idaapi.SEG_GRP
|
|
|
SEG_NULL = _idaapi.SEG_NULL
|
|
|
SEG_UNDF = _idaapi.SEG_UNDF
|
|
|
SEG_BSS = _idaapi.SEG_BSS
|
|
|
SEG_ABSSYM = _idaapi.SEG_ABSSYM
|
|
|
SEG_COMM = _idaapi.SEG_COMM
|
|
|
SEG_IMEM = _idaapi.SEG_IMEM
|
|
|
SEGATTR_START = 0
|
|
|
SEGATTR_END = 8
|
|
|
SEGATTR_ORGBASE = 32
|
|
|
SEGATTR_ALIGN = 40
|
|
|
SEGATTR_COMB = 41
|
|
|
SEGATTR_PERM = 42
|
|
|
SEGATTR_BITNESS = 43
|
|
|
SEGATTR_FLAGS = 44
|
|
|
SEGATTR_SEL = 46
|
|
|
SEGATTR_ES = 54
|
|
|
SEGATTR_CS = 62
|
|
|
SEGATTR_SS = 70
|
|
|
SEGATTR_DS = 78
|
|
|
SEGATTR_FS = 86
|
|
|
SEGATTR_GS = 94
|
|
|
SEGATTR_TYPE = 182
|
|
|
SEGATTR_COLOR = 183
|
|
|
SFL_COMORG = 0x01
|
|
|
SFL_OBOK = 0x02
|
|
|
SFL_HIDDEN = 0x04
|
|
|
SFL_DEBUG = 0x08
|
|
|
SFL_LOADER = 0x10
|
|
|
SFL_HIDETYPE = 0x20
|
|
|
MSF_SILENT = 0x0001
|
|
|
MSF_NOFIX = 0x0002
|
|
|
MSF_LDKEEP = 0x0004
|
|
|
MSF_FIXONCE = 0x0008
|
|
|
MOVE_SEGM_OK = 0
|
|
|
MOVE_SEGM_PARAM = -1
|
|
|
MOVE_SEGM_ROOM = -2
|
|
|
MOVE_SEGM_IDP = -3
|
|
|
MOVE_SEGM_CHUNK = -4
|
|
|
MOVE_SEGM_LOADER = -5
|
|
|
MOVE_SEGM_ODD = -6
|
|
|
STT_VA = 0
|
|
|
STT_MM = 1
|
|
|
fl_CF = 16
|
|
|
fl_CN = 17
|
|
|
fl_JF = 18
|
|
|
fl_JN = 19
|
|
|
fl_F = 21
|
|
|
XREF_USER = 32
|
|
|
dr_O = _idaapi.dr_O
|
|
|
dr_W = _idaapi.dr_W
|
|
|
dr_R = _idaapi.dr_R
|
|
|
dr_T = _idaapi.dr_T
|
|
|
dr_I = _idaapi.dr_I
|
|
|
FUNCATTR_START = 0
|
|
|
FUNCATTR_END = 8
|
|
|
FUNCATTR_FLAGS = 16
|
|
|
FUNCATTR_FRAME = 18
|
|
|
FUNCATTR_FRSIZE = 26
|
|
|
FUNCATTR_FRREGS = 34
|
|
|
FUNCATTR_ARGSIZE = 36
|
|
|
FUNCATTR_FPD = 44
|
|
|
FUNCATTR_COLOR = 52
|
|
|
FUNCATTR_OWNER = 18
|
|
|
FUNCATTR_REFQTY = 26
|
|
|
FUNC_NORET = _idaapi.FUNC_NORET
|
|
|
FUNC_FAR = _idaapi.FUNC_FAR
|
|
|
FUNC_LIB = _idaapi.FUNC_LIB
|
|
|
FUNC_STATICDEF = _idaapi.FUNC_STATICDEF
|
|
|
FUNC_FRAME = _idaapi.FUNC_FRAME
|
|
|
FUNC_USERFAR = _idaapi.FUNC_USERFAR
|
|
|
FUNC_HIDDEN = _idaapi.FUNC_HIDDEN
|
|
|
FUNC_THUNK = _idaapi.FUNC_THUNK
|
|
|
FUNC_BOTTOMBP = _idaapi.FUNC_BOTTOMBP
|
|
|
FIXUP_MASK = 0xF
|
|
|
FIXUP_OFF8 = 0
|
|
|
FIXUP_BYTE = 0
|
|
|
FIXUP_OFF16 = 1
|
|
|
FIXUP_SEG16 = 2
|
|
|
FIXUP_PTR32 = 3
|
|
|
FIXUP_OFF32 = 4
|
|
|
FIXUP_PTR48 = 5
|
|
|
FIXUP_HI8 = 6
|
|
|
FIXUP_HI16 = 7
|
|
|
FIXUP_LOW8 = 8
|
|
|
FIXUP_LOW16 = 9
|
|
|
FIXUP_REL = 0x10
|
|
|
FIXUP_SELFREL = 0x0
|
|
|
FIXUP_EXTDEF = 0x20
|
|
|
FIXUP_UNUSED = 0x40
|
|
|
FIXUP_CREATED = 0x80
|
|
|
STRUC_ERROR_MEMBER_NAME = -1
|
|
|
STRUC_ERROR_MEMBER_OFFSET = -2
|
|
|
STRUC_ERROR_MEMBER_SIZE = -3
|
|
|
STRUC_ERROR_MEMBER_TINFO = -4
|
|
|
STRUC_ERROR_MEMBER_STRUCT = -5
|
|
|
STRUC_ERROR_MEMBER_UNIVAR = -6
|
|
|
STRUC_ERROR_MEMBER_VARLAST = -7
|
|
|
ENUM_MEMBER_ERROR_NAME = _idaapi.ENUM_MEMBER_ERROR_NAME
|
|
|
ENUM_MEMBER_ERROR_VALUE = _idaapi.ENUM_MEMBER_ERROR_VALUE
|
|
|
ENUM_MEMBER_ERROR_ENUM = _idaapi.ENUM_MEMBER_ERROR_ENUM
|
|
|
ENUM_MEMBER_ERROR_MASK = _idaapi.ENUM_MEMBER_ERROR_MASK
|
|
|
ENUM_MEMBER_ERROR_ILLV = _idaapi.ENUM_MEMBER_ERROR_ILLV
|
|
|
PT_FILE = 0x0001
|
|
|
PT_SILENT = 0x0002
|
|
|
PT_PAKDEF = 0x0000
|
|
|
PT_PAK1 = 0x0010
|
|
|
PT_PAK2 = 0x0020
|
|
|
PT_PAK4 = 0x0030
|
|
|
PT_PAK8 = 0x0040
|
|
|
PT_PAK16 = 0x0050
|
|
|
PRTYPE_1LINE = 0x0000
|
|
|
PRTYPE_MULTI = 0x0001
|
|
|
PRTYPE_TYPE = 0x0002
|
|
|
PRTYPE_PRAGMA = 0x0004
|
|
|
WFNE_ANY = 0x0001
|
|
|
WFNE_SUSP = 0x0002
|
|
|
WFNE_SILENT = 0x0004
|
|
|
WFNE_CONT = 0x0008
|
|
|
WFNE_NOWAIT = 0x0010
|
|
|
NOTASK = -2
|
|
|
DBG_ERROR = -1
|
|
|
DBG_TIMEOUT = 0
|
|
|
PROCESS_START = 0x00000001
|
|
|
PROCESS_EXIT = 0x00000002
|
|
|
THREAD_START = 0x00000004
|
|
|
THREAD_EXIT = 0x00000008
|
|
|
BREAKPOINT = 0x00000010
|
|
|
STEP = 0x00000020
|
|
|
EXCEPTION = 0x00000040
|
|
|
LIBRARY_LOAD = 0x00000080
|
|
|
LIBRARY_UNLOAD = 0x00000100
|
|
|
INFORMATION = 0x00000200
|
|
|
SYSCALL = 0x00000400
|
|
|
WINMESSAGE = 0x00000800
|
|
|
PROCESS_ATTACH = 0x00001000
|
|
|
PROCESS_DETACH = 0x00002000
|
|
|
PROCESS_SUSPEND = 0x00004000
|
|
|
DSTATE_SUSP_FOR_EVENT = -2
|
|
|
DSTATE_SUSP = -1
|
|
|
DSTATE_NOTASK = 0
|
|
|
DSTATE_RUN = 1
|
|
|
DSTATE_RUN_WAIT_ATTACH = 2
|
|
|
DSTATE_RUN_WAIT_END = 3
Get various information about the current debug event These functions
are valid only when the current event exists (the process is in the
suspended state)
|
|
|
DOPT_SEGM_MSGS = 0x00000001
|
|
|
DOPT_START_BPT = 0x00000002
|
|
|
DOPT_THREAD_MSGS = 0x00000004
|
|
|
DOPT_THREAD_BPT = 0x00000008
|
|
|
DOPT_BPT_MSGS = 0x00000010
|
|
|
DOPT_LIB_MSGS = 0x00000040
|
|
|
DOPT_LIB_BPT = 0x00000080
|
|
|
DOPT_INFO_MSGS = 0x00000100
|
|
|
DOPT_INFO_BPT = 0x00000200
|
|
|
DOPT_REAL_MEMORY = 0x00000400
|
|
|
DOPT_REDO_STACK = 0x00000800
|
|
|
DOPT_ENTRY_BPT = 0x00001000
|
|
|
DOPT_EXCDLG = 0x00006000
|
|
|
EXCDLG_NEVER = 0x00000000
|
|
|
EXCDLG_UNKNOWN = 0x00002000
|
|
|
EXCDLG_ALWAYS = 0x00006000
|
|
|
DOPT_LOAD_DINFO = 0x00008000
|
|
|
EXC_BREAK = 0x0001
|
|
|
EXC_HANDLE = 0x0002
|
|
|
BPTATTR_EA = 1
|
|
|
BPTATTR_SIZE = 2
|
|
|
BPTATTR_TYPE = 3
|
|
|
BPT_EXEC = 0
|
|
|
BPT_WRITE = 1
|
|
|
BPT_RDWR = 3
|
|
|
BPT_SOFT = 4
|
|
|
BPTATTR_COUNT = 4
|
|
|
BPTATTR_FLAGS = 5
|
|
|
BPT_BRK = 0x01
|
|
|
BPT_TRACE = 0x02
|
|
|
BPT_UPDMEM = 0x04
|
|
|
BPT_UPDSEG = 0x08
|
|
|
BPTATTR_COND = 6
|
|
|
BPTCK_NONE = -1
|
|
|
BPTCK_NO = 0
|
|
|
BPTCK_YES = 1
|
|
|
BPTCK_ACT = 2
|
|
|
TRACE_STEP = 0x0
|
|
|
TRACE_INSN = 0x1
|
|
|
TRACE_FUNC = 0x2
|
|
|
CIC_ITEM = 1
|
|
|
CIC_FUNC = 2
|
|
|
CIC_SEGM = 3
|
|
|
DEFCOLOR = 0xFFFFFFFF
|
|
|
SEGDEL_PERM = 0x0001
|
|
|
SEGDEL_KEEP = 0x0002
|
|
|
SEGDEL_SILENT = 0x0004
|
|
|
ARGV = []
The command line arguments passed to IDA via the -S switch.
|