IDAPython 9.0
Loading...
Searching...
No Matches
mba_t Class Reference
Inheritance diagram for mba_t:

Public Member Functions

 __init__ (self, *args, **kwargs)
 
bool precise_defeas (self)
 
bool optimized (self)
 
bool short_display (self)
 
bool show_reduction (self)
 
bool graph_insns (self)
 
bool loaded_gdl (self)
 
bool should_beautify (self)
 
bool rtype_refined (self)
 
bool may_refine_rettype (self)
 
bool use_wingraph32 (self)
 
bool display_numaddrs (self)
 
bool display_valnums (self)
 
bool is_pattern (self)
 
bool is_thunk (self)
 
bool saverest_done (self)
 
bool callinfo_built (self)
 
bool really_alloc (self)
 
bool lvars_allocated (self)
 
bool chain_varnums_ok (self)
 
bool returns_fpval (self)
 
bool has_passregs (self)
 
bool generated_asserts (self)
 
bool propagated_asserts (self)
 
bool deleted_pairs (self)
 
bool common_stkvars_stkargs (self)
 
bool lvar_names_ok (self)
 
bool lvars_renamed (self)
 
bool has_over_chains (self)
 
bool valranges_done (self)
 
bool argidx_ok (self)
 
bool argidx_sorted (self)
 
bool code16_bit_removed (self)
 
bool has_stack_retval (self)
 
bool has_outlines (self)
 
bool is_ctr (self)
 
bool is_dtr (self)
 
bool is_cdtr (self)
 
bool prop_complex (self)
 
int get_mba_flags (self)
 
int get_mba_flags2 (self)
 
None set_mba_flags (self, int f)
 
None clr_mba_flags (self, int f)
 
None set_mba_flags2 (self, int f)
 
None clr_mba_flags2 (self, int f)
 
None clr_cdtr (self)
 
int calc_shins_flags (self)
 
int stkoff_vd2ida (self, int off)
 
int stkoff_ida2vd (self, int off)
 
int argbase (self)
 
'vdloc_tidaloc2vd (self, 'argloc_t' loc, int width)
 
'argloc_t' vd2idaloc (self, *args)
 
bool is_stkarg (self, 'lvar_t' v)
 
'argloc_t' get_ida_argloc (self, 'lvar_t' v)
 
bool write_to_const_detected (self)
 
bool bad_call_sp_detected (self)
 
bool regargs_is_not_aligned (self)
 
bool has_bad_sp (self)
 
None term (self)
 
'func_t *' get_curfunc (self)
 
bool use_frame (self)
 
bool is_snippet (self)
 
bool set_maturity (self, 'mba_maturity_t' mat)
 
int optimize_local (self, int locopt_bits)
 
'merror_t' build_graph (self)
 
'mbl_graph_t *' get_graph (self)
 
int analyze_calls (self, int acflags)
 
'merror_t' optimize_global (self)
 
None alloc_lvars (self)
 
None dump (self)
 
None dump_mba (self, bool _verify, str title)
 
None verify (self, bool always)
 
None mark_chains_dirty (self)
 
'mblock_t *' get_mblock (self, 'uint' n)
 
'mblock_t *' insert_block (self, int bblk)
 
'mblock_t *' split_block (self, 'mblock_t' blk, 'minsn_t' start_insn)
 
bool remove_block (self, 'mblock_t' blk)
 
bool remove_blocks (self, int start_blk, int end_blk)
 
'mblock_t *' copy_block (self, 'mblock_t' blk, int new_serial, int cpblk_flags=3)
 
bool remove_empty_and_unreachable_blocks (self)
 
bool merge_blocks (self)
 
int for_all_ops (self, 'mop_visitor_t' mv)
 
int for_all_insns (self, 'minsn_visitor_t' mv)
 
int for_all_topinsns (self, 'minsn_visitor_t' mv)
 
'mop_t *' find_mop (self, 'op_parent_info_t' ctx, ida_idaapi.ea_t ea, bool is_dest, 'mlist_t' list)
 
'minsn_t *' create_helper_call (self, ida_idaapi.ea_t ea, str helper, 'tinfo_t' rettype=None, 'mcallargs_t' callargs=None, 'mop_t' out=None)
 
None get_func_output_lists (self, *args)
 
'lvar_t &' arg (self, int n)
 
ida_idaapi.ea_t alloc_fict_ea (self, ida_idaapi.ea_t real_ea)
 
ida_idaapi.ea_t map_fict_ea (self, ida_idaapi.ea_t fict_ea)
 
'ivl_t const &' get_std_region (self, 'memreg_index_t' idx)
 
'ivl_t const &' get_lvars_region (self)
 
'ivl_t const &' get_shadow_region (self)
 
'ivl_t const &' get_args_region (self)
 
'ivl_tget_stack_region (self)
 
None serialize (self)
 
None save_snapshot (self, str description)
 
'mreg_t' alloc_kreg (self, 'size_t' size, bool check_size=True)
 
None free_kreg (self, 'mreg_t' reg, 'size_t' size)
 
'merror_t' inline_func (self, 'codegen_t' cdg, int blknum, 'mba_ranges_t' ranges, int decomp_flags=0, int inline_flags=0)
 
'stkpnt_t const *' locate_stkpnt (self, ida_idaapi.ea_t ea)
 
bool set_lvar_name (self, 'lvar_t' v, str name, int flagbits)
 
bool set_nice_lvar_name (self, 'lvar_t' v, str name)
 
bool set_user_lvar_name (self, 'lvar_t' v, str name)
 

Static Public Member Functions

'mba_t *' deserialize ('uchar const *' bytes)
 

Static Public Attributes

str mbr
 
str entry_ea
 
str last_prolog_ea
 
str first_epilog_ea
 
str qty
 
str npurged
 
str cc = property(_ida_hexrays.mba_t_cc_get, _ida_hexrays.mba_t_cc_set)
 
str tmpstk_size
 
str frsize
 
str frregs
 
str fpd
 
str pfn_flags
 
str retsize
 
str shadow_args
 
str fullsize
 
str stacksize
 
str inargoff
 
str minstkref
 
str minstkref_ea
 
str minargref
 
str spd_adjust
 
str gotoff_stkvars
 
str restricted_memory
 
str aliased_memory
 
str nodel_memory
 
str consumed_argregs
 
str maturity
 
str reqmat
 
str final_type
 
str idb_type
 
str idb_spoiled
 
str spoiled_list
 
str fti_flags
 
str label
 
str vars
 
str argidx
 
str retvaridx
 
str error_ea
 
str error_strarg
 
str blocks
 
str natural
 
str std_ivls
 
str notes
 
str occurred_warns
 

Protected Member Functions

None _print (self, 'vd_printer_t' vp)
 
None _register (self)
 
None _deregister (self)
 

Properties

 thisown
 
 idb_node = property(lambda self: self.deprecated_idb_node)
 

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
* args,
** kwargs )

Member Function Documentation

◆ _deregister()

None _deregister ( self)
protected

◆ _print()

None _print ( self,
'vd_printer_t' vp )
protected

◆ _register()

None _register ( self)
protected

◆ alloc_fict_ea()

ida_idaapi.ea_t alloc_fict_ea ( self,
ida_idaapi.ea_t real_ea )
Allocate a fictional address. This function can be used to allocate a new unique address for a new instruction, if re-using any existing address leads to conflicts. For example, if the last instruction of the function modifies R0 and falls through to the next function, it will be a tail call: LDM R0!, {R4,R7} end of the function start of another function In this case R0 generates two different lvars at the same address:
* one modified by LDM
* another that represents the return value from the tail call


Another example: a third-party plugin makes a copy of an instruction. This may lead to the generation of two variables at the same address. Example 3: fictional addresses can be used for new instructions created while modifying the microcode. This function can be used to allocate a new unique address for a new instruction or a variable. The fictional address is selected from an unallocated address range. 

@param real_ea: real instruction address (BADADDR is ok too)
@returns a unique fictional address

◆ alloc_kreg()

'mreg_t' alloc_kreg ( self,
'size_t' size,
bool check_size = True )
Allocate a kernel register. 

@param size: size of the register in bytes
@param check_size: if true, only the sizes that correspond to a size of a basic type will be accepted.
@returns allocated register. mr_none means failure.

◆ alloc_lvars()

None alloc_lvars ( self)
Allocate local variables. Must be called only immediately after optimize_global(), with no modifications to the microcode. Converts registers, stack variables, and similar operands into mop_l. This call will not fail because all necessary checks were performed in optimize_global(). After this call the microcode reaches its final state. 

◆ analyze_calls()

int analyze_calls ( self,
int acflags )
Analyze calls and determine calling conventions. 

@param acflags: permitted actions that are necessary for successful detection of calling conventions. See Bits for analyze_calls()
@returns number of calls. -1 means error.

◆ arg()

'lvar_t &' arg ( self,
int n )
Get input argument of the decompiled function. 

@param n: argument number (0..nargs-1)

◆ argbase()

int argbase ( self)

◆ argidx_ok()

bool argidx_ok ( self)

◆ argidx_sorted()

bool argidx_sorted ( self)

◆ bad_call_sp_detected()

bool bad_call_sp_detected ( self)

◆ build_graph()

'merror_t' build_graph ( self)
Build control flow graph. This function may be called only once. It calculates the type of each basic block and the adjacency list. optimize_local() calls this function if necessary. You need to call this function only before MMAT_LOCOPT. 

@returns error code

◆ calc_shins_flags()

int calc_shins_flags ( self)

◆ callinfo_built()

bool callinfo_built ( self)

◆ chain_varnums_ok()

bool chain_varnums_ok ( self)

◆ clr_cdtr()

None clr_cdtr ( self)

◆ clr_mba_flags()

None clr_mba_flags ( self,
int f )

◆ clr_mba_flags2()

None clr_mba_flags2 ( self,
int f )

◆ code16_bit_removed()

bool code16_bit_removed ( self)

◆ common_stkvars_stkargs()

bool common_stkvars_stkargs ( self)

◆ copy_block()

'mblock_t *' copy_block ( self,
'mblock_t' blk,
int new_serial,
int cpblk_flags = 3 )
Make a copy of a block. This function makes a simple copy of the block. It does not fix the predecessor and successor lists, they must be fixed if necessary. 

@param blk: block to copy
@param new_serial: position of the copied block
@param cpblk_flags: combination of Batch decompilation bits... bits
@returns pointer to the new copy

◆ create_helper_call()

'minsn_t *' create_helper_call ( self,
ida_idaapi.ea_t ea,
str helper,
'tinfo_t' rettype = None,
'mcallargs_t' callargs = None,
'mop_t' out = None )
Create a call of a helper function. 

@param ea: The desired address of the instruction
@param helper: The helper name
@param rettype: The return type (nullptr or empty type means 'void')
@param callargs: The helper arguments (nullptr-no arguments)
@param out: The operand where the call result should be stored. If this argument is not nullptr, "mov helper_call(), out" will be generated. Otherwise "call helper()" will be generated. Note: the size of this operand must be equal to the RETTYPE size
@returns pointer to the created instruction or nullptr if error

◆ deleted_pairs()

bool deleted_pairs ( self)

◆ deserialize()

'mba_t *' deserialize ( 'uchar const *' bytes)
static
Deserialize a byte sequence into mbl array. 

@param bytes: pointer to the beginning of the byte sequence.
@returns new mbl array

◆ display_numaddrs()

bool display_numaddrs ( self)

◆ display_valnums()

bool display_valnums ( self)

◆ dump()

None dump ( self)
Dump microcode to a file. The file will be created in the directory pointed by IDA_DUMPDIR envvar. Dump will be created only if IDA is run under debugger. 

◆ dump_mba()

None dump_mba ( self,
bool _verify,
str title )

◆ find_mop()

'mop_t *' find_mop ( self,
'op_parent_info_t' ctx,
ida_idaapi.ea_t ea,
bool is_dest,
'mlist_t' list )
Find an operand in the microcode. This function tries to find the operand that matches LIST. Any operand that overlaps with LIST is considered as a match. 

@param ctx: context information for the result
@param ea: desired address of the operand. BADADDR means to accept any address.
@param is_dest: search for destination operand? this argument may be ignored if the exact match could not be found
@param list: list of locations the correspond to the operand
@returns pointer to the operand or nullptr.

◆ for_all_insns()

int for_all_insns ( self,
'minsn_visitor_t' mv )
Visit all instructions. This function visits all instruction and subinstructions. 

@param mv: instruction visitor
@returns non-zero value returned by mv.visit_mop() or zero

◆ for_all_ops()

int for_all_ops ( self,
'mop_visitor_t' mv )
Visit all operands of all instructions. 

@param mv: operand visitor
@returns non-zero value returned by mv.visit_mop() or zero

◆ for_all_topinsns()

int for_all_topinsns ( self,
'minsn_visitor_t' mv )
Visit all top level instructions. 

@param mv: instruction visitor
@returns non-zero value returned by mv.visit_mop() or zero

◆ free_kreg()

None free_kreg ( self,
'mreg_t' reg,
'size_t' size )
Free a kernel register. If wrong arguments are passed, this function will generate an internal error. 

@param reg: a previously allocated kernel register
@param size: size of the register in bytes

◆ generated_asserts()

bool generated_asserts ( self)

◆ get_args_region()

'ivl_t const &' get_args_region ( self)

◆ get_curfunc()

'func_t *' get_curfunc ( self)

◆ get_func_output_lists()

None get_func_output_lists ( self,
* args )
Prepare the lists of registers & memory that are defined/killed by a function 

@param return_regs: defined regs to return (eax,edx)
@param spoiled: spoiled regs (flags,ecx,mem)
@param type: the function type
@param call_ea: the call insn address (if known)
@param tail_call: is it the tail call?

◆ get_graph()

'mbl_graph_t *' get_graph ( self)
Get control graph. Call build_graph() if you need the graph before MMAT_LOCOPT. 

◆ get_ida_argloc()

'argloc_t' get_ida_argloc ( self,
'lvar_t' v )

◆ get_lvars_region()

'ivl_t const &' get_lvars_region ( self)

◆ get_mba_flags()

int get_mba_flags ( self)

◆ get_mba_flags2()

int get_mba_flags2 ( self)

◆ get_mblock()

'mblock_t *' get_mblock ( self,
'uint' n )
Get basic block by its serial number.

◆ get_shadow_region()

'ivl_t const &' get_shadow_region ( self)

◆ get_stack_region()

'ivl_t' get_stack_region ( self)

◆ get_std_region()

'ivl_t const &' get_std_region ( self,
'memreg_index_t' idx )
Get information about various memory regions. We map the stack frame to the global memory, to some unused range. 

◆ graph_insns()

bool graph_insns ( self)

◆ has_bad_sp()

bool has_bad_sp ( self)

◆ has_outlines()

bool has_outlines ( self)

◆ has_over_chains()

bool has_over_chains ( self)

◆ has_passregs()

bool has_passregs ( self)

◆ has_stack_retval()

bool has_stack_retval ( self)

◆ idaloc2vd()

'vdloc_t' idaloc2vd ( self,
'argloc_t' loc,
int width )

◆ inline_func()

'merror_t' inline_func ( self,
'codegen_t' cdg,
int blknum,
'mba_ranges_t' ranges,
int decomp_flags = 0,
int inline_flags = 0 )
Inline a range. Currently only functions are supported, not arbitrary ranges. This function may be called only during the initial microcode generation phase. 

@param cdg: the codegenerator object
@param blknum: the block contaning the call/jump instruction to inline
@param ranges: the set of ranges to inline
@param decomp_flags: combination of decompile() flags bits
@param inline_flags: combination of inline_func() flags bits
@returns error code

◆ insert_block()

'mblock_t *' insert_block ( self,
int bblk )
Insert a block in the middle of the mbl array. The very first block of microcode must be empty, it is the entry block. The very last block of microcode must be BLT_STOP, it is the exit block. Therefore inserting a new block before the entry point or after the exit block is not a good idea. 

@param bblk: the new block will be inserted before BBLK
@returns ptr to the new block

◆ is_cdtr()

bool is_cdtr ( self)

◆ is_ctr()

bool is_ctr ( self)

◆ is_dtr()

bool is_dtr ( self)

◆ is_pattern()

bool is_pattern ( self)

◆ is_snippet()

bool is_snippet ( self)

◆ is_stkarg()

bool is_stkarg ( self,
'lvar_t' v )

◆ is_thunk()

bool is_thunk ( self)

◆ loaded_gdl()

bool loaded_gdl ( self)

◆ locate_stkpnt()

'stkpnt_t const *' locate_stkpnt ( self,
ida_idaapi.ea_t ea )

◆ lvar_names_ok()

bool lvar_names_ok ( self)

◆ lvars_allocated()

bool lvars_allocated ( self)

◆ lvars_renamed()

bool lvars_renamed ( self)

◆ map_fict_ea()

ida_idaapi.ea_t map_fict_ea ( self,
ida_idaapi.ea_t fict_ea )
Resolve a fictional address. This function provides a reverse of the mapping made by alloc_fict_ea(). 

@param fict_ea: fictional definition address
@returns the real instruction address

◆ mark_chains_dirty()

None mark_chains_dirty ( self)
Mark the microcode use-def chains dirty. Call this function is any inter-block data dependencies got changed because of your modifications to the microcode. Failing to do so may cause an internal error. 

◆ may_refine_rettype()

bool may_refine_rettype ( self)

◆ merge_blocks()

bool merge_blocks ( self)
Merge blocks. This function merges blocks constituting linear flow. It calls remove_empty_and_unreachable_blocks() as well. 

@returns true if changed any blocks

◆ optimize_global()

'merror_t' optimize_global ( self)
Optimize microcode globally. This function applies various optimization methods until we reach the fixed point. After that it preallocates lvars unless reqmat forbids it. 

@returns error code

◆ optimize_local()

int optimize_local ( self,
int locopt_bits )
Optimize each basic block locally 

@param locopt_bits: combination of Bits for optimize_local() bits
@returns number of changes. 0 means nothing changed This function is called by the decompiler, usually there is no need to call it explicitly.

◆ optimized()

bool optimized ( self)

◆ precise_defeas()

bool precise_defeas ( self)

◆ prop_complex()

bool prop_complex ( self)

◆ propagated_asserts()

bool propagated_asserts ( self)

◆ really_alloc()

bool really_alloc ( self)

◆ regargs_is_not_aligned()

bool regargs_is_not_aligned ( self)

◆ remove_block()

bool remove_block ( self,
'mblock_t' blk )
Delete a block. 

@param blk: block to delete
@returns true if at least one of the other blocks became empty or unreachable

◆ remove_blocks()

bool remove_blocks ( self,
int start_blk,
int end_blk )

◆ remove_empty_and_unreachable_blocks()

bool remove_empty_and_unreachable_blocks ( self)
Delete all empty and unreachable blocks. Blocks marked with MBL_KEEP won't be deleted. 

◆ returns_fpval()

bool returns_fpval ( self)

◆ rtype_refined()

bool rtype_refined ( self)

◆ save_snapshot()

None save_snapshot ( self,
str description )
Create and save microcode snapshot.

◆ saverest_done()

bool saverest_done ( self)

◆ serialize()

None serialize ( self)
Serialize mbl array into a sequence of bytes.

◆ set_lvar_name()

bool set_lvar_name ( self,
'lvar_t' v,
str name,
int flagbits )

◆ set_maturity()

bool set_maturity ( self,
'mba_maturity_t' mat )
Set maturity level. 

@param mat: new maturity level
@returns true if it is time to stop analysis Plugins may use this function to skip some parts of the analysis. The maturity level cannot be decreased.

◆ set_mba_flags()

None set_mba_flags ( self,
int f )

◆ set_mba_flags2()

None set_mba_flags2 ( self,
int f )

◆ set_nice_lvar_name()

bool set_nice_lvar_name ( self,
'lvar_t' v,
str name )

◆ set_user_lvar_name()

bool set_user_lvar_name ( self,
'lvar_t' v,
str name )

◆ short_display()

bool short_display ( self)

◆ should_beautify()

bool should_beautify ( self)

◆ show_reduction()

bool show_reduction ( self)

◆ split_block()

'mblock_t *' split_block ( self,
'mblock_t' blk,
'minsn_t' start_insn )
Split a block: insert a new one after the block, move some instructions to new block 

@param blk: block to be split
@param start_insn: all instructions to be moved to new block: starting with this one up to the end
@returns ptr to the new block

◆ stkoff_ida2vd()

int stkoff_ida2vd ( self,
int off )

◆ stkoff_vd2ida()

int stkoff_vd2ida ( self,
int off )

◆ term()

None term ( self)

◆ use_frame()

bool use_frame ( self)

◆ use_wingraph32()

bool use_wingraph32 ( self)

◆ valranges_done()

bool valranges_done ( self)

◆ vd2idaloc()

'argloc_t' vd2idaloc ( self,
* args )
This function has the following signatures:

0. vd2idaloc(loc: const vdloc_t &, width: int) -> argloc_t
1. vd2idaloc(loc: const vdloc_t &, width: int, spd: int) -> argloc_t

# 0: vd2idaloc(loc: const vdloc_t &, width: int) -> argloc_t


# 1: vd2idaloc(loc: const vdloc_t &, width: int, spd: int) -> argloc_t

◆ verify()

None verify ( self,
bool always )
Verify microcode consistency. 

@param always: if false, the check will be performed only if ida runs under debugger If any inconsistency is discovered, an internal error will be generated. We strongly recommend you to call this function before returing control to the decompiler from your callbacks, in the case if you modified the microcode. If the microcode is inconsistent, this function will generate an internal error. We provide the source code of this function in the plugins/hexrays_sdk/verifier directory for your reference.

◆ write_to_const_detected()

bool write_to_const_detected ( self)

Member Data Documentation

◆ aliased_memory

str aliased_memory
static
Initial value:
= property(_ida_hexrays.
mba_t_aliased_memory_get, _ida_hexrays.mba_t_aliased_memory_set)

◆ argidx

str argidx
static
Initial value:
= property(_ida_hexrays.mba_t_argidx_get,
_ida_hexrays.mba_t_argidx_set)

◆ blocks

str blocks
static
Initial value:
= property(_ida_hexrays.mba_t_blocks_get,
_ida_hexrays.mba_t_blocks_set)

◆ cc

str cc = property(_ida_hexrays.mba_t_cc_get, _ida_hexrays.mba_t_cc_set)
static

◆ consumed_argregs

str consumed_argregs
static
Initial value:
= property(_ida_hexrays.
mba_t_consumed_argregs_get, _ida_hexrays.mba_t_consumed_argregs_set)

◆ entry_ea

str entry_ea
static
Initial value:
= property(_ida_hexrays.mba_t_entry_ea_get,
_ida_hexrays.mba_t_entry_ea_set)

◆ error_ea

str error_ea
static
Initial value:
= property(_ida_hexrays.mba_t_error_ea_get,
_ida_hexrays.mba_t_error_ea_set)

◆ error_strarg

str error_strarg
static
Initial value:
= property(_ida_hexrays.mba_t_error_strarg_get,
_ida_hexrays.mba_t_error_strarg_set)

◆ final_type

str final_type
static
Initial value:
= property(_ida_hexrays.mba_t_final_type_get,
_ida_hexrays.mba_t_final_type_set)

◆ first_epilog_ea

str first_epilog_ea
static
Initial value:
= property(_ida_hexrays.
mba_t_first_epilog_ea_get, _ida_hexrays.mba_t_first_epilog_ea_set)

◆ fpd

str fpd
static
Initial value:
= property(_ida_hexrays.mba_t_fpd_get, _ida_hexrays.
mba_t_fpd_set)

◆ frregs

str frregs
static
Initial value:
= property(_ida_hexrays.mba_t_frregs_get, _ida_hexrays
.mba_t_frregs_set)

◆ frsize

str frsize
static
Initial value:
= property(_ida_hexrays.mba_t_frsize_get, _ida_hexrays
.mba_t_frsize_set)

◆ fti_flags

str fti_flags
static
Initial value:
= property(_ida_hexrays.mba_t_fti_flags_get,
_ida_hexrays.mba_t_fti_flags_set)

◆ fullsize

str fullsize
static
Initial value:
= property(_ida_hexrays.mba_t_fullsize_get,
_ida_hexrays.mba_t_fullsize_set)

◆ gotoff_stkvars

str gotoff_stkvars
static
Initial value:
= property(_ida_hexrays.
mba_t_gotoff_stkvars_get, _ida_hexrays.mba_t_gotoff_stkvars_set)

◆ idb_spoiled

str idb_spoiled
static
Initial value:
= property(_ida_hexrays.
mba_t_idb_spoiled_get, _ida_hexrays.mba_t_idb_spoiled_set)

◆ idb_type

str idb_type
static
Initial value:
= property(_ida_hexrays.mba_t_idb_type_get,
_ida_hexrays.mba_t_idb_type_set)

◆ inargoff

str inargoff
static
Initial value:
= property(_ida_hexrays.mba_t_inargoff_get,
_ida_hexrays.mba_t_inargoff_set)

◆ label

str label
static
Initial value:
= property(_ida_hexrays.mba_t_label_get, _ida_hexrays.
mba_t_label_set)

◆ last_prolog_ea

str last_prolog_ea
static
Initial value:
= property(_ida_hexrays.mba_t_last_prolog_ea_get,
_ida_hexrays.mba_t_last_prolog_ea_set)

◆ maturity

str maturity
static
Initial value:
= property(_ida_hexrays.mba_t_maturity_get,
_ida_hexrays.mba_t_maturity_set)

◆ mbr

str mbr
static
Initial value:
= property(_ida_hexrays.mba_t_mbr_get, _ida_hexrays
.mba_t_mbr_set)

◆ minargref

str minargref
static
Initial value:
= property(_ida_hexrays.mba_t_minargref_get,
_ida_hexrays.mba_t_minargref_set)

◆ minstkref

str minstkref
static
Initial value:
= property(_ida_hexrays.mba_t_minstkref_get,
_ida_hexrays.mba_t_minstkref_set)

◆ minstkref_ea

str minstkref_ea
static
Initial value:
= property(_ida_hexrays.mba_t_minstkref_ea_get,
_ida_hexrays.mba_t_minstkref_ea_set)

◆ natural

str natural
static
Initial value:
= property(_ida_hexrays.mba_t_natural_get,
_ida_hexrays.mba_t_natural_set)

◆ nodel_memory

str nodel_memory
static
Initial value:
= property(_ida_hexrays.mba_t_nodel_memory_get,
_ida_hexrays.mba_t_nodel_memory_set)

◆ notes

str notes
static
Initial value:
= property(_ida_hexrays.mba_t_notes_get,
_ida_hexrays.mba_t_notes_set)

◆ npurged

str npurged
static
Initial value:
= property(_ida_hexrays.mba_t_npurged_get, _ida_hexrays.
mba_t_npurged_set)

◆ occurred_warns

str occurred_warns
static
Initial value:
= property(_ida_hexrays.
mba_t_occurred_warns_get, _ida_hexrays.mba_t_occurred_warns_set)

◆ pfn_flags

str pfn_flags
static
Initial value:
= property(_ida_hexrays.mba_t_pfn_flags_get,
_ida_hexrays.mba_t_pfn_flags_set)

◆ qty

str qty
static
Initial value:
= property(_ida_hexrays.mba_t_qty_get, _ida_hexrays.
mba_t_qty_set)

◆ reqmat

str reqmat
static
Initial value:
= property(_ida_hexrays.mba_t_reqmat_get,
_ida_hexrays.mba_t_reqmat_set)

◆ restricted_memory

str restricted_memory
static
Initial value:
= property(_ida_hexrays.
mba_t_restricted_memory_get, _ida_hexrays.mba_t_restricted_memory_set)

◆ retsize

str retsize
static
Initial value:
= property(_ida_hexrays.mba_t_retsize_get, _ida_hexrays.
mba_t_retsize_set)

◆ retvaridx

str retvaridx
static
Initial value:
= property(_ida_hexrays.mba_t_retvaridx_get,
_ida_hexrays.mba_t_retvaridx_set)

◆ shadow_args

str shadow_args
static
Initial value:
= property(_ida_hexrays.mba_t_shadow_args_get,
_ida_hexrays.mba_t_shadow_args_set)

◆ spd_adjust

str spd_adjust
static
Initial value:
= property(_ida_hexrays.mba_t_spd_adjust_get,
_ida_hexrays.mba_t_spd_adjust_set)

◆ spoiled_list

str spoiled_list
static
Initial value:
= property(_ida_hexrays.mba_t_spoiled_list_get,
_ida_hexrays.mba_t_spoiled_list_set)

◆ stacksize

str stacksize
static
Initial value:
= property(_ida_hexrays.mba_t_stacksize_get,
_ida_hexrays.mba_t_stacksize_set)

◆ std_ivls

str std_ivls
static
Initial value:
= property(_ida_hexrays.
mba_t_std_ivls_get, _ida_hexrays.mba_t_std_ivls_set)

◆ tmpstk_size

str tmpstk_size
static
Initial value:
= property(_ida_hexrays.mba_t_tmpstk_size_get,
_ida_hexrays.mba_t_tmpstk_size_set)

◆ vars

str vars
static
Initial value:
= property(_ida_hexrays.mba_t_vars_get, _ida_hexrays.
mba_t_vars_set)

Property Documentation

◆ idb_node

idb_node = property(lambda self: self.deprecated_idb_node)
static

◆ thisown

thisown
static
Initial value:
= property(lambda x: x.this.own(), lambda x, v: x.this.own(v),
doc='The membership flag')

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