State-of-the-art binary code analysis tools

Public Attributes

char tag [IDAINFO_TAG_SIZE]
 'IDA'
 
char zero
 this field is not present in the database
 
ushort version
 Version of database.
 
char procname [IDAINFO_PROCNAME_SIZE]
 Name of the current processor (with \0)
 
ushort s_genflags
 General idainfo flags
 
uint32 lflags
 Misc. database flags
 
uint32 database_change_count
 incremented after each byte and regular segment modifications
 
ushort filetype
 The input file type.
 
ushort ostype
 OS type the program is for bit definitions in libfuncs.hpp.
 
ushort apptype
 Application type bit definitions in libfuncs.hpp.
 
uchar asmtype
 target assembler number
 
uchar specsegs
 What format do special segments use? 0-unspecified, 4-entries are 4 bytes, 8- entries are 8 bytes.
 
uint32 af
 Analysis flags
 
uint32 af2
 Analysis flags 2
 
uval_t baseaddr
 remaining 29 bits are reserved More...
 
sel_t start_ss
 selector of the initial stack segment
 
sel_t start_cs
 selector of the segment with the main entry point
 
ea_t start_ip
 IP register value at the start of program execution.
 
ea_t start_ea
 Linear address of program entry point.
 
ea_t start_sp
 SP register value at the start of program execution.
 
ea_t main
 address of main()
 
ea_t min_ea
 current limits of program
 
ea_t max_ea
 maxEA is excluded
 
ea_t omin_ea
 original minEA (is set after loading the input file)
 
ea_t omax_ea
 original maxEA (is set after loading the input file)
 
ea_t lowoff
 Low limit for offsets (used in calculation of 'void' operands)
 
ea_t highoff
 High limit for offsets (used in calculation of 'void' operands)
 
uval_t maxref
 Max tail for references.
 
range_t privrange
 Range of addresses reserved for internal use. More...
 
sval_t netdelta
 Delta value to be added to all adresses for mapping to netnodes. More...
 
uchar xrefnum
 CROSS REFERENCES. More...
 
uchar type_xrefnum
 Number of references to generate in the struct & enum windows 0 - xrefs won't be generated at all.
 
uchar refcmtnum
 Number of comment lines to generate for refs to string literals or demangled names 0 - such comments won't be generated at all.
 
uchar s_xrefflag
 Xref options
 
ushort max_autoname_len
 NAMES. More...
 
char nametype
 Dummy names representation types
 
uint32 short_demnames
 short form of demangled names
 
uint32 long_demnames
 long form of demangled names see demangle.h for definitions
 
uchar demnames
 Demangled name flags
 
uchar listnames
 Name list options
 
uchar indent
 DISASSEMBLY LISTING DETAILS. More...
 
uchar comment
 Indentation for comments.
 
ushort margin
 max length of data lines
 
ushort lenxref
 max length of line with xrefs
 
uint32 outflags
 output flags
 
uchar s_cmtflg
 Comment options
 
uchar s_limiter
 Delimiter options
 
short bin_prefix_size
 # of instruction bytes (opcodes) to show in line prefix
 
uchar s_prefflag
 Line prefix options
 
uchar strlit_flags
 STRING LITERALS. More...
 
uchar strlit_break
 string literal line break symbol
 
char strlit_zeroes
 leading zeroes
 
int32 strtype
 current ascii string type see nalt.hpp for string types
 
char strlit_pref [IDAINFO_STRLIT_PREF_SIZE]
 prefix for string literal names
 
uval_t strlit_sernum
 serial number
 
uval_t datatypes
 data types allowed in data carousel
 
compiler_info_t cc
 COMPILER. More...
 
uint32 abibits
 ABI features. More...
 
uint32 appcall_options
 appcall options, see idd.hpp
 

Public Member Functions

 EA64_ALIGN (padding)
 total size for 32bit: 216 bytes for 64bit: 296 bytes
 

Member Data Documentation

◆ baseaddr

uval_t idainfo::baseaddr

remaining 29 bits are reserved

base address of the program (paragraphs)

◆ privrange

range_t idainfo::privrange

Range of addresses reserved for internal use.

Initially (MAXADDR, MAXADDR+0x800000)

◆ netdelta

sval_t idainfo::netdelta

Delta value to be added to all adresses for mapping to netnodes.

Initially 0

◆ xrefnum

uchar idainfo::xrefnum

CROSS REFERENCES.

Number of references to generate in the disassembly listing 0 - xrefs won't be generated at all

◆ max_autoname_len

ushort idainfo::max_autoname_len

NAMES.

max autogenerated name length (without zero byte)

◆ indent

uchar idainfo::indent

DISASSEMBLY LISTING DETAILS.

Indentation for instructions

◆ strlit_flags

uchar idainfo::strlit_flags

STRING LITERALS.

string literal flags

◆ cc

compiler_info_t idainfo::cc

COMPILER.

Target compiler

◆ abibits

uint32 idainfo::abibits

ABI features.

Depends on info returned by get_abi_name() Processor modules may modify them in set_compiler


The documentation for this struct was generated from the following file: