# IDAPython references > IDAPython references documentation Hex-Rays ## Pages - [IDAPython API Reference](index.html.md): IDAPython allows you to create custom scripts and plugins that enhance IDA’s core functionality. - [create_structure_programmatically](create_structure_programmatically/index.html.md): summary: create & populate a structure - [lines_rendering](lines_rendering/index.html.md): summary: dynamically colorize [parts of] lines - [operand_to_struct_member](operand_to_struct_member/index.html.md): summary: turn instruction operand into a structure offset - [prevent_jump](prevent_jump/index.html.md): summary: prevent an action from being triggered - [list_struct_xrefs](list_struct_xrefs/index.html.md): summary: list cross-references to a structure - [ida_registry](ida_registry/index.html.md): Registry related functions. - [init](init/index.html.md): | [`base`](#init.base) | | - [list_segment_functions_using_idautils](list_segment_functions_using_idautils/index.html.md): summary: list all functions (and cross-references) in segment - [insert_struct_member](insert_struct_member/index.html.md): summary: inject a member in the middle of a structure - [save_and_restore_listing_pos](save_and_restore_listing_pos/index.html.md): summary: save, and then restore, positions in a listing - [ida_segment](ida_segment/index.html.md): Functions that deal with segments. - [colorize_disassembly](colorize_disassembly/index.html.md): summary: assign a background color to an address, function & segment - [register_timer](register_timer/index.html.md): summary: use timers for delayed execution - [create_struct_by_parsing](create_struct_by_parsing/index.html.md): summary: create a structure by parsing its definition - [idc](idc/index.html.md): IDC compatibility module - [ida_bytes](ida_bytes/index.html.md): Contains functions that deal with individual byte characteristics. - [create_user_shared_data](create_user_shared_data/index.html.md): summary: create a segment, and define (complex) data in it - [apply_callee_tinfo](apply_callee_tinfo/index.html.md): summary: apply function prototype to call sites - [list_stkvar_xrefs](list_stkvar_xrefs/index.html.md): summary: list all xrefs to a function stack variable - [ida_merge](ida_merge/index.html.md): Merge functionality. - [curpos_details](curpos_details/index.html.md): summary: print information about the current position in decompilation - [vds6](vds6/index.html.md): summary: superficially modify the decompilation output - [setpehdr](setpehdr/index.html.md): summary: assign DOS/PE headers structures to a PE binary - [vds1](vds1/index.html.md): summary: decompile & print current function - [vds8](vds8/index.html.md): summary: improve decompilation by turning specific patterns into custom function calls - [vds_create_hint](vds_create_hint/index.html.md): summary: provide custom decompiler hints - [jump_next_comment](jump_next_comment/index.html.md): summary: implement a “jump to next comment” action within IDA’s listing - [choose](choose/index.html.md): summary: show tabular data - [ida_moves](ida_moves/index.html.md): | [`LSEF_PLACE`](#ida_moves.LSEF_PLACE) | ... - [create_libssh2_til](create_libssh2_til/index.html.md): summary: create a type library file - [func_chooser_coloring](func_chooser_coloring/index.html.md): summary: override the default “Functions” chooser colors - [ida_libfuncs](ida_libfuncs/index.html.md): | [`SIGN_HEADER_MAGIC`](#ida_libfuncs.SIGN_HEADER_MAGIC) | | - [py_cvt64_sample](py_cvt64_sample/index.html.md): summary: add 64-bit (.idb->.i64) conversion capabilities to custom plugins - [show_and_hide_waitbox](show_and_hide_waitbox/index.html.md): summary: show, update & hide the progress dialog - [ida_diskio](ida_diskio/index.html.md): File I/O functions for IDA. - [list_bookmarks](list_bookmarks/index.html.md): summary: list listing bookmarks - [ida_dbg](ida_dbg/index.html.md): Contains functions to control the debugging of a process. - [extract_addr_from_tagged_line](extract_addr_from_tagged_line/index.html.md): summary: extract embedded addresses from a tagged line - [list_segment_functions](list_segment_functions/index.html.md): summary: list segment functions (and cross-references to them) - [ida_ua](ida_ua/index.html.md): Functions that deal with the disassembling of program instructions. - [dump_selection](dump_selection/index.html.md): summary: retrieve & dump current selection - [decompile_entry_points](decompile_entry_points/index.html.md): summary: decompile entrypoint automatically - [vds7](vds7/index.html.md): summary: dump statement blocks - [ida_mergemod](ida_mergemod/index.html.md): Merge functionality for modules. - [ida_nalt](ida_nalt/index.html.md): Definitions of various information kept in netnodes. - [vds_xrefs](vds_xrefs/index.html.md): summary: show decompiler cross-references - [trigger_actions_programmatically](trigger_actions_programmatically/index.html.md): summary: trigger actions programmatically - [assemble](assemble/index.html.md): summary: implement assembly of instructions - [log_misc_events](log_misc_events/index.html.md): summary: react to UI events/notifications - [ida_name](ida_name/index.html.md): Functions that deal with names. - [ida_dirtree](ida_dirtree/index.html.md): Types involved in grouping of item into folders. - [create_bfstruct](create_bfstruct/index.html.md): summary: create a structure with bitfield members - [dump_line_sections](dump_line_sections/index.html.md): summary: parse listing line, and dump some information - [ida_ieee](ida_ieee/index.html.md): IEEE floating point functions. - [custom_viewer](custom_viewer/index.html.md): summary: create custom listings in IDA - [ida_frame](ida_frame/index.html.md): Routines to manipulate function stack frames, stack variables, register variables and local labels. - [colorize_disassembly_on_the_fly](colorize_disassembly_on_the_fly/index.html.md): summary: colorize lines interactively - [list_patched_bytes](list_patched_bytes/index.html.md): summary: enumerate patched bytes - [vds_hooks](vds_hooks/index.html.md): summary: react to decompiler events/notifications - [get_best_fit_member](get_best_fit_member/index.html.md): summary: get member by offset, taking into account variable sized structures - [idadex](idadex/index.html.md): | [`uint8`](#idadex.uint8) | | - [idaapi](idaapi/index.html.md): | [`cvar`](#idaapi.cvar) | | - [show_debug_names](show_debug_names/index.html.md): summary: dump symbols from a process being debugged - [automatic_steps](automatic_steps/index.html.md): summary: programmatically drive a debugging session - [py_mex1](py_mex1/index.html.md): summary: add merge functionality to a simple plugin - [ida_pro](ida_pro/index.html.md): This is the first header included in the IDA project. - [simple_appcall_common](simple_appcall_common/index.html.md): | [`appcall_hooks_t`](#simple_appcall_common.appcall_hooks_t) | | - [modify_struct_member](modify_struct_member/index.html.md): summary: modify structure members attributes programmatically - [ida_lumina](ida_lumina/index.html.md): | [`PAT_TYPE_UNKNOWN`](#ida_lumina.PAT_TYPE_UNKNOWN) ... - [print_registers](print_registers/index.html.md): summary: print all registers, for all threads in the debugged process - [ida_regfinder](ida_regfinder/index.html.md): | [`cvar`](#ida_regfinder.cvar) | | - [ida_fpro](ida_fpro/index.html.md): System independent counterparts of FILE\* related functions from Clib. - [ida_idd](ida_idd/index.html.md): Contains definition of the interface to IDD modules. - [ida_idaapi](ida_idaapi/index.html.md): | [`BADADDR`](#ida_idaapi.BADADDR) | ... - [ida_idc](ida_idc/index.html.md): | [`mark_position`](#ida_idc.mark_position)(→ None) | | - [ida_entry](ida_entry/index.html.md): Functions that deal with entry points. - [operand_changed](operand_changed/index.html.md): summary: notify the user when an instruction operand changes - [indexer_substring_search](indexer_substring_search/index.html.md): summary: search the IDA indexer for a name (substring match) - [ida_gdl](ida_gdl/index.html.md): Low level graph drawing operations. - [dscu_query](dscu_query/index.html.md): summary: query a Dyld Shared Cache (DSC) from IDAPython - [sync_two_graphs](sync_two_graphs/index.html.md): summary: follow the movements of one graph, in another - [create_union_by_member](create_union_by_member/index.html.md): summary: create a union - [serialize](serialize/index.html.md): summary: serialize and deserialize the decompilation output - [show_selected_strings](show_selected_strings/index.html.md): summary: retrieve the selection from the “Strings” window - [vds13](vds13/index.html.md): summary: generate microcode for the selected range of instructions - [colorize_pseudocode_lines](colorize_pseudocode_lines/index.html.md): summary: interactively color decompilation lines - [ida_fixup](ida_fixup/index.html.md): Functions that deal with fixup information. - [inject_command](inject_command/index.html.md): summary: inject commands in the “Output” window - [ida_netnode](ida_netnode/index.html.md): Functions that provide the lowest level public interface to the database. Namely, we use Btree. To l... - [choose_with_checkboxes](choose_with_checkboxes/index.html.md): summary: a flat list, with checkboxes - [vds12](vds12/index.html.md): summary: list instruction registers - [ida_idp](ida_idp/index.html.md): Contains definition of the interface to IDP modules. - [ida_graph](ida_graph/index.html.md): Graph view management. - [paint_over_graph](paint_over_graph/index.html.md): summary: paint text on graph view edges - [choose_multi](choose_multi/index.html.md): summary: show tabular data, with multiple selection - [create_bmenum](create_bmenum/index.html.md): summary: create a bitmask enumeration - [custom_data_types_and_formats](custom_data_types_and_formats/index.html.md): summary: custom data types & printers - [produce_lst_file](produce_lst_file/index.html.md): summary: produce disassembly listing for the entire file - [gap_size_align_snippet](gap_size_align_snippet/index.html.md): summary: utilities to detect structure gaps & alignment - [import_type_from_til](import_type_from_til/index.html.md): summary: load a type library from a file, and then a type from it - [ida_bitrange](ida_bitrange/index.html.md): Definition of the bitrange_t class. - [mark_func_spoiled](mark_func_spoiled/index.html.md): summary: mark a register “spoiled” by a function - [ida_loader](ida_loader/index.html.md): Definitions of IDP, LDR, PLUGIN module interfaces. - [custom_calling_convention](custom_calling_convention/index.html.md): summary: implement a custom calling convention - [ida_strlist](ida_strlist/index.html.md): Functions that deal with the string list. - [log_idp_events](log_idp_events/index.html.md): summary: react to processor events/notifications - [ida_xref](ida_xref/index.html.md): Functions that deal with cross-references (xrefs). - [ida_hexrays](ida_hexrays/index.html.md): There are 2 representations of the binary code in the decompiler: - [ida_funcs](ida_funcs/index.html.md): Routines for working with functions within the disassembled program. - [paint_over_navbar](paint_over_navbar/index.html.md): summary: paint on top of the navigation band - [add_hotkey](add_hotkey/index.html.md): summary: assign a shortcut to a custom function - [dump_flowchart_ea](dump_flowchart_ea/index.html.md): summary: dump function flowchart, new API - [ana_emu_out](ana_emu_out/index.html.md): summary: rewrite the representation of some instructions - [dump_extra_comments](dump_extra_comments/index.html.md): summary: retrieve comments surrounding instructions - [serialize_minsn](serialize_minsn/index.html.md): summary: serialize and deserialize a microcode instruction (minsn_t) - [dbg_trace](dbg_trace/index.html.md): summary: react to trace notifications - [operand_to_field_path](operand_to_field_path/index.html.md): summary: turn an instruction operand into a structure-field reference by name - [func_ti_changed_listener](func_ti_changed_listener/index.html.md): summary: print notifications about function prototype changes - [print_call_stack](print_call_stack/index.html.md): summary: print call stack - [visit_tinfo](visit_tinfo/index.html.md): summary: recursively visit a type and its members - [vds5](vds5/index.html.md): summary: dump C-tree graph - [list_problems](list_problems/index.html.md): summary: enumerate known problems - [change_stkvar_type](change_stkvar_type/index.html.md): summary: change the type & name of a function stack frame variable - [simple_appcall_linux](simple_appcall_linux/index.html.md): summary: execute code into the application being debugged (on Linux) - [list_strings](list_strings/index.html.md): summary: dump the strings that are present in the file - [list_struct_accesses](list_struct_accesses/index.html.md): summary: list operands representing a “path” to a (possibly nested) structure member - [actions](actions/index.html.md): summary: custom actions, with icons & tooltips - [idapythonrc](idapythonrc/index.html.md): summary: code to be run right after IDAPython initialization - [ida_search](ida_search/index.html.md): Middle-level search functions. - [ida_offset](ida_offset/index.html.md): Functions that deal with offsets. - [func_chooser](func_chooser/index.html.md): summary: implement an alternative “Functions” window - [vds4](vds4/index.html.md): summary: dump user-defined information for a function - [ida_indexer](ida_indexer/index.html.md): Indexer API: search functions, names, local types, segments and function comments. - [vds3](vds3/index.html.md): summary: invert if/else blocks in decompilation - [list_imports](list_imports/index.html.md): summary: enumerate file imports - [wrap_idaview](wrap_idaview/index.html.md): summary: programmatically manipulate disassembly and graph widgets - [simple_appcall_win](simple_appcall_win/index.html.md): summary: execute code into the application being debugged (on Windows) - [create_array](create_array/index.html.md): summary: create an array type - [ida_srclang](ida_srclang/index.html.md): Third-party compiler support. - [list_function_items](list_function_items/index.html.md): summary: showcase (some of) the iterators available on a function - [ida_lines](ida_lines/index.html.md): High level functions that deal with the generation of the disassembled text lines. - [populate_pluginform_with_pyqt_widgets](populate_pluginform_with_pyqt_widgets/index.html.md): summary: create a dockable container, and populate it with Qt widgets - [vds_modify_user_lvars](vds_modify_user_lvars/index.html.md): summary: modifying function local variables - [py_mex3](py_mex3/index.html.md): summary: implement merging functionality for custom plugins - [custom_graph_with_actions](custom_graph_with_actions/index.html.md): summary: draw custom graphs - [log_idb_events](log_idb_events/index.html.md): summary: react to database events/notifications - [create_struct_by_member](create_struct_by_member/index.html.md): summary: create a structure programmatically - [replay_prototypes_changes](replay_prototypes_changes/index.html.md): summary: record and replay changes in function prototypes - [install_user_defined_prefix](install_user_defined_prefix/index.html.md): summary: insert information into listing prefixes - [ida_typeinf](ida_typeinf/index.html.md): Type information in IDA. - [ida_dscu](ida_dscu/index.html.md): Apple Dyld Shared Cache (DSC) API. - [dump_flowchart](dump_flowchart/index.html.md): summary: dump function flowchart - [ida_tryblks](ida_tryblks/index.html.md): Architecture independent exception handling info. - [del_struct_members](del_struct_members/index.html.md): summary: delete structure members that fall within an offset range - [find_string](find_string/index.html.md): summary: using “ida_bytes.find_string” - [add_frame_member](add_frame_member/index.html.md): summary: add a new member to an existing function frame - [list_struct_member](list_struct_member/index.html.md): summary: list structure members - [custom_cli](custom_cli/index.html.md): summary: add a custom command-line interpreter - [list_enum_member](list_enum_member/index.html.md): summary: print enumeration members - [list_func_details](list_func_details/index.html.md): summary: list database functions prototypes - [add_menus](add_menus/index.html.md): summary: add custom menus to IDA - [ida_auto](ida_auto/index.html.md): Functions that work with the autoanalyzer queue. - [ida_problems](ida_problems/index.html.md): Functions that deal with the list of problems. - [auto_instantiate_widget_plugin](auto_instantiate_widget_plugin/index.html.md): summary: restore custom widgets across sessions - [vds19](vds19/index.html.md): summary: add a custom microcode instruction optimization rule - [list_union_member](list_union_member/index.html.md): summary: list union members - [lumina_model](lumina_model/index.html.md): | [`dquot_escaped_str`](#lumina_model.dquot_escaped_str) | | - [vds21](vds21/index.html.md): summary: dynamically provide a custom call type - [extend_idc](extend_idc/index.html.md): summary: add functions to the IDC runtime, from IDAPython - [vds17](vds17/index.html.md): summary: invoke the structure offset-choosing dialog from decompilation - [idautils](idautils/index.html.md): idautils.py - High level utility functions for IDA - [open_ida_link](open_ida_link/index.html.md): summary: navigate to entities using ida:// links - [vds10](vds10/index.html.md): summary: add custom microcode instruction optimization rule - [ida_kernwin](ida_kernwin/index.html.md): Defines the interface between the kernel and the UI. - [ida_undo](ida_undo/index.html.md): | [`create_undo_point`](#ida_undo.create_undo_point)(→ bool) | Create a new rest... - [dump_func_info](dump_func_info/index.html.md): summary: dump function information - [ida_segregs](ida_segregs/index.html.md): Functions that deal with the segment registers. - [change_stkvar_name](change_stkvar_name/index.html.md): summary: change the name of an existing stack variable - [produce_c_file](produce_c_file/index.html.md): summary: produce C listing for the entire file - [vds11](vds11/index.html.md): summary: add a custom microcode block optimization rule - [get_innermost_member](get_innermost_member/index.html.md): summary: get information about the “innermost” member of a structure - [print_stkvar_xrefs](print_stkvar_xrefs/index.html.md): summary: list cross-references to function stack frame variables - [ida_expr](ida_expr/index.html.md): Functions that deal with C-like expressions and built-in IDC language. - [askusingform](askusingform/index.html.md): summary: advanced usage of the form API - [ida_range](ida_range/index.html.md): Contains the definition of range_t. - [list_frame_info](list_frame_info/index.html.md): summary: print function stack frame information - [registers_context_menu](registers_context_menu/index.html.md): summary: add a custom action to the “registers” widget - [ida_ida](ida_ida/index.html.md): Contains the ::inf structure definition and some functions common to the whole IDA project.