IDA Domain Python API
ida_domain.Functions Class Reference

Inherits object.

Public Member Functions

def __init__ (self, database)
 
def get_between (self, start, end)
 
def get_all (self)
 
def get_at (self, ea)
 
def get_name (self, func)
 
def set_name (self, func, name)
 
def get_basic_blocks (self, func)
 
def get_instructions (self, func)
 
def get_disassembly (self, func)
 
def get_pseudocode (self, func, remove_tags=True)
 
def get_signature (self, func)
 
def matches_signature (self, func, signature)
 
def create (self, ea)
 
def remove (self, ea)
 

Properties

 thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
 

Detailed Description

Provides access to function-related operations within the database.

Constructor & Destructor Documentation

◆ __init__()

def ida_domain.Functions.__init__ (   self,
  database 
)
__init__(self, database) -> Functions
Constructs a functions handler for the given database.

:param database: Reference to the active IDA database.

Member Function Documentation

◆ create()

def ida_domain.Functions.create (   self,
  ea 
)
create(self, ea) -> bool
Creates a new function at the specified address.

:param ea: The effective address to start the function.
:return: True if the function was successfully created, false otherwise.

◆ get_all()

def ida_domain.Functions.get_all (   self)
get_all(self) -> FunctionsIterator
Retrieves all functions in the database.

:return: A functions iterator covering the entire database range.

◆ get_at()

def ida_domain.Functions.get_at (   self,
  ea 
)
get_at(self, ea) -> func_t
Retrieves the function associated with the given address.

:param ea: An effective address within the function body.
:return: A pointer to the corresponding function (func_t*), or nullptr on failure.

◆ get_basic_blocks()

def ida_domain.Functions.get_basic_blocks (   self,
  func 
)
get_basic_blocks(self, func) -> BasicBlocksIterator
Retrieves the basic blocks that compose the given function.

:param func: The function instance.
:return: An iterator for the function's basic blocks.

◆ get_between()

def ida_domain.Functions.get_between (   self,
  start,
  end 
)
get_between(self, start, end) -> FunctionsIterator
Retrieves functions between specified addresses.

:param start: Start address of the range.
:param end: End address of the range.
:return: A functions iterator.

◆ get_disassembly()

def ida_domain.Functions.get_disassembly (   self,
  func 
)
get_disassembly(self, func) -> StringVector
Retrieves the disassembly lines for the given function.

:param func: The function instance.
:return: A vector of strings, each representing a line of disassembly.

◆ get_instructions()

def ida_domain.Functions.get_instructions (   self,
  func 
)
get_instructions(self, func) -> InstructionsIterator
Retrieves all instructions within the given function.

:param func: The function instance.
:return: An instruction iterator for the function.

◆ get_name()

def ida_domain.Functions.get_name (   self,
  func 
)
get_name(self, func) -> std::string
Retrieves the name of the given function.

:param func: The function instance.
:return: The function's name as a string, or an empty string on failure.

◆ get_pseudocode()

def ida_domain.Functions.get_pseudocode (   self,
  func,
  remove_tags = True 
)
get_pseudocode(self, func, remove_tags=True) -> StringVector
Retrieves the decompiled pseudocode of the given function.

:param func: The function instance.
:param remove_tags: Remove the tags, return a cleaned line.
:return: A vector of strings, each representing a line of pseudocode.

◆ get_signature()

def ida_domain.Functions.get_signature (   self,
  func 
)
get_signature(self, func) -> std::string
Retrieves the function's type signature.

:param func: The function instance.
:return: The signature as a string, or an empty string if unavailable.

◆ matches_signature()

def ida_domain.Functions.matches_signature (   self,
  func,
  signature 
)
matches_signature(self, func, signature) -> bool
Checks if a function matches the given signature.

:param func: The function instance.
:param signature: The signature string to compare.
:return: True if the function matches, false otherwise.

◆ remove()

def ida_domain.Functions.remove (   self,
  ea 
)
remove(self, ea) -> bool
Deletes the function at the specified address.

:param ea: The effective address of the function to remove.
:return: True if the function was successfully removed, false otherwise.

◆ set_name()

def ida_domain.Functions.set_name (   self,
  func,
  name 
)
set_name(self, func, name) -> bool
Renames the given function.

:param func: The function instance.
:param name: The new name to assign to the function.
:return: True on success, false otherwise.

Property Documentation

◆ thisown

ida_domain.Functions.thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
static