LogoLogo
IDA 9.0sp1
IDA 9.0sp1
  • Welcome to Hex-Rays docs
    • What's new?
  • Getting Started
    • Install IDA
    • Licensing
    • Basic Usage
    • What's next?
  • User Guide
    • User Interface
      • Menu Bar
        • File
          • Load file
          • Script File
          • Script command
          • Produce output files
          • Invoke OS Shell
          • Take database snapshot
          • Save database
          • Save database as...
          • Abort IDA
          • Exit IDA
        • Edit
          • Export data
          • Undo an action
          • Redo an action
          • Clear undo history
          • Disable undo
          • Convert to instruction
          • Convert to data
          • Convert to string literal
          • Convert to array
          • Undefine a byte
          • Give Name to the Location
          • Operand types
            • Offset
            • Number
            • Perform en masse operation
            • Convert operand to character
            • Convert operand to segment
            • Complex Offset Expression
            • Convert operand to symbolic constant (enum)
            • Convert operand to stack variable
            • Change operand sign
            • Bitwise negate operand
            • User-defined operand
            • Set operand type
          • Comments
          • Functions
          • Structs
          • Segments
          • Patch core
          • Other
            • Rename Any Address
          • Plugins
        • Jump
          • Center current line in window
          • Problems List
        • Search
          • REGULAR EXPRESSION SYNTAX SUMMARY
        • View
          • Open subviews
          • Graphs
          • Message Window
          • Arrows window
          • Database snapshot manager
          • Highlighting identifiers
          • Browser options
          • Lumina options
          • Assembler level and C level types
          • C++ type details
          • Bookmarks window
          • Calculator
          • View segment registers
          • View Internal Flags
          • Hide
          • Unhide
          • Del hidden range
          • Hide all items
          • Unhide all items
          • Setup hidden items
        • Debugger
          • Debugger window
          • Process Control
            • Start process
            • Process options
            • Pause process
            • Terminate process
            • Step into
            • Step over
            • Run to cursor
            • Run until return
            • Attach to process
            • Detach from process
            • Set current ip
            • Show application screen
          • Breakpoints
          • Watches
          • Tracing
          • Source code view
            • Watch view (source level)
          • Process Memory
            • Take memory snapshot
            • Manual memory regions
            • Refresh memory
          • Thread list
          • Module list
          • Stack trace
          • Exceptions
          • Debugger options
          • Switch debugger
        • Lumina
        • Options
          • Low & High Suspicious Operand Limits
        • Windows
          • Rename a stack variable
          • Miscellanous Options
          • Environment variables
          • Reset Hidden Messages
          • Various dialog help messages
        • List of all menu options
      • Desktops
      • Command line
      • How To Use List Viewers in IDA
      • Database conversion from idb to i64
    • Disassembler
      • Interactivity
      • Background Analysis
      • Graph view
        • Graphing tutorial
      • Proximity view
      • Navigation
        • Anchor
        • How to Enter a Segment Value
        • How to Enter a Number
        • How to Enter an Identifier
        • How to enter text
        • How to Enter an Address
      • Disassembly Gallery
        • Philips 51XA-G3
        • 6502 and 65C02 Disassembler
        • 6301, 6303, 6800, 6801 and 6803 Disassembler
        • 68040, Amiga
        • 6805 Disassembler
        • 6808 Disassembler
        • 6809 OS9 Flex Disassembler
        • 6809 Disassembler
        • 6811 Disassembler
        • 68HC12 Disassembler
        • 68HC16 Disassembler
        • 68k Amiga Disassembler
        • 68k Mac OS
        • 68k Palm Pilot
        • Unix COFF
        • NEC 78k0 and 78k0s Processor
        • 80196 Processor
        • 8051 Disassembler
        • Analog Devices 218x.
        • Alpha Processor – NT COFF
        • Alpha Processor – Unix ELF
        • Android ARM Executables (.elf)
        • ARC Processor
        • ARM Processor EPOC App
        • ARM Processor EPOC PE File
        • ARM Processor EPOC ROMFile
        • EPOC SIS File Handler
        • ARM Processor iOS (iPhone): Unlock
        • ARM Processor iOS (iPhone): Objective-C metadata
        • ARM Processor iOS (iPhone): Objective-C Instance variables
        • ARM Processor iOS (iPhone): Parameter Identification & Tracking (PIT)
        • ARM Processor iOS (iPhone): Start
        • ARM Processor iOS (iPhone): Switch statements
        • ARM Processor iOS (iPhone): C++ signatures
        • ARM Processor iOS (iPhone): Write
        • ARM Processor: Linux ELF
        • ARM Processor: AOF SDK
        • ARM Processor: Windows CE COFF Format
        • ARM Processor: Windows CE PE Format
        • ATMEL AVR Disassembler
        • C166 Processor
        • C166 Processor with ELF file
        • Rockwell C39
        • Microsoft .NET CLI Disassembler. VisualBasic library
        • CR16
        • Android Dalvik Executables (.dex)
        • Microsoft .NET CLI Disassembler
        • DSP56K
        • Fujitsu FR (.elf)
        • Gameboy
        • H8 300: COFF FILE Format
        • H8 300s: COFF FILE Format
        • H8 500
        • HPPA Risc Processor: HP-UX SOM
        • i51
        • i860
        • Intel i960
        • Intel IA-64 (Itanium)
        • Java Bytecode
        • Angstrem KR 1878
        • Renesas/Hitachi M16C
        • Renesas/Hitachi M32R
        • M740
        • M7700
        • M7900
        • MIPS Processor: Nintendo N64
        • MIPS R5900 Processor : Sony bin
        • MIPS Processor: Sony ELF
        • MIPS Processor: Sony PSX
        • MIPS Processor: Sony PSX
        • MIPS Processor: Unix COFF File Format
        • MIPS Processor: Unix ELF File Format
        • MIPS Processor: Windows CE PE File Format
        • MIPS Processor: Windows CE PE2 File Format
        • Panasonic MN102
        • Atmel OAK DSP
        • 80×86 Architecture: DOS Extender
        • 80×86 Architecture: Watcom Runtime
        • 80×86 Architecture: Geos APP
        • 80×86 Architecture: Geos DRV
        • 80×86 Architecture: Geos LIB
        • 80×86 Architecture: GNU COFF Format
        • 80×86 Architecture: OS/2 Linear Executable Format
        • 80×86 Architecture: Netware NLM
        • 80×86 Architecture: QNX Executable
        • 80×86 Architecture: Watcom Runtime
        • 80×86 Architecture: Windows OMF
        • 80×86 Architecture: Windows Portable Executable Format
        • 80×86 Architecture: Windows Virtual Device Driver
        • 80×86 Architecture: Windows 16 bits DLL
        • X-Box Disassembler
        • PDP 11: SAV File
        • PIC
        • PIC 12xx
        • Power PC AIF ECOFF file Format
        • Power PC Linux ELF
        • Mac OS PEF File
        • Mac OS X File
        • Windows NT PE File
        • Hitachi SH-1 Processor
        • Hitachi SH-3 Processor: Windows CE COFF format
        • Hitachi SH-3 Processor: Windows CE PE format
        • Hitachi SH-4 Processor: ELF File Format
        • Hitachi SH-4 Processor: Windows CE PE File Format
        • Super Nintendo Entertainement System (SNES)
        • SPARC Solaris COFF
        • SPARC Solaris ELF
        • SPARC Sun ELF
        • SPARC Sun ELF SO
        • ST 20C4
        • ST 7
        • ST 9
        • Toshiba TLCS 900
        • TMS 320c2 COFF
        • TMS 320c5
        • TMS 320c54
        • TMS 320c6 COFF File Format
        • TRICORE
        • SunPlus unSP
        • NEC V850
        • Z180 COFF File Format
        • Z380 COFF File Format
        • Z8
        • Z80
      • Supported processors
      • Supported file formats
        • Windmp file loader
      • Bitfields
        • Bit Fields tutorial
      • Structures tutorial
      • Union tutorial
      • Variable length structures tutorial
      • Data types, operands and constructs
      • Packed executables
    • Decompiler
      • Prerequisites
      • Quick primer
      • Exception handler
      • Introduction to Decompilation vs. Disassembly
        • Comparisons of ARM disassembly and decompilation
        • Comparisons of PowerPC disassembly and decompilation
        • Comparisons of MIPS disassembly and decompilation
        • Hex-Rays v7.4 vs. v7.3 Decompiler Comparison Page
        • Hex-Rays v7.3 vs. v7.2 Decompiler Comparison Page
        • Hex-Rays v7.2 vs. v7.1 Decompiler Comparison Page
      • Interactive operation
        • Rename
        • Set type
        • Set number representation
        • Edit indented comment
        • Edit block comment
        • Hide/unhide C statements
        • Split/unsplit expression
        • Force call type
        • Set call type
        • Add/del variadic arguments
        • Del function argument
        • Add/delete function return type
        • Jump to cross reference
        • Jump to cross reference globally
        • Generate HTML file
        • Mark/unmark as decompiled
        • Copy to assembly
        • Show/hide casts
        • Reset pointer type
        • Convert to struct *
        • Create new struct type
        • Split variable
        • Select union field
        • Jump to paired paren
        • Collapse/uncollapse item
        • Map to another variable
      • Batch operation
      • Configuration
      • Third party plugins
      • Floating point support
      • Support for intrinsic functions
      • Overlapped variables
      • gooMBA
      • Failures and troubleshooting
      • FAQ
      • Limitations
      • Tips and tricks
    • Debugger
      • Instant debugger
      • Remote debugging
        • Remote iOS Debugger
        • Android debugger
        • Dalvik debugger
        • Remote GDB Debugger
          • Remote GDB Debugger options
          • Debugging with gdbserver
          • Debugging with VMWare
          • Debugging with OpenOCD
          • Debugging with QEMU
          • External programs and GDB Debugger
          • Debugging code snippets with QEMU
        • PIN debugger
          • Building the PIN tool
          • Connecting a remote PIN tool instance from IDA
          • PIN support for MacOSX
        • Replayer debugger
        • Bochs debugger
          • Bochs Disk Image operation mode
          • Bochs IDB operation mode
          • Bochs PE operation mode
          • Bochs debugger FAQ
      • Local debugging
        • WinDbg Debugger
        • Linux debugger
        • Intel/ARM macOS debugger
      • Debugger tutorials
        • Debugging Dalvik Programs
        • IDA Win32 Local Debugging
        • IDA Linux Local Debugging
        • IDA Linux to Win64 Debugging
        • IDA Win32 to Linux Debugging
        • Debugging Mac OSX Applications with IDA Pro
        • Debugging iOS Applications using CoreDevice (iOS 17 and up)
        • Debugging iOS Applications with IDA Pro
        • Debugging Linux Applications locally
        • Debugging Linux/Windows Applications with PIN Tracer module
        • Debugging Windows Applications with IDA Bochs Plugin
        • Debugging Windows Applications with IDA WinDbg Plugin
        • Using the Bochs debugger plugin in Linux
        • Debugging Windows Kernel with VMWare and IDA WinDbg Plugin
        • Debugging Linux Kernel under VMWare using IDA GDB debugger
        • Windows Debugger Hub
        • Linux Debugger
        • Debugging a Windows executable locally and remotely
        • Debugging the XNU Kernel with IDA Pro
        • Remote debugging with IDA Pro
        • IDA Scriptable Debugger: overview
          • IDA Scriptable Debugger: scriptability
        • Debugging code snippets with QEMU debugger (a la IDA Bochs debugger)
        • Trace Replayer and managing traces
        • Using IDA Pro's tracing features
        • Working with PIN
        • Appcall
    • Creating Signatures
      • FLIRT
        • IDA F.L.I.R.T. Technology: In-Depth
        • Generate FLIRT signature file
        • Supported Compilers
          • Turbo Pascal
          • Delphi
      • Makesig
    • Types
      • Creating Type Libraries
        • IDAClang
        • TILIB
    • Configuration
      • Configuration files
      • Command line switches
      • Keyboard macros
      • UI/Fonts/Themes
      • Shortcuts
      • Customizing IDA
      • CSS-based styling
    • Teams
      • IDA Teams Licenses
      • Diffing and Merging Databases with IDA Teams
      • Teams lc command reference manual
      • hv command reference manual
      • Hex-Rays Vault’s visual client user manual
    • Lumina
      • lc command reference manual
    • Plugins
      • Open Plugin Architecture
      • Plugin options
      • Plugins Shipped with IDA
        • Swift plugin
        • Golang plugin
        • Rust plugin
        • picture_search
        • Objective-C Analysis Plugin
        • DYLD Shared Cache Utils
        • Borland RTTI descriptors plugin
        • DWARF plugin
        • Patfind plugin
        • IDA Feeds
          • FLIRT Signature Bundle
      • Plugin Contest
      • How to write your own plugin?
    • Helper Tools
    • idalib
    • Licenses
      • Apache License for Ghidra
      • Apache License for LLVM
      • Common Public License Version 1.0
      • APPLE PUBLIC SOURCE LICENSE
      • PCRE2 LICENCE
      • GNU Lesser General Public License v2.1 for libiberty
    • Floating licenses
  • Developer Guide
    • C++ SDK
      • Getting Started
      • Reference
      • Using the Decompiler SDK: Decompiler plugin
      • Examples
      • How to create a plugin?
      • Porting Guide from IDA 8.x to 9.0
    • IDAPython
      • Getting Started
      • Reference
      • Examples
      • How to create a plugin?
      • Porting Guide from IDA 8.x to 9.0
    • IDC
      • Core concepts
        • Expressions
        • Statements
        • Functions
        • Variables
        • Constants
        • Exceptions
        • Classes
        • Predefined symbols
        • loader_input_t class
        • Slices
      • Reference
        • Index of debugger related IDC functions
        • Alphabetical list of IDC functions
          • is_member_id
          • load_type
          • get_member_by_idx
          • get_ordinal_limit
          • set_selector
          • enable_tracing
          • get_prev_fixup_ea
          • del_segm
          • get_bmask_cmt
          • end_type_updating
          • Find
          • toggle_bnot
          • patch_byte
          • get_module_info
          • set_member_name
          • create_float
          • del_struc_member
          • read_dbg_memory
          • get_enum_width
          • getn_thread_name
          • del_struc
          • filelength
          • set_manual_insn
          • is_value...() functions
          • get_ip_val
          • del_extra_cmt
          • create_insn
          • op_offset_high16
          • get_cmt
          • expand_struc
          • get_idb_path
          • set_frame_size
          • get_file_ext
          • has_value
          • readshort
          • sanitize_file_name
          • get_member_flag
          • create_struct
          • ARM specific
          • set_enum_member_cmt
          • rename
          • set_ida_state
          • get_member_size
          • msg
          • qbasename
          • get_enum_member_enum
          • auto_mark_range
          • plan_to_apply_idasgn
          • set_named_type
          • op_offset
          • rename_entry
          • strlen
          • get_extra_cmt
          • get_enum_flag
          • fgetc
          • op_stkvar
          • get_last_index
          • get_field_ea
          • get_struc_id
          • select_thread
          • create_array
          • get_struc_cmt
          • set_array_string
          • set_func_attr
          • set_storage_type
          • get_struc_size
          • demangle_name
          • get_next_fixup_ea
          • get_next_bmask
          • delattr
          • gen_simple_call_chart
          • patch_qword
          • get_enum_name
          • loader_input_t.getc
          • get_debugger_event_cond
          • read_dbg_qword
          • define_local_var
          • generate_disasm_line
          • add_idc_hotkey
          • tolower
          • del_selector
          • set_debugger_event_cond
          • get_imagebase
          • gen_file
          • get_entry
          • find_custom_data_format
          • get_debug_name_ea
          • add_default_til
          • set_func_end
          • exit_process
          • delete_array
          • xtol
          • get_exception_code
          • detach_process
          • set_enum_cmt
          • get_wide_word
          • put_bookmark
          • is_loaded
          • add_enum_member
          • parse_decls
          • readstr
          • get_entry_qty
          • ord
          • sprintf
          • get_root_filename
          • get_enum_member_cmt
          • create_word
          • set_func_flags
          • loader_input_t.tell
          • create_align
          • read_dbg_dword
          • next_addr
          • get_bytes
          • batch
          • start_process
          • process_config_line
          • del_user_info
          • qmakefile
          • set_struc_name
          • print_decls
          • create_custom_data
          • del_enum_member
          • format_cdata
          • get_fixup_target_sel
          • get_item_size
          • loader_input_t.gets
          • get_last_bmask
          • Step Tracing Options
          • selector_by_name
          • get_enum_cmt
          • next_not_tail
          • prev_head
          • set_color
          • set_numbered_type
          • get_member_name
          • auto_wait
          • get_enum_member_bmask
          • fseek
          • get_segm_start
          • attach_process
          • Trace file functions
          • get_enum_member_value
          • op_stroff
          • get_next_offset
          • set_processor_type
          • get_bookmark_desc
          • create_data
          • lastattr
          • get_operand_value
          • collect_stack_trace
          • toupper
          • get_fixup_target_dis
          • set_cmt
          • add_entry
          • set_segm_addressing
          • qmake_full_path
          • get_source_linnum
          • fputc
          • resume_thread
          • get_func_attr
          • get_first_enum_member
          • add_sourcefile
          • get_first_bmask
          • read_selection_start
          • hasattr
          • get_member_cmt
          • gen_flow_graph
          • get_array_element
          • get_tinfo
          • loader_input_t
          • tinfo_errstr
          • TRUNC
          • add_segm_ex
          • Local types information and manipulation helpers
          • set_source_linnum
          • get_next_enum_member
          • loader_input_t.readbytes
          • set_array_params
          • jumpto
          • get_bookmark
          • set_enum_bf
          • prev_not_tail
          • toggle_sign
          • loader_input_t.size
          • Trace events functions
          • get_func_flags
          • get_gotea
          • set_segm_attr
          • get_item_head
          • set_default_sreg_value
          • print_insn_mnem
          • set_member_cmt
          • get_ordinal_qty
          • set_target_assembler
          • add_user_stkpnt
          • set_local_type
          • Hidden ranges
          • del_items
          • compile_idc_text
          • Dalvik debugger extension functions
          • byte_value
          • create_dword
          • is_code
          • del_func
          • get_enum
          • make_array
          • rotate_left
          • recalc_spd
          • search_path
          • CommonBits
          • get_processor_name
          • set_func_cmt
          • get_prev_bmask
          • Hashes
          • split_sreg_range
          • process_ui_action
          • set_fixup
          • get_fixup_target_type
          • create_oword
          • get_flags
          • get_func_name
          • create_strlit
          • add_struc
          • atol
          • load_debugger
          • mkdir
          • sizeof
          • get_enum_member_by_name
          • save_database
          • guess_type
          • get_segm_name
          • print_operand
          • qisabspath
          • get_member_qty
          • set_struc_cmt
          • get_fixup_target_flags
          • idadir
          • object.retrieve
          • add_auto_stkpnt
          • get_numbered_type_name
          • get_enum_member_name
          • get_next_index
          • prev_addr
          • get_name_ea
          • get_sp_delta
          • set_bmask_cmt
          • readlong
          • set_segm_name
          • get_prev_offset
          • set_segm_alignment
          • get_strlit_contents
          • forget_exception
          • get_item_end
          • add_func
          • get_name
          • Asks
          • get_spd
          • Debugger: control
          • get_wide_byte
          • plan_and_wait
          • set_enum_flag
          • RunPythonStatement
          • del_sourcefile
          • find_selector
          • get_frame_regs_size
          • op_num
          • define_exception
          • create_double
          • create_byte
          • read_selection_end
          • OpTypes
          • op_plain_offset
          • move_segm
          • get_member_id
          • set_segm_combination
          • get_current_thread
          • trim
          • Debugger: options
          • getn_thread
          • get_frame_id
          • typeinfo.print
          • to_ea
          • rebase_program
          • add_struc_member
          • get_exception_qty
          • get_first_index
          • import_type
          • set_segm_type
          • find_custom_data_type
          • get_next_seg
          • find_func_end
          • get_last_enum_member
          • getattr
          • get_frame_size
          • get_screen_ea
          • loader_input_t.read
          • set_reg_value
          • Debugger: modules
          • create_pack_real
          • writestr
          • exec_idc
          • get_enum_size
          • set_enum_name
          • create_tbyte
          • sel2para
          • atoa
          • loader_input_t.close
          • add_enum
          • ltoa
          • substr
          • del_idc_hotkey
          • Breakpoint handling functions
          • loader_input_t.seek
          • cleanup_appcall
          • object.store
          • get_type
          • qexit
          • get_debug_name
          • get_array_id
          • Can't Open File
          • suspend_process
          • process_config_directive
          • get_entry_name
          • get_last_member
          • get_struc_name
          • clear_selection
          • fclose
          • firstattr
          • create_yword
          • dbg_appcall
          • get_qword
          • patch_dword
          • begin_type_updating
          • read_dbg_byte
          • get_fpnum
          • qsleep
          • get_first_member
          • get_nsec_stamp
          • del_stkpnt
          • eval
          • savefile
          • eval_python
          • Xrefs
          • strstr
          • writeshort
          • get_sreg
          • get_segm_end
          • get_func_off_str
          • set_func_start
          • del_array_element
          • get_full_flags
          • set_exception_flags
          • rename_array
          • get_frame_args_size
          • op_flt
          • get_min_spd_ea
          • apply_type
          • get_prev_index
          • loadfile
          • retrieve_input_file_md5
          • get_wide_dword
          • patch_dbg_byte
          • Functions provided by the WinDbg debugger
          • get_original_byte
          • get_member_strid
          • call_system
          • writelong
          • get_thread_qty
          • nextattr
          • send_dbg_command
          • get_first_seg
          • get_processes
          • patch_word
          • get_manual_insn
          • ftell
          • get_entry_ordinal
          • set_array_long
          • delete_all_segments
          • TO_LONG
          • Function chunk related functions
          • Debugger: events
          • get_prev_func
          • op_seg
          • validate_idb_names
          • fprintf
          • fopen
          • strfill
          • del_fixup
          • get_bmask_name
          • inf_attr
          • is_bf
          • read_dbg_word
          • qdirname
          • get_segm_attr
          • func_contains
          • del_source_linnum
          • get_sourcefile
          • clr_database_flag
          • set_name
          • Refresh Screen
          • op_enum
          • getn_enum
          • get_db_byte
          • setattr
          • get_forced_operand
          • op_bin
          • Functions provided by the replayer debugger
          • prevattr
          • update_extra_cmt
          • get_str_type
          • op_man
          • choose_func
          • set_bmask_name
          • get_curline
          • decode_insn
          • set_segment_bounds
          • set_segm_class
          • write_dbg_memory
          • get_exception_name
          • get_enum_member
          • is_mapped
          • del_enum
          • get_frame_lvar_size
          • get_operand_type
          • set_root_filename
          • compile_idc_file
          • typeinfo.size
          • get_local_tinfo
          • get_fixup_target_off
          • is_union
          • unlink
          • get_segm_by_sel
          • set_enum_width
          • take_memory_snapshot
          • exec_python
          • get_next_func
          • get_member_offset
          • get_func_cmt
          • parse_decl
          • create_qword
          • next_head
          • suspend_thread
          • loader_input_t.getz
          • get_color
          • get_reg_value
          • load_and_run_plugin
          • set_database_flag
          • set_enum_member_name
          • set_member_type
          • get_prev_enum_member
      • Examples
        • Analyzing encrypted code
  • Admin Guide
    • Lumina server
    • Teams server
    • License server
      • Hex-Rays License Server Migration Guide
  • Release Notes
    • IDA 9.1rc
    • IDA 9.0sp1
    • IDA 9.0
    • IDA 8.4sp2
    • IDA 8.4sp1
    • IDA 8.4
    • IDA 8.3
    • IDA 8.2sp1
    • IDA 8.2
    • IDA 8.1
    • IDA 8.0sp1
    • IDA 8.0
    • IDA 7.7sp1
    • IDA 7.7
    • IDA 7.6sp1
    • IDA 7.6
    • IDA 7.5sp3
    • IDA 7.5sp2
    • IDA 7.5sp1
    • IDA 7.5
    • IDA 7.4sp1
    • IDA 7.4
    • IDA 7.3
      • IDA 7.3 Undo: IDA can do it
    • IDA 7.2
      • IDA 7.2 The Mac Rundown
    • IDA 7.1
      • IDA 7.1 Debugger API 7.1 Porting Guide
    • IDA 7.0sp1
    • IDA 7.0
      • Internationalization (i18n)
      • Automatic discovery of string literals
      • API 7.0 Porting Guide
      • IDAPython backward compatibility
    • IDA 6.95
    • IDA 6.9
    • IDA 6.8
    • IDA 6.7
    • IDA 6.6
    • IDA 6.5
    • IDA 6.4
    • IDA 6.3
    • IDA 6.2
    • IDA 6.1
    • IDA 6.0
    • IDA 5.7
    • IDA 5.6
    • IDA 5.5
      • 5.5 Gallery
      • 5.5 Comparison
    • IDA 5.4
    • IDA 5.3
    • IDA 5.2
    • IDA 5.1
    • IDA 5.0
    • IDA 4.9SP
    • IDA 4.9
    • IDA 4.8
    • IDA 4.7
    • IDA 4.6
    • IDA 4.x
    • IDA 3.x
    • Cumulative bugfix for IDA
  • Archive
    • IDA’s Windbg plugin
    • IDA’s Bochs debugger plugin
    • IDA’s Bochs debugger plugin 2
    • DosWin32
    • Hex-Rays v1.1 vs. v1.0 Decompiler Comparison Page
    • Hex-Rays v1.2 vs. v1.1 Decompiler Comparison Page
    • Hex-Rays v1.3 vs. v1.2 Decompiler Comparison Page
    • Hex-Rays v1.6 vs. v1.5 Decompiler Comparison Page
    • Hex-Rays v1.7 vs. v1.6 Decompiler Comparison Page
    • Costly Greetings – An Adventure In Hostile Code Analysis
    • An Adventure In Hostile Code Analysis: Description
    • An Adventure In Hostile Code Analysis: Disassembly
    • Improved code flow analysis
    • Program Navigation Bar
    • IDA Home Contest
    • Pimp My IDA: vote results
    • Turning off IDA 6.x compatibility in IDAPython
    • Porting guide for IDA 7.4 turning off IDA 6.x API backwards-compatibility by default
    • Porting guide for IDA 7.4 IDAPython and Python 3
    • IDAPython and Python 3
    • Porting guide for changes in IDAPython-on-Python-3 APIs
    • Debugging iOS Applications With IDA
    • IDA Win32 to Win32 Debugging
    • IDA Win32 to Win64 Debugging
    • Legacy license server: Floating Licenses
      • Installing on Linux
      • Installing on Windows
      • Installing on OS X
    • Decompiler Installation
    • Enumerated types tutorial
  • Bug Bounty
Powered by GitBook
LogoLogo

Need Help?

  • FAQs
  • Support

Community

  • Forum
  • Plugins

Resources

  • Blog
  • Download center

© 2025 Copyright Hex-Rays

On this page

Was this helpful?

Export as PDF
  1. Release Notes

IDA 3.x

Highlights

New features in version 3.85 (25/04/99)

  1. Disassembler module for H8/300, H8/300L, H8/300H, H8S/2000, H8S/2600 (std)

  2. H8 COFF files (std)

  3. FLIRT signature for H8 (std)

  4. FULL Sony Playstation Support (adv)

  5. FLIRT signatures for Sony Playstation files. (adv)

  6. FLAIR preprocessor for PSYQ object files. (adv)

New features in version 3.84 Professional (06/04/99)

  1. Full Windows CE Support (SH-3, SH-4, Mips, ARM)

  2. Disassembler module MIPS Processor (see our processor page)

  3. FLIRT for MS Visual C++ 6.0 for Windows CE

  4. Preliminary Nintendo 64 loader

New features in version 3.84 (07/03/99)

  1. Pentium III support

  2. Disassembler module for Hitachi SH-4 / Dreamcast (Professional processor pack)

  3. Disassembler module for Atmel AVR

  4. plugin architecture

  5. hide/unhide - collapse/expand the disassembly

  6. unions, bitfields, variable size structures

  7. Delphi 2 support

  8. several analysis improvements

  9. several IDA C improvements

  10. several user interface improvements

  11. 6809 OS9 system calls

  12. several bug fixes

FLAIR Utilities updated (01/03/99)

  1. FLAIR Utilities Improved - Delphi and Pascal support added.

New features in version 3.8b (25/11/98)

  1. Object Toolkit Pro libraries added to FLIRT

  2. the reported bugs were fixed :-)

New features in version 3.8 (09/11/98)

  1. the Hitachi SH-3 processor is now supported (extended version).

  2. the Intel 80196 processor is now supported (included in the base package).

  3. the Zilog Z-8 processor is now supported.

  4. complex references are now supported.

  5. NetBSD a.out files are now supported.

  6. ARM ELF executable are now supported.

  7. PowerPC ELF executables are now supported.

  8. MakeAlign and GenerateFile have been added to the build-in IDC language.

  9. Floating Point emulation instructions are now disassembled.

  10. the load file dialog now supports processor type choice and analysis options definition.

  11. the video mode can now be changed on the fly

  12. the PE loader has been improved to support some virus infected files.

  13. bugs have been fixed in the PE loader, in the 68K module, in the structure view, in the Borland name demangler, in the handling of wide ASCII pascal strings and in various other areas.

QNX Loader (01/09/98)

  1. Denis Petrov wrote a nifty QNX loader for IDA 3.76

ARM Modules (18/08/98)

  1. updated ARM 710a modules for IDA 3.76: allow to force endianness.

Special (07/07/98)

  1. Peter Sawatzki releases Delphi 4 FLIRT signatures.

New features in version 3.76 (30/06/98)

  1. PowerPC processor support ( activated by the -pppc command line switch )

  2. AMD K6-2 3DNow! instruction set support ( activated by the -pk62 command line switch )

  3. Pentium II additional instructions support: SYSENTER/SYSEXIT ( activated by the -pp2 command line switch )

  4. IDA support for Java classes has been updated.

  5. XCOFF file format support AIAFF file format support

  6. PEF file format support (BeOS and MacOS)

  7. Partial support for Pilot, PalmPilot and Pilot Pro PRC files (the algorithm for the decompression of the data segment is undocumented)

  8. VxD modules can now be loaded at the 0xC0000000 address.

  9. IDA now supports up to 4096 selectors in a program.

  10. IDA now supports Microsoft overlayed programs.

  11. Delphi 1 FLIRT standard library signatures have been added to FLIRT

  12. IDA 3.76 introduces a special "silent" mode: in this mode IDA warning dialog boxes are not displayed. The warnings are redirected to the messages window. To enter this "silent" mode the user should press the "Silent" button on the warning dialog box. To return to the normal mode the user should execute the Batch(0); IDC function by pressing Shift-F2.

  13. Bug fix: an array of words containing a value 0xFFFF followed by any other value could be misrepresented as 2 dup(0xFFFF). This bug was only present in 3.75 and has now been corrected.

  14. Bug fix: the 8bit motorola module disassembled some instructions incorrectly. This has been corrected.

New features in version 3.75 (14/04/98)

  1. Pascal Flirt Support and Delphi have been greatly enhanced.

  2. Pascal string handling and recognition is now fully automated

  3. NT DBG files are now supported.

  4. fxsave and fsrstor instructions are now supported (Intel Deschutes)

  5. Perl-like hash manipulation functions have been added to IDC

  6. IDS files can now be used to describe functions recognized by FLIRT

  7. other minor changes (menu structure, etc...)

Pascal and Delphi FLIRT Support (17//03/98)

  1. Nick Pisanov gave us Pascal Flirt Support

  2. Peter Sawatzki gave us Delphi 3 Flirt Support (this is a link to Peter's site)

New features in version 3.74b (02/03/98)

  1. TMS320C6x DSP support

New features in version 3.74 (15/02/98)

MAJOR FEATURES

  1. small embedded 80x86 assembler

  2. regular expression searches

  3. ARM 7xx processor support

MINOR FEATURES

  1. IDC: GetInputFile() - returns name of the input file.

  2. IDC: Exec(cmd) - executes OS command.

  3. Interface : text selection behaviour has been modified.

New features and bug fixes in version 3.7

MAJOR FEATURES

  1. functional color highlighting

  2. stack variables

  3. symbolic constants (enums) support

  4. C++ demangled names (Borland, MicroSoft,Watcom)

  5. ELF format files

  6. compressed NLMs support

  7. unicode strings

  8. new processors : 6301, 6809

  9. multi-pass analysis

MINOR FEATURES

  1. onload.idc is executed when a new file is loaded

  2. IDC: array manipulation functions have been added

  3. IDC: AskFile() function have been added

  4. IDC: PatchWord() and PatchDword() functions have been added

  5. IDC: the IDCPATH environment variable may point to the directory containing IDC scripts. By default IDC scripts are kept in the IDC subdirectory of the base IDA directory.

  6. ida.cfg: MangleChars and SubstChar are introduced to allow the creation of mangled names. You are now free to define names containing unusual characters such as "%()[]" which are used in C++ mangled names but are prohibited in normal identifiers. IDA will replace them with 'SubstChar' at display time.

  7. operand types: all commands that change a type of an operand now can modify all operands in the selected area.

  8. names with reserved prefixes cannot be used in structs and enums anymore.

  9. IDA now supports offsets to struct members.

  10. format of IDS files is changed.

  11. data and ascii strings can be defined with the Alt-D and Alt-A keys : they allow you to choose the exact type of data or ascii string.

  12. alignment directives are supported

  13. user-defined offsets are supported: offset base can be specified manually.

  14. the autoanalysis can now be totally controlled.

Bug Fixes

  1. The bios comments database is now opened in the correct R/W mode.

  2. 8051 & 680x0: relative addressing mode is fixed

  3. 8051 @dptr addressing mode was lost. This has been corrected.

  4. 68xx jmp and jsr instructions generated data reference. This has been corrected.

  5. COFF: the entry point was not properly calculated for some executables. This situation has been corrected.

  6. In some cases, instructions disappeared from the disassembly if the previous instruction had a fixup information and was analysed at load time. This occured rarely.

  7. PE files: sometimes the .idata section contains import definitions and additional data. IDA only kept import definitions. IDA's behaviour can now be controlled through the "load file" dialog box and IDA checks that no useful information is discarded.

New features and bug fixes in version 3.64

Version 3.64 is free to all users of 3.5 and above.

MAJOR FEATURES

(3.64) Standard Library Recognition

The following compilers are supported in this release, new compilers will be added regularly.

  • Aztec C v3.20d

  • Borland C++ for OS/2 v1.0

  • Borland C++ for OS/2 v1.5

  • Borland C++ for OS/2 v2.0

  • Borland C++ v2.0

  • Borland C++ v3.1

  • Borland C++ v4.0

  • Borland C++ v4.5

  • Borland C++ v5.0

  • Borland C++ v5.01

  • EMX (GCC) for OS/2 v0.9b

  • IBM C Set v2.00

  • IBM C Set v2.01

  • IBM C Set v2.10

  • Lattice C v3.30

  • Metaware High C for OS/2

  • Microsoft C v5.0

  • Microsoft C v6.0

  • Microsoft C v7.0

  • Microsoft Quick C v1.0

  • Microsoft Quick C v2.01

  • Microsoft Visual C++ v1.0

  • Microsoft Visual C++ v1.5

  • Microsoft Visual C++ v2.0

  • Microsoft Visual C++ v4.0

  • Microsoft Visual C++ v4.1

  • NDP C v4.2

  • Optima v1.0

  • Symantec C++ v6.0

  • Symantec C++ v6.1

  • Symantec C++ v7.2

  • Turbo C v2.00

  • Turbo C v2.01

  • Turbo C++ v1.01

  • Visual Age C++ v3.0

  • Watcom C++ v10.0

  • Watcom C++ v10.0b

  • Watcom C++ v10.5

  • Watcom C++ v10.6

  • Watcom C++ v9.01d

  • Watcom C++ v9.5

  • Zortech C++ v1.0

  • Zortech C++ v3.1

Special

  • MicroSoft Foundation Classes

  • Vireo VToolsD

(3.6) 32-bit Windows native disassembly environment (console)

(3.6) Java support (and ZIP support)

(3.6) Motorola 8bit processors are now supported.

  • Motorola MC6800

  • Motorola MC6801

  • Motorola MC6803

  • Motorola MC6805

  • Motorola MC6808

  • Motorola MC6809

  • Motorola MC6811

IMPROVEMENTS

(3.6) 64MB programs can now be disassembled.

(3.6) OMF libraries are now recognized and modules can be extracted and disassembled.

(3.6) CEXTDEF records in OBJ files are now handled properly.

(3.6) improved recognition of data segment for DOS executables.

(3.6) COFF : the C_NT_WEAK storage class is now handled.

(3.6) OS/2 Merlin chained relocation records are now handled properly.

(3.6) the following sequence has changed: dd -> float -> dq -> dt

(3.6) jump tables are now analyzed faster.

(3.6) the generation of map files has been improved.

(3.6) It is now possible to define the following environment. variables.

IDASGN points to the signature directory. IDAIDS points to the IDS files directory.

(3.6) the environment variable IDA_PAGESIZE now defines the page size for newly created databases. The default page size is 4096. Pagesize should be power of 2. You may want to increase the page size if you hit limit on the number of chunks when loading an .OBJ or NE file. Judicious use of this variable now allows the disassembly of files of virtually any size.

(3.6) the -b (program base address) switch now understands 32bit addresses.

(3.6) binary search is now faster.

(3.6) interface enhancements : CTRL-ENTER and BACKSAPACE allow fast lookups in the viewer. Data Items can now be defined massively. ALT-T and CTRL-T allow fast searches in the list viewers.

(3.6) dozens of minor enhancements.

BUG FIXES & CORRECTIONS

(3.6) data xrefs can now be deleted manually.

(3.6) a bug with jcxz instruction in huge 32bit segments has been fixed.

(3.6) a bug has been fixed in the IDC interpreter: 16bit numbers at page boundaries would be read incorrectly.

(3.6) a laoding problem with some NE files has been corrected.

(3.6) version 3.53 would exit with a "heap corrupt" message when loading a 3.04 database.

(3.6) the loopw instruction was incorrectly disassembled in huge 32-bit segment. This has been corrected.

(3.6) The Borland v5.01 ctime() function has a bug that sometimes caused IDA to crash. This has been fixed.

(3.6) dozens of minor fixes.

New features and bug fixes in version 3.53

Version 3.53 is free to all users of 3.5 and above.

Enhancements

  • IDA tries the file extensions specified in IDA.CFG in order to open the file to disassemble.

  • Ctrl-KB/Ctrl-KH may now be used for block marking/unmarking.

  • The name of the file being disassembled is displayed in the title bar of the message window.

  • The COFF format handling has been slightly improved.

  • The name of the disassembled file is displayed in the "produce output file" dialogs.

Corrections

  • The 32-bit IDA versions crashed trying to generate a .MAP file.

  • IDA crashed if more than 50 segments were defined in a group (object files)

  • The tails of very long names (>32 chars) are displayed in the names list (Ctrl-L) after the addresses column.

  • IDA crashed attempting to display xrefs to a very long name (more than 79 characters)

  • Object files: a loading error is fixed: in 32-bit object files the self-referenced relocations were resolved incorrectly if a symbol was declared as external and public at the same time.

  • IBM PC: the "large" keyword was used when it was not necessary (new versions of TASM issued warning)

  • The indicator displayed READY during the creation of an asm/lst output file.

Last updated 5 months ago

Was this helpful?