IDA Domain Python API
ida_domain.IdaCommandBuilder Class Reference

Inherits object.

Public Member Functions

def __init__ (self)
 
def use_text_mode (self)
 
def auto_analysis (self, enabled=True)
 
def autonomous (self, enabled=True)
 
def set_loading_address (self, address)
 
def new_database (self, enabled=True)
 
def set_compiler (self, *args)
 
def add_first_pass_directive (self, directive)
 
def add_second_pass_directive (self, directive)
 
def disable_fpp_instructions (self, disabled=True)
 
def set_entry_point (self, address)
 
def set_jit_debugger (self, enabled=True)
 
def set_log_file (self, filename)
 
def disable_mouse (self, disabled=True)
 
def set_output_database (self, path)
 
def set_processor (self, processor_type)
 
def compress_database (self)
 
def pack_database (self)
 
def no_pack_database (self)
 
def run_debugger (self, *args)
 
def load_resources (self, enabled=True)
 
def set_file_type (self, *args)
 
def empty_database (self, enabled=True)
 
def set_windows_directory (self, directory)
 
def no_segmentation (self, enabled=True)
 
def build_args (self)
 
def get_auto_analysis (self)
 
def run_script (self, script_file, args=None)
 
def set_debug_flags (self, flags)
 

Properties

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

Detailed Description

Class to build and manage IDA command line options. Provides a fluent interface to set options and generate command lines for IDA Pro/IDA Free based on the available command line switches.

Constructor & Destructor Documentation

◆ __init__()

def ida_domain.IdaCommandBuilder.__init__ (   self)
__init__(self) -> IdaCommandBuilder
Initialize IDA command line options.

Member Function Documentation

◆ add_first_pass_directive()

def ida_domain.IdaCommandBuilder.add_first_pass_directive (   self,
  directive 
)
add_first_pass_directive(self, directive) -> IdaCommandBuilder
Add a configuration directive processed at first pass.

:param directive: Directive string (e.g., "VPAGESIZE=8192")
:return: Reference to this object for method chaining

◆ add_second_pass_directive()

def ida_domain.IdaCommandBuilder.add_second_pass_directive (   self,
  directive 
)
add_second_pass_directive(self, directive) -> IdaCommandBuilder
Add a configuration directive processed at second pass.

:param directive: Directive string
:return: Reference to this object for method chaining

◆ auto_analysis()

def ida_domain.IdaCommandBuilder.auto_analysis (   self,
  enabled = True 
)
auto_analysis(self, enabled=True) -> IdaCommandBuilder
Enable or disable auto analysis.

:param enabled: True to enable, false to disable
:return: Reference to this object for method chaining

◆ autonomous()

def ida_domain.IdaCommandBuilder.autonomous (   self,
  enabled = True 
)
autonomous(self, enabled=True) -> IdaCommandBuilder
Enable or disable autonomous mode (no dialog boxes).

:param enabled: True to enable, false to disable
:return: Reference to this object for method chaining

◆ build_args()

def ida_domain.IdaCommandBuilder.build_args (   self)
build_args(self) -> std::string
Build the command line arguments based on the set options.

:return: The command line arguments as a string

◆ compress_database()

def ida_domain.IdaCommandBuilder.compress_database (   self)
compress_database(self) -> IdaCommandBuilder
Compress database (create zipped idb).

:return: Reference to this object for method chaining

◆ disable_fpp_instructions()

def ida_domain.IdaCommandBuilder.disable_fpp_instructions (   self,
  disabled = True 
)
disable_fpp_instructions(self, disabled=True) -> IdaCommandBuilder
Disable FPP instructions (IBM PC only).

:param disabled: True to disable, false to enable
:return: Reference to this object for method chaining

◆ disable_mouse()

def ida_domain.IdaCommandBuilder.disable_mouse (   self,
  disabled = True 
)
disable_mouse(self, disabled=True) -> IdaCommandBuilder
Disable mouse (text mode only).

:param disabled: True to disable, false to enable
:return: Reference to this object for method chaining

◆ empty_database()

def ida_domain.IdaCommandBuilder.empty_database (   self,
  enabled = True 
)
empty_database(self, enabled=True) -> IdaCommandBuilder
Create an empty database.

:param enabled: True to enable, false to disable
:return: Reference to this object for method chaining

◆ get_auto_analysis()

def ida_domain.IdaCommandBuilder.get_auto_analysis (   self)
get_auto_analysis(self) -> bool
Get auto-analysis option status.

:return: True if auto-analysis is enabled

◆ load_resources()

def ida_domain.IdaCommandBuilder.load_resources (   self,
  enabled = True 
)
load_resources(self, enabled=True) -> IdaCommandBuilder
Load MS Windows exe file resources.

:param enabled: True to enable, false to disable
:return: Reference to this object for method chaining

◆ new_database()

def ida_domain.IdaCommandBuilder.new_database (   self,
  enabled = True 
)
new_database(self, enabled=True) -> IdaCommandBuilder
Disassemble a new file (delete old database).

:param enabled: True to enable, false to disable
:return: Reference to this object for method chaining

◆ no_pack_database()

def ida_domain.IdaCommandBuilder.no_pack_database (   self)
no_pack_database(self) -> IdaCommandBuilder
Do not pack database (not recommended).

:return: Reference to this object for method chaining

◆ no_segmentation()

def ida_domain.IdaCommandBuilder.no_segmentation (   self,
  enabled = True 
)
no_segmentation(self, enabled=True) -> IdaCommandBuilder
Do not create segmentation (used with Dump database command).

:param enabled: True to enable, false to disable
:return: Reference to this object for method chaining

◆ pack_database()

def ida_domain.IdaCommandBuilder.pack_database (   self)
pack_database(self) -> IdaCommandBuilder
Pack database (create unzipped idb).

:return: Reference to this object for method chaining

◆ run_debugger()

def ida_domain.IdaCommandBuilder.run_debugger (   self,
args 
)
run_debugger(self, options="") -> IdaCommandBuilder
Immediately run the built-in debugger with optional parameters.

:param options: Optional debugger parameters
:return: Reference to this object for method chaining

◆ run_script()

def ida_domain.IdaCommandBuilder.run_script (   self,
  script_file,
  args = None 
)
Python-friendly run_script that accepts lists

◆ set_compiler()

def ida_domain.IdaCommandBuilder.set_compiler (   self,
args 
)
set_compiler(self, name, abi="") -> IdaCommandBuilder
Set compiler in format name:abi.

:param name: Compiler name
:param abi: Optional ABI specification
:return: Reference to this object for method chaining

◆ set_debug_flags()

def ida_domain.IdaCommandBuilder.set_debug_flags (   self,
  flags 
)
Python-friendly set_debug_flags that accepts lists or ints

◆ set_entry_point()

def ida_domain.IdaCommandBuilder.set_entry_point (   self,
  address 
)
set_entry_point(self, address) -> IdaCommandBuilder
Set program entry point (hex).

:param address: Entry point address
:return: Reference to this object for method chaining

◆ set_file_type()

def ida_domain.IdaCommandBuilder.set_file_type (   self,
args 
)
set_file_type(self, file_type, member="") -> IdaCommandBuilder
Interpret the input file as the specified file type.

:param file_type: File type prefix as seen in 'load file' dialog
:param member: Optional archive member (e.g., "classes.dex" for ZIP)
:return: Reference to this object for method chaining

◆ set_jit_debugger()

def ida_domain.IdaCommandBuilder.set_jit_debugger (   self,
  enabled = True 
)
set_jit_debugger(self, enabled=True) -> IdaCommandBuilder
Set IDA as just-in-time debugger.

:param enabled: True to enable, false to disable
:return: Reference to this object for method chaining

◆ set_loading_address()

def ida_domain.IdaCommandBuilder.set_loading_address (   self,
  address 
)
set_loading_address(self, address) -> IdaCommandBuilder
Set loading address in paragraphs (hexadecimal).

:param address: Loading address in paragraphs (16 bytes each)
:return: Reference to this object for method chaining

◆ set_log_file()

def ida_domain.IdaCommandBuilder.set_log_file (   self,
  filename 
)
set_log_file(self, filename) -> IdaCommandBuilder
Set the name of the log file.

:param filename: Log file name
:return: Reference to this object for method chaining

◆ set_output_database()

def ida_domain.IdaCommandBuilder.set_output_database (   self,
  path 
)
set_output_database(self, path) -> IdaCommandBuilder
Specify the output database (implies -c).

:param path: Path to the output database
:return: Reference to this object for method chaining

◆ set_processor()

def ida_domain.IdaCommandBuilder.set_processor (   self,
  processor_type 
)
set_processor(self, processor_type) -> IdaCommandBuilder
Set processor type.

:param processor_type: Processor type string
:return: Reference to this object for method chaining

◆ set_windows_directory()

def ida_domain.IdaCommandBuilder.set_windows_directory (   self,
  directory 
)
set_windows_directory(self, directory) -> IdaCommandBuilder
Specify MS Windows directory.

:param directory: Windows directory path
:return: Reference to this object for method chaining

◆ use_text_mode()

def ida_domain.IdaCommandBuilder.use_text_mode (   self)
use_text_mode(self) -> IdaCommandBuilder
Use idat (text interface) instead of ida.

:return: Reference to this object for method chaining

Property Documentation

◆ thisown

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