Repository URL to install this package:
Version:
9.0~240807-1.fc42 ▾
|
// Config file for the graphical mode user interface
// *************************************************
AUTOSAVE = 100 // After 100 user actions
// IDA flushes its buffers to disk
ASK_EXIT_UNPACKED = YES // Ask confirmation if the user
// wants to exit the database without
// packing it
ASK_EXIT = YES // Ask confirmation if the user
// wants to exit
OPEN_DEFAULT_IDC_PATH = NO // YES: The dialog box to select an
// IDC script always starts in
// the IDC subdirectory
// NO: The dialog box opens in the
// current/last directory
DISPLAY_COMMAND_LINE = YES // Display the expressions/IDC command line
// To turn on/off the command line,
// right click on the main toolbar after
// setting this parameter to YES
RECENT_SCRIPTS_MODAL = NO // Open "Recent scripts" window as a modal window
#define CONFIRM_UNDEFINE_NO -1 // Never confirm
#define CONFIRM_UNDEFINE_YES 0 // Always confirm
#define CONFIRM_UNDEFINE_BLOCK 1 // Confirm only if an area has been selected
CONFIRM_UNDEFINE_COMMAND = CONFIRM_UNDEFINE_NO // Confirm the "undefine" command
CONFIRM_SETFUNCEND_COMMAND = NO // Confirm the "set function end" command (E hotkey)
CONFIRM_DETACH_FUNC_TAIL = NO // Confirm the "detach this function tail" command
CONFIRM_DELETE_SELECTED_FUNCS = NO // Confirm the "delete selected function(s)" command
HISTORY_LENGTH = 10 // Maximum length of file->history
// Possible value is from 1 to 100
#ifdef __QT__
#ifdef __NT__
EXTERNAL_EDITOR = "notepad.exe"
#endif
#ifdef __LINUX__
EXTERNAL_EDITOR = "gedit"
#endif
#ifdef __MAC__
EXTERNAL_EDITOR = "/Applications/TextEdit.app/Contents/MacOS/TextEdit"
#endif
#endif
#ifdef __QT__
// 1=YES and 0=NO overwrite the default (-1) behavior for individual dialogs
ASK_TEXT_ACCEPTS_TABS = -1
#endif
// Built-in window ids
#define BWN_EXPORTS 0x00000001 // exports
#define BWN_IMPORTS 0x00000002 // imports
#define BWN_NAMES 0x00000004 // names
#define BWN_FUNCS 0x00000008 // functions
#define BWN_STRINGS 0x00000010 // strings
#define BWN_SEGS 0x00000020 // segments
#define BWN_SEGREGS 0x00000040 // segment registers
#define BWN_SELS 0x00000080 // selectors
#define BWN_SIGNS 0x00000100 // signatures
#define BWN_TILS 0x00000200 // type libraries
#define BWN_TILVIEW 0x00000400 // local types
#define BWN_CALLS 0x00000800 // function calls
#define BWN_PROBS 0x00001000 // problems
#define BWN_BPTS 0x00002000 // breakpoints
#define BWN_THREADS 0x00004000 // threads
#define BWN_MODULES 0x00008000 // modules
#define BWN_TRACE 0x00010000 // trace view
#define BWN_STACK 0x00020000 // call stack trace
#define BWN_XREFS 0x00040000 // xrefs
#define BWN_SEARCHS 0x00080000 // search results
#define BWN_FRAME 0x02000000 // function frame
#define BWN_NAVBAND 0x04000000 // navigation band
#define BWN_ENUMS 0x08000000 // enumerations
#define BWN_STRUCTS 0x10000000 // structures
#define BWN_DISASMS 0x20000000 // disassembly views
#define BWN_DUMPS 0x40000000 // hex dumps
#define BWN_NOTEPAD 0x80000000 // notepad
CLOSED_BY_ESC = 0x1A000000 // Mask of all windows that are closed by Esc.
// If a windows is not closed by Esc,
// it can be closed by Alt-F3.
// default value 0x1A000000 - stack, enumerations, structures
// f.e. 0x9A0FFFFF - all windows but disasm/hexdump/navband can be closed by Esc)
#ifdef __QT__
OTHER_CLOSED_BY_ESC = YES // Behavior for all windows not specified by CLOSED_BY_ESC
TOOL_CLOSED_BY_ESC = NO // Behavior for tool windows like the Output window
// Don't generate disassembly node lines, when a node's visible range
// of addresses is larger than the following value.
// Note: if parts of that node are hidden (using 'hidden range's), those
// hidden ranges will be subtracted to the range that's being computed
// to determine whether the node should display its text (thus, contents
// of large nodes might still be displayed if some parts of it are hidden.)
DISASM_NODE_MAX_VISIBLE_RANGE = 64000
PROXIMITY_SHOW_DATA_REFS = YES // Display xrefs to data in proximity view?
PROXIMITY_HIDE_LIBRARIES = NO // Hide library functions in proximity view?
PROXIMITY_UNLIMITED_RECURSION = NO // Unlimited child recursion in proximity view?
PROXIMITY_RECURSE_LIBRARIES = NO // Show childs of library functions in proximity view?
PROXIMITY_SHOW_COLLAPSED_NODES = YES // Show collapsed parent/children (i.e., '+') nodes in proximity view?
PROXIMITY_MAX_PARENTS_RECURSION = 2 // Maximum level of parents recursion
PROXIMITY_MAX_CHILDS_RECURSION = 2 // Maximum level of childs recursion
PROXIMITY_MAX_NODES_PER_LEVEL = 0 // Maximum number of nodes to show per level
// If set to NO, calling msg() causes a refresh of the output window at every call
MSG_DELAYED_UPDATE = YES
// Specify the limit for lines in the output window (0 - unlimited)
MSG_MAXIMUM_LINE_COUNT = 10000
// Specify the percentage of the number of lines for cleaning when the limit is reached
MSG_LINE_CLEAN_PERCENT = 10
// By default, IDA uses the native OS file input dialogs.
// Uncomment the following to use Qt's implementation.
// NATIVE_FILE_DIALOG = NO
// Restore modal dialogs size/position when re-opening them?
RESTORE_DIALOGS_GEOMETRIES = YES
// Many actions in IDA have an associated icon, which will be
// displayed when the action is placed in a menu or a toolbar.
// While that can be considered helpful since it provides a visual
// hint, it (seems it) doesn't conform to the OSX UI guidelines:
// most applications hardly use icons in menus, ever.
// If you would like IDA to look more like other applications
// on OSX, set this to 'NO'.
SHOW_ICONS_IN_MENUS = YES
// Time in milliseconds to wait for new debugger events
DEBUG_EVENT_TIMEOUT = 50
// This can set global source path mappings.
// However, they will be discarded in case the IDB has its own mappings
// SOURCE_DEBUG_PATHS="C:\\src_dir1;C:\\dst_dir1;C:\\src_dir2;C:\\dst_dir2"
// Should the navigation band always show gaps between segments,
// even when addresses are contiguous?
NAVBAND_FORCE_GAPS = NO
#else
TAB_STYLE = "Themed" // One of Default, Enhanced, Flat, OfficeXP, Standard, Themed, VS2005
#endif
SCREEN_CURSOR = 0 // = 0 normal cursor
// = 1 block cursor
TLM_FLUSH_TIMEOUT = 60000 // milliseconds
TLM_FLUSH_EVCNT = 64
//
// Keyboard hotkey definitions
// ---------------------------
//
// NOTE: `sys(<standard qt key sequence name>)` will use the appropriate Qt Standard KeySequence
//
SHORTCUTS = {
"legacy" : {
#ifdef __QT__
"NewInstance": [0], // Open a new instance of IDA
#endif
"ReloadFile": [0], // Reload the same input file
"LoadNewFile": [0], // Load additional file into database
"LoadIdsFile": [0], // Load IDS file
"LoadDbgFile": [0], // Load DBG file
"LoadPdbFile": [0], // Load PDB file
"LoadTdsFile": [0], // Load TDS file
"LoadSigFile": [0], // Load SIG file
"LoadHeaderFile": ["Ctrl-F9"], // Load C header file
"RecentScripts": ["Alt-F9"], // Recent scripts
"RecentScriptsRunCurrent": [0], // Recent scripts, run current
"Execute": ["Alt-F7"], // Execute script file
"ExecuteLine": ["Shift-F2"], // Execute IDC line
"About": [0],
"SaveBase": ["Ctrl-W"],
"SaveBaseAs": [0],
#ifdef __QT__
"SaveBaseSnap": ["Ctrl-Shift-W"], // Save database snapshot
#endif
"Abort": [0], // Abort IDA, don't save changes
"QuitIDA": ["Alt-X"], // Quit to DOS, save changes
#ifdef __QT__
"QuickStart": [0],
#endif
"ReanalyzeProgram": [0], // Reanalyze the program
"ProduceMap": [0], // Produce MAP file
"ProduceAsm": ["Alt-F10"], // Produce assembler text file
"ProduceInc": [0], // Produce assembler include file
"ProduceLst": [0], // Produce listing file
"ProduceHeader": [0], // Produce header file from local types
"ProduceExe": [0], // Produce executable file
"ProduceDiff": [0], // Produce difference file
"ProduceHtml": [0], // Produce HTML file
"ProduceFuncGdl": [0], // Produce flow chart GDL
"ProduceCallGdl": [0], // Produce call graph GDL
"DumpDatabase": [0], // Dump database to IDC file
// This IDC file contains all
// information to recreate
// the database from scratch
// (executable file will be
// needed)
"DumpTypes": [0], // Dump typeinfo to IDC file
"JumpAsk": ["G"],
"JumpName": ["Ctrl-L"],
"JumpSegment": ["Ctrl-S"],
"JumpSegmentRegister": ["Ctrl-G"],
"JumpQ": ["Ctrl-Q"],
"JumpPosition": ["Ctrl-M"],
"JumpXref": ["Ctrl-X"],
"JumpXrefFrom": ["Ctrl-J"],
"JumpOpXref": ["X"],
"JumpFunction": ["Ctrl-P"],
"JumpNextFunc": ["Ctrl-Shift-Down"],
"JumpPrevFunc": ["Ctrl-Shift-Up"],
"JumpEntryPoint": ["Ctrl-E"],
"JumpFileOffset": [0],
"JumpError": ["Ctrl-F"],
"JumpEnter": ["Enter"], // jump to address under cursor
"JumpEnterNew": ["Alt-Enter"], // jump to address under cursor
// in a new window
"CenterInWindow": ["NumpadClear", "Clear", "Ctrl-Shift-C"],
"Return": ["Esc"],
"UndoReturn": ["Ctrl-Enter"], // undo the last Esc
"EmptyStack": [0], // make the jumps stack empty
"SetDirection": [0],
"MarkPosition": ["Alt-M"],
"FindAllSuspicious": [0],
"JumpSuspicious": ["Ctrl-V"],
"JumpCode": ["Alt-C"],
"JumpData": ["Ctrl-D"],
"JumpUnknown": ["Ctrl-U"],
"JumpExplored": ["Ctrl-A"],
"AskNextImmediate": ["Alt-I"],
"JumpImmediate": ["Ctrl-I"],
"AskNextText": ["Alt-T"],
"JumpText": ["Ctrl-T"],
"AskBinaryText": ["Alt-B"],
"JumpBinaryText": ["Ctrl-B"],
"JumpNotFunction": [0],
"NavFlatPanUp": ["Ctrl-Up"],
"NavFlatPanDown": ["Ctrl-Down"],
"NavGraphJumpLinkedNeighborUp": ["Ctrl-Up"],
"NavGraphJumpLinkedNeighborDown": ["Ctrl-Down"],
"NavJumpWindowTop": ["Ctrl-Home", "Shift-Ctrl-Home"],
"NavJumpWindowBottom": ["Ctrl-End", "Shift-Ctrl-End"],
"NavJumpHome": ["Home", "Shift-Home"],
"NavJumpEnd": ["End", "Shift-End"],
"NavJumpListingStart": ["Ctrl-PgUp", "Shift-Ctrl-PgUp"],
"NavJumpListingEnd": ["Ctrl-PgDown", "Shift-Ctrl-PgDown"],
"NavLeft": ["Left", "Shift-Left"],
"NavRight": ["Right", "Shift-Right"],
"NavWordLeft": ["Ctrl-Left", "Shift-Ctrl-Left"],
"NavWordRight": ["Ctrl-Right", "Shift-Ctrl-Right"],
"NavLineUp": ["Up", "Shift-Up"],
"NavLineDown": ["Down", "Shift-Down"],
"NavPageUp": ["PgUp", "Shift-PgUp"],
"NavPageDown": ["PgDown", "Shift-PgDown"],
"HexColNavLeft": ["Alt-Left"],
"HexColNavRight": ["Alt-Right"],
"HexColNavHome": ["Alt-Home"],
"HexColNavEnd": ["Alt-End"],
"SearchHighlightUp": ["Alt-Up"],
"SearchHighlightDown": ["Alt-Down"],
"FindRegisterDefinition": ["Shift-Alt-Up"],
"FindRegisterUse": ["Shift-Alt-Down"],
"FindRegisterValue": ["Shift-Alt-V"],
"OutputNavLeft": ["Left", "Shift-Left"],
"OutputNavRight": ["Right", "Shift-Right"],
"OutputNavWordLeft": ["Ctrl-Left", "Shift-Ctrl-Left"],
"OutputNavWordRight": ["Ctrl-Right", "Shift-Ctrl-Right"],
"OutputNavLineUp": ["Up", "Shift-Up"],
"OutputNavLineDown": ["Down", "Shift-Down"],
"OutputNavPageUp": ["PgUp", "Shift-PgUp"],
"OutputNavPageDown": ["PgDown", "Shift-PgDown"],
"OutputNavLineBeginning": ["Home", "Shift-Home"],
"OutputNavLineEnd": ["End", "Shift-End"],
"OutputCopy": ["Ctrl-C", "sys(Copy)"],
"OutputSelectAll": ["Ctrl-A", "sys(SelectAll)"],
"OutputClearContents": ["Ctrl-X"],
"OutputFind": ["Alt-T"],
"OutputFindNext": ["Ctrl-T"],
"OutputSaveToFile": ["Ctrl-S"],
"OutputNavBeginning": ["Ctrl-Home", "Shift-Ctrl-Home"],
"OutputNavEnd": ["Ctrl-End", "Shift-Ctrl-End"],
"OutputToggleTimestamps": [0],
"NotepadFind": ["Alt-T"],
"NotepadFindNext": ["Ctrl-T"],
"UndoAction": ["sys(Undo)", "Ctrl-Z"],
"RedoAction": ["sys(Redo)", "Ctrl-Shift-Z"],
"UndoToggle": [0],
"ResetUndoHistory": [0],
"ShowUndoHistory": [0],
"MakeAlignment": ["L"],
"ManualInstruction": ["Alt-F2"],
"ColorInstruction": [0],
"ToggleBorder": [0],
"ToggleRenderer": ["Space"],
"MakeCode": ["C"],
"MakeData": ["D"],
"MakeStrlit": ["A"],
"MakeArray": ["Numpad*", "*"],
"MakeUnknown": ["U"],
"MakeName": ["N"],
"ManualOperand": ["Alt-F1"],
"MakeFunction": ["P"],
"EditFunction": ["Alt-P"],
"AppendFunctionTail": [0],
"RemoveFunctionTail": [0],
"DelFunction": [0],
"FunctionEnd": ["E"],
"OpenStackVariables": ["Ctrl-K"], // open stack variables window
"ChangeStackPointer": ["Alt-K"], // change value of SP
"RenameRegister": ["V"],
"SetType": ["Y"],
"FunctionsToggleSync": [0],
"MakeComment": [":"],
"MakeRptCmt": [";"],
#ifdef __MAC__
"TilAddType": ["Ctrl-I"],
#else
"TilAddType": ["Ins"],
#endif
"TilMakeComment": [":", ";", "/"],
"TilFocusOther": ["Tab"],
"TilEditType": ["Ctrl-E"],
"TilExpandStruct": ["Ctrl-P"],
"TilDelType": ["Del"],
"TilDelTypeMember": ["U"],
"TilAddTypeMember": ["I"],
"TilCSyntax": [0],
"TilInspectLib": [0],
"FuncChangeCC" : [0],
"EditArgloc": ["L"],
#ifdef __MAC__
"MakeExtraLineA": ["I"],
"MakeExtraLineB": ["Shift-I"],
#else
"MakeExtraLineA": ["Ins"],
"MakeExtraLineB": ["Shift-Ins"],
#endif
"OpNumber": ["#"],
"OpHex": ["Q"],
"OpDecimal": ["H"],
"OpOctal": [0],
"OpBinary": ["B"],
"ToggleLeadingZeroes": ["0"],
"OpFloat": [0],
"OpChar": ["R"],
"OpSegment": ["S"],
"OpOffset": ["O"],
"OpOffsetCs": ["Ctrl-O"],
"OpAnyOffset": ["Alt-R"],
"OpUserOffset": ["Ctrl-R"],
"OpStructOffset": ["T"],
"OpStackVariable": ["K"],
"OpEnum": ["M"],
"ChangeSign": ["_"],
"BitwiseNegate": ["~"],
"SetOpType": [0],
"CreateSegment": [0],
"EditSegment": ["Alt-S"],
"KillSegment": [0],
"MoveSegment": [0],
"RebaseProgram": [0],
"SegmentTranslation": [0],
"SetSegmentRegister": ["Alt-G"],
"SetSegmentRegisterDefault": [0],
#ifdef __QT__
"OutputWindow": ["Alt-0"],
"GraphOverview": [0],
#endif
"ShowRegisters": ["Ctrl-Space"],
#ifdef __QT__
"QuickView": ["Ctrl-1"],
"QuickRunPlugins": ["Ctrl-3"],
#endif
"OpenNotepad": [0],
"WindowOpen": [0],
"OpenFunctions": ["Shift-F3"], // open functions window
"OpenExports": [0],
"OpenImports": [0],
"OpenNames": ["Shift-F4"],
"OpenSignatures": ["Shift-F5"], // open signatures window
"OpenSegments": ["Shift-F7"],
"OpenSegmentRegisters": ["Shift-F8"],
"OpenSelectors": [0],
"OpenXrefs": [0],
"OpenProblems": [0],
"OpenTypeLibraries": ["Shift-F11"],
"GraphFunc": [0], // display function flow-chart
"CallFlow": [0], // display function call graph
"PrintFlowLabels": [0],
"ChartXrefsTo": [0], // display referenced items
"ChartXrefsFrom": [0], // display referencing items
"ChartXrefsUser": [0], // display referenced/referencing items
"OpenStrings": ["Shift-F12"],
"OpenCallers": [0], // display function call list
"OpenLocalTypes": ["Shift-F1"],
"OpenBookmarks": ["Ctrl-Shift-M"],
"PatchByte": [0],
"PatchWord": [0],
"Assemble": [0],
"ApplyPatches": [0], // apply patches to input file
"Options": [0], // show the general options dialog
"SetColors": [0], // show the colors configuration dialog
"LicenseManager": [0], // Open license manager
"LicenseManagerBorrow": [0], // Borrow a license
"LicenseManagerReturn": [0], // Return a license
#ifdef __QT__
"SetFont": [0], // show the fonts configuration dialog
"ProcessorAnalysisOptions": [0],
"ToggleStatusBarAnalysisIndicator": [0],
#endif
"SetStrlitStyle": ["Alt-A"], // set strings style
"SetDirectives": [0], // setup assembler directives
"ToggleDump": [0], // show dump or normal view
"SetNameType": [0], // show the name representation type dialog
"SetupCompiler": [0], // show the compiler setup dialog
"SetDemangledNames": [0],
"Calculate": ["?"],
"ShowFlags": ["F"],
#ifdef __QT__
"ShowSnapMan": ["Ctrl-Shift-T"], // show the database snapshot manager
#endif
"SetupHidden": [0],
"Hide": ["Ctrl-Numpad-"],
"UnHide": ["Ctrl-Numpad+"],
"HideAll": [0],
"UnHideAll": [0],
"DelHiddenRange": [0],
#ifdef __QT__
#ifdef __MAC__
"FullScreen": ["Meta-Shift-F"],
#else
"FullScreen": ["F11"],
#endif
#endif
#ifdef __QT__
"ShowHelp": ["F1"],
#else
"KeyboardHelp": [0],
#endif
#ifdef __NT__
"ExternalHelp": ["Ctrl-F1"],
#endif
#ifdef __QT__
"WindowsList": [0],
"WindowsListNext": ["Ctrl-Tab"],
"WindowsListPrev": ["Ctrl-Shift-Tab"],
#endif
"NextWindow": ["F6"],
"PrevWindow": ["Shift-F6"],
"CloseWindow": ["Alt-F3"],
"FocusCLI": ["."], // focus command line
"FocusCLI2": ["Ctrl-."], // focus command line (from anywhere in IDA)
#ifdef __QT__
"ToolbarsNone": [0],
"ToolbarsAll": [0],
#endif
//
// Structure manipulation commands
//
"ShrinkStruct": ["Ctrl-S"], // delete gap
"DeclareStructVar": ["Alt-Q"], // declare struct variable
"ZeroStructOffset": [0], // force zero field offset
"SelectUnionMember": ["Alt-Y"], // select union member
"CreateStructFromData": [0], // create struct from data
"CopyFieldsToPointers": [0], // copy field info to pointers
//
// Enum manipulation commands
//
#ifdef __MAC__
"AddEnum": ["I"], // add enum
#else
"AddEnum": ["Ins"], // add enum
#endif
"DelEnum": ["Del"], // del enum
"EditEnum": ["Ctrl-E"], // edit enum
"AddConst": ["N"], // add new enum member
"TilEditConst": ["Ctrl-N"], // edit enum member
"DelConst": ["U"], // delete enum member
//
// Lumina server
//
#if !defined(__DEMO__) && !defined(__IDAFREE__)
"LuminaApplyMdFromList": [0],
"LuminaPullMd": [0],
"LuminaPushMd": [0],
"LuminaRevertMd": [0],
"LuminaDeleteMd": [0],
"LuminaViewMd": [0],
"LuminaMetadataHistory": [0],
"LuminaPullAllMds": ["F12"],
"LuminaPushAllMds": ["Ctrl-F12"],
"LuminaRestoreMdFromList": [0],
"LuminaViewAllMds": ["Alt-F12"],
"LuminaSecondaryPullMd": [0],
"LuminaSecondaryPushMd": [0],
"LuminaSecondaryDeleteMd": [0],
"LuminaSecondaryViewMd": [0],
"LuminaSecondaryPullAllMds": [0],
"LuminaSecondaryPushAllMds": [0],
"LuminaSecondaryViewAllMds": [0],
#endif
//
// Script snippets
//
"SnippetsRunCurrent": ["Ctrl-Shift-X"],
"SnippetsImportCurrent": [0],
"SnippetsExportCurrent": [0],
"SnippetsCloneCurrent": [0],
"SnippetsChangeTabSize": [0],
//
// Debugger manipulation commands
//
#ifdef __QT__
"QuickDbgView": ["Ctrl-2"],
#endif
"Debugger": ["Ctrl-Alt-C"], // open debugger window
"ProcessStart": ["F9"], // start a new process in the debugger
"ProcessPause": [0], // pause the debugged process
"ProcessExit": ["Ctrl-F2"], // terminate the debugged process
"ProcessAttach": [0], // Attach to a process
"ProcessDetach": [0], // Detach from the debugged process
"TakeSnapshot": [0], // Take a memory snapshot to the database
"RefreshMemcfg": [0], // Refresh memory
"ThreadStepInto": ["F7"], // step into the current instruction
"ThreadStepOver": ["F8"], // step over the current instruction
"ThreadRunUntilReturn": ["Ctrl-F7"], // execute instructions until execution returns from the current function
"ThreadRunToCursor": ["F4"], // execute instructions until cursor is reached
"ThreadSetCurrentIp": ["Ctrl-N"], // set new EIP (execution pointer)
"Threads": [0], // open threads window
"BreakpointAdd": [0], // add a breakpoint
"BreakpointDel": [0], // del a breakpoint
"BreakpointToggle": ["F2"], // toggle a breakpoint
"BreakpointEdit": [0], // edit breakpoint settings
"BreakpointEnable": [0],
"BreakpointDisable": [0],
"Breakpoints": ["Ctrl-Alt-B"], // open breakpoints window
"BreakpointFind": ["Ctrl-Shift-F2"], // open breakpoints window if needed, then select breakpoint
//"WatchList" = "Ctrl-Alt-W" // open the watch list
"AddWatch": [0], // add watch
"DelWatch": ["Del"], // del watch
"StackTrace": ["Ctrl-Alt-S"], // open stack trace window
"TracingWindow": [0], // open the 'Tracing' window
"ClearTrace": [0], // clear trace window
"SetupTracing": [0], // open setup tracing window
"ToggleTraceInstructions": [0], // toggle instructions tracing
"ToggleTraceFunctions": [0], // toggle functions tracing
"ExecTraceAdd": [0], // add execution trace
"WriteTraceAdd": [0], // add write trace
"ReadWriteTraceAdd": [0], // add read/write trace
"SwitchDebugger": [0], // switch the current debugger
#ifdef __QT__
"SwitchToSource": [0], // switch from disassembly to source view
#endif
// Graph view commands
"GraphZoom100": ["1"], // Zoom 100%
"GraphZoomFit": ["W"], // Fit window
"GraphZoomIn": ["Ctrl-Shift-Numpad+"], // Zoom in
"GraphZoomOut": ["Ctrl-Shift-Numpad-"], // Zoom out
"GraphSetupOptions": [0], // Setup graph options
"GraphSetupColors": [0], // Setup graph colors
"GraphPrint": [0], // Print graph
"GraphLayout": [0], // Layout graph
"GraphFlatView": [0], // Switch to flat disassembly view
"GraphGraphView": [0], // Switch to graph view
#ifdef __QT__
"GraphProximityBack": ["Numpad+"], // Back to previous view from proximity view
"GraphProximityView": ["Numpad-"], // Switch to proximity view
#endif
"GraphGroup": [0], // Group nodes
"GraphUngroup": [0], // Ungroup nodes
"GraphHideGroup": [0], // Hide group
"GraphUnHideGroup": [0], // Unhide group
"GraphHideAllGroups": [0], // Hide all groups
"GraphUnHideAllGroups": [0], // Unhide all groups
"GraphColor": [0], // Set node color
"GraphColor1": [0], // Set node color 1
"GraphColor2": [0], // Set node color 2
"GraphDefaultColor": [0], // Set node color to default
// Desktop
"LoadDesktop": [0],
"SaveDesktop": [0],
"DeleteDesktop": [0],
"ResetDesktop": [0],
"ResetHiddenMessages": [0],
"WindowActivate1": ["Alt-1"],
"WindowActivate2": ["Alt-2"],
"WindowActivate3": ["Alt-3"],
"WindowActivate4": ["Alt-4"],
"WindowActivate5": ["Alt-5"],
"WindowActivate6": ["Alt-6"],
"WindowActivate7": ["Alt-7"],
"WindowActivate8": ["Alt-8"],
"WindowActivate9": ["Alt-9"],
// Miscellaneous
"StringC": [0],
"StringDOS": [0],
"StringPascal1": [0],
"StringPascal2": [0],
"StringDelphi": [0],
"StringUnicode": [0],
"StringUnicodePascal2": [0],
"StringUnicodePascal4": [0],
"SearchNext": [0],
"Function": [0],
"LockHighlight": ["Ctrl-Alt-0"],
"LockHighlight_0": ["Ctrl-Alt-1"],
"LockHighlight_1": ["Ctrl-Alt-2"],
"LockHighlight_2": ["Ctrl-Alt-3"],
"LockHighlight_3": ["Ctrl-Alt-4"],
"LockHighlight_4": ["Ctrl-Alt-5"],
"LockHighlight_5": ["Ctrl-Alt-6"],
"LockHighlight_6": ["Ctrl-Alt-7"],
"LockHighlight_7": ["Ctrl-Alt-8"],
//
// Others
// ------
//
"ActinsCopy": ["Ctrl-C"],
#ifdef __MAC__
"ActinsCopyAll": ["Ctrl-Shift-I"],
#else
"ActinsCopyAll": ["Ctrl-Shift-INS"],
#endif
"ActinsUnsort": [0],
"ActinsQuickFilter": ["Ctrl-F", "sys(Find)"],
"ActinsSearch": ["Alt-T"],
"ActinsSearchAgain": ["Ctrl-T"],
"Analysis": [0],
"Anchor": ["Alt-L"],
"ChooserCopy": ["sys(Copy)", "Ctrl-C"],
#ifdef __MAC__
"ChooserCopyAll": ["Ctrl-Shift-I"],
"ChooserDelete": ["Ctrl-Del"],
#else
"ChooserCopyAll": ["Ctrl-Shift-INS"],
"ChooserDelete": ["Del"],
#endif
"ChooserDemangledNames": [0],
"ChooserEdit": ["Ctrl-E"],
"ChooserHideColumn": [0],
#ifdef __MAC__
"ChooserInsert": ["Ctrl-I"],
#else
"ChooserInsert": ["Ins"],
#endif
"ChooserManageColumns": [0],
"ChooserModifyFilters": ["Ctrl-Shift-F"],
"ChooserNiceNames": ["Ctrl-Shift-N"],
"ChooserQuickFilter": ["Ctrl-F", "sys(Find)"],
"ChooserRefresh": ["Ctrl-U"],
"ChooserResetFilters": [0],
"ChooserSearch": ["Alt-T"],
"ChooserSearchAgain": ["Ctrl-T"],
"ChooserUnsort": [0],
"ChooserToggleTree": [0],
"ClearMark": [0],
"CloseBase": [""],
"CLICopyAddress": [0],
"CLICopySize": [0],
"CloseBase": [0],
"CopyStruct": [0], // Make a copy of structure/union type
"EditCopy": ["Ctrl-C", "sys(Copy)"],
"FindAllErrors": [0],
"GraphCircleLayout": [0],
"GraphDigraphLayout": [0],
"GraphNewProximityView": [0], // Open new proximity browser
"GraphOrthogonalLayout": [0],
"GraphPolarLayout": [0],
"GraphProximityAddGraph": [0], // Expand children
"GraphProximityAddNode": [0], // Add name
"GraphProximityAddNodeByAddr": [0], // Add name
"GraphProximityAddParents": [0], // Expand parents
"GraphProximityDelChilds": [0], // Collapse children
"GraphProximityDelNode": [0], // Hide node
"GraphProximityDelParents": [0], // Collapse parents
"GraphProximityExpand": [0], // Expand node
"GraphProximityExpandCurrent": ["+"], // Expand current node
"GraphProximityFindPath": [0], // Find path
"GraphProximityReset": [0], // Reset graph
"GraphRadialLayout": [0],
"GraphSelectColor": [0], // Select nodes with the same color as the current node
"GraphTreeLayout": [0],
"JumpNewDump": [0],
"JumpToIP": [0],
"LoadFile": [0], // Load additional binary file
"Locals": [0], // Open local variables window
"Modules": [0], // Open modules window
"NewFile": [0], // Create a new database
"OpenSourceFile": [0], // Open a source file
"SelectAll": [0],
"SelectIdentifier": ["Shift-Enter"],
"SetupData": ["Alt-D"],
"SetupDebugger": [0],
"SetupProcess": [0],
"SetupSrcPaths": [0], // Setup source paths mappings
"SetupSrcPathsRevert": [0], // Revert, when setting source paths mappings up
"ShortcutEditor": [0], // Edit shortcuts
"StackView": [0],
"ToggleSourceDebug": [0],
"ToggleTraceBasicBlocks": [0], // Toggle basic block tracing
"TracingMainTracebufInfo": ["Ctrl-I"], // View main trace info
"TracingOvlTracebufInfo": ["Ctrl-Shift-I"], // View overlay trace info
"TracingMainTracebufClear": ["Ctrl-X"], // Clear main trace
"TracingOvlTracebufClear": ["Ctrl-Shift-X"], // Clear overlay trace
"TracingMainTracebufLoad": ["Ctrl-L"], // Clear main trace
"TracingOvlTracebufLoad": ["Ctrl-Shift-L"], // Clear overlay trace
"TracingMainTracebufSave": ["Ctrl-S"], // Save main trace
"TracingShowTraceCallGraph": ["Ctrl-G"], // Show trace call graph
"TracingMainTracebufExportAsText": [0], // Export main trace as text
"TracingMainTracebufChangeDesc": ["Ctrl-E"], // Edit main trace description
"TracingDiffToggle": ["Ctrl-D"], // Toggle diff
"LocalTypesSync": [0], // Synchronize to idb
"LocalTypesSyncAndJump": [0], // Synchronize to idb, and jump
"LocalTypesUnsync": [0], // Unsync from idb
"LocalTypesExportToHeader": [0], // Export to header file
"LocalTypesMapToAnother": [0], // Map to another type...
"LocalTypesToggleDynSel": [0], // Show selection only
"DirTreeCreateFolder": [0], // hlp_dirtree_create_folder
"DirTreeQuickFilter": ["Ctrl-F", "sys(Find)"], // Quick filter
"DirTreeModifyFilters": [0], // Modify filters...
"DirTreeResetFilters": [0], // Reset filters
"DirTreeUnsort": [0], // Unsort
#ifdef __MAC__
"DirTreeInsert": ["I"], // Insert
#else
"DirTreeInsert": ["Ins"], // Insert
#endif
"DirTreeDelete": ["Del"], // Delete
"DirTreeSearch": ["Alt-T"], // Search
"DirTreeSearchAgain": ["Ctrl-T"], // Search again
#ifdef __MAC__
"DirTreeRename": [0], // Rename
#else
"DirTreeRename": ["F2"], // Rename
#endif
"DirTreeCopy": ["sys(Copy)", "Ctrl-C"], // Copy selection
#ifdef __MAC__
"DirTreeCopyAll": ["Ctrl-Shift-I"], // Copy all
#else
"DirTreeCopyAll": ["Ctrl-Shift-INS"], // Copy all
#endif
"DirTreeExpandSelection": ["Ctrl-Numpad+"], // Expand selected folders
"DirTreeCollapseSelection": ["Ctrl-Numpad-"], // Collapse selected folders
"DirTreeCutSelection": ["Ctrl-X"], // Cut selection
"DirTreePasteCut": ["Ctrl-V"], // Paste current cut
"QuickFilterMatchCase": [0], // quick filtering; match case
"QuickFilterModeRegex": [0], // quick filtering; regex mode
"QuickFilterModeFuzzy": [0], // quick filtering; fuzzy mode
"QuickFilterModeWholeWords": [0], // quick filtering; whole words
"DebuggerSuspendThread": [0], // Suspend thread
"DebuggerResumeThread": [0], // Resume thread
"LoadModuleDebugSymbols": [0], // hlp_load_module_debug_symbols
"AnalyzeModule": [0], // hlp_analyze_module
"JumpToModuleBase": [0], // hlp_jump_to_module_base
"BreakOnModuleAccess": [0], // hlp_break_on_module_access
"SetupStrings": [0], // Setup...
"RebuildStrings": [0], // Rebuild...
"ClearStrings": [0], // Clear...
"MoveSelectedSegment": [0], // Move segment(s)
"BreakOnSegmentAccess": [0], // Break on access
"WatchList": [0], // Open the watch list window
"WatchView": [0], // Open a new watch window
"PatchedBytes": ["Ctrl-Alt-P"], // Patched bytes
"ExportData": ["Shift-E"], // Export data
"DiffPrevChunk": ["Ctrl-P"], // Prev diff chunk
"DiffCenterChunk": [0], // Center to chunk
"DiffNextChunk": ["Ctrl-N"], // Next diff chunk
"DiffPrevConflict": ["Ctrl-Shift-P"], // Prev diff conflict
"DiffNextConflict": ["Ctrl-Shift-N"], // Next diff conflict
"DiffApplyHandlerNoConflicts": [0], // Resolve all non-conflicting differences in this step
"DiffApplyHandlerPickLocalOnConflict": [0], // Resolve all, keep 'local' changes in this step
"DiffApplyHandlerPickRemoteOnConflict": [0], // Resolve all, pick 'remote' changes in this step
"DiffProceedToTheNextStep": [0], // Temporary resolve all and go to the next step (diff mode)
"DiffApplyPickLocal": [0], // Resolve current, keep 'local' change
"DiffApplyPickRemote": [0], // Resolve current, pick 'remote' change
"DiffToggleBasePanel": [0], // Toggle 'common' panel
"DiffToggleDetails": [0], // Toggle 'details'
"DiffApplyHandlersPickLocalOnConflict": [0], // Apply all differences until this step (pick local)
"DiffApplyHandlersPickRemoteOnConflict": [0], // Apply all differences until this step (pick remote)
"DiffProceedToThisStep": [0], // Temporary apply all differences until this step (diff mode)
"BuyIDA": [0],
"Homepage": [0],
"SupportForum": [0],
"CheckFreeUpdate": [0],
"BugReport": [0],
"HelpHexraysSDK": [0],
"HelpIDASDK": [0],
"HelpIDCFunctions": [0],
"HelpPythonAPI": [0],
"CommandPalette": ["Ctrl-Shift-P"], // Open command palette
"RepeatLastPaletteCommand": ["Ctrl-Shift-R"] // Repeat last command
},
"new" : {
"JumpAsk": ["G"],
"JumpName": ["Ctrl-L"],
"JumpXrefFrom": ["Ctrl-J"],
"JumpOpXref": ["X"],
"JumpEntryPoint": ["Ctrl-E"],
"JumpEnter": ["Enter"], // jump to address under cursor
"JumpEnterNew": ["Alt-Enter"], // jump to address under cursor
// in a new window
"JumpPosition": ["Ctrl-M"],
"MarkPosition": ["Alt-M"],
"SearchHighlightUp": ["Alt-Up"],
"SearchHighlightDown": ["Alt-Down"],
"FindRegisterDefinition": ["Shift-Alt-Up"],
"FindRegisterUse": ["Shift-Alt-Down"],
"ToggleRenderer": ["Space"],
"MakeCode": ["C"],
"MakeData": ["D"],
"MakeStrlit": ["A"],
"MakeArray": ["Numpad*", "*"],
"MakeUnknown": ["U"],
"MakeName": ["N"],
"MakeFunction": ["P"],
"EditFunction": ["Alt-P"],
"OpenStackVariables": ["Ctrl-K"], // open stack variables window
"SetType": ["Y"],
"MakeComment": [":"],
"MakeRptCmt": [";"],
"TilMakeComment": [":", ";", "/"],
"TilFocusOther": ["Tab"],
"TilEditType": ["Ctrl-E"],
//TODO: all the "asks"
#ifdef __MAC__
"MakeExtraLineA": ["I"],
"MakeExtraLineB": ["Shift-I"],
#else
"MakeExtraLineA": ["Ins"],
"MakeExtraLineB": ["Shift-Ins"],
#endif
"OpNumber": ["#"],
"OpHex": ["Q"],
"OpDecimal": ["H"],
"OpOctal": [0],
"OpBinary": ["B"],
"ToggleLeadingZeroes": ["0"],
"OpFloat": [0],
"OpChar": ["R"],
"OpSegment": ["S"],
"OpOffset": ["O"],
"OpAnyOffset": ["Alt-R"],
"OpUserOffset": ["Ctrl-R"],
"OpStructOffset": ["T"],
"OpStackVariable": ["K"],
"OpEnum": ["M"],
"ChangeSign": ["_"],
"BitwiseNegate": ["~"],
"OpenFunctions": ["Shift-F3"], // open functions window
"OpenExports": [0],
"OpenImports": [0],
"OpenNames": ["Shift-F4"],
"OpenSignatures": ["Shift-F5"], // open signatures window
"OpenSegments": ["Shift-F7"],
"OpenSegmentRegisters": ["Shift-F8"],
"OpenSelectors": [0],
"OpenXrefs": [0],
"OpenProblems": [0],
"OpenTypeLibraries": ["Shift-F11"],
"GraphFunc": [0], // display function flow-chart
"CallFlow": [0], // display function call graph
"PrintFlowLabels": [0],
"ChartXrefsTo": [0], // display referenced items
"ChartXrefsFrom": [0], // display referencing items
"ChartXrefsUser": [0], // display referenced/referencing items
"OpenStrings": ["Shift-F12"],
"OpenCallers": [0], // display function call list
"OpenLocalTypes": ["Shift-F1"],
"Calculate": ["?"],
"ShowFlags": ["F"],
"FocusCLI": ["."], // focus command line
"FocusCLI2": ["Ctrl-."], // focus command line (from anywhere in IDA)
"ShowHelp" : "sys(HelpContents)",
"LoadNewFile" : "sys(Open)",
"CloseWindow" : "sys(Close)",
"SaveBase" : "sys(Save)",
"NewInstance" : "sys(New)",
"QuitIDA" : ["Alt-X", "sys(Quit)"],
"SaveBaseAs" : "sys(SaveAs)",
//"DelEnum" : "sys(Delete)",
//"DelWatch" : "sys(Delete)",
//"TilDelType" : "sys(Delete)",
"EditCopy" : "sys(Copy)",
"OutputCopy" : "sys(Copy)",
"UndoAction" : "sys(Undo)",
"RedoAction" : "sys(Redo)",
"Return" : ["Esc", "sys(Back)"],
"UndoReturn" : ["Ctrl-Enter", "sys(Forward)"],
"AskNextText": ["sys(Find)"],
"JumpText": ["sys(FindNext)"],
"OutputFind": ["sys(Find)"],
"OutputFindNext": ["sys(FindNext)"],
#ifdef __MAC__
"CommandPalette": ["Meta-Shift-P"], // Open command palette
#else
"CommandPalette": ["Ctrl-Shift-P"], // Open command palette
#endif
#ifdef __MAC__
"GraphZoom100" : "Meta-0",
#else
"GraphZoom100" : "Ctrl-0",
#endif
"GraphZoomFit" : "W",
"GraphZoomIn" : "sys(ZoomIn)",
"GraphZoomOut" : "sys(ZoomOut)",
"GraphPrint" : "sys(Print)",
"NextWindow" : "sys(NextChild)",
"PrevWindow" : "sys(PreviousChild)",
#ifdef __MAC__
"WindowActivate1": ["Meta-1"],
"WindowActivate2": ["Meta-2"],
"WindowActivate3": ["Meta-3"],
"WindowActivate4": ["Meta-4"],
"WindowActivate5": ["Meta-5"],
"WindowActivate6": ["Meta-6"],
"WindowActivate7": ["Meta-7"],
"WindowActivate8": ["Meta-8"],
"WindowActivate9": ["Meta-9"],
#else
"WindowActivate1": ["Alt-1"],
"WindowActivate2": ["Alt-2"],
"WindowActivate3": ["Alt-3"],
"WindowActivate4": ["Alt-4"],
"WindowActivate5": ["Alt-5"],
"WindowActivate6": ["Alt-6"],
"WindowActivate7": ["Alt-7"],
"WindowActivate8": ["Alt-8"],
"WindowActivate9": ["Alt-9"],
#endif
"ActinsQuickFilter" : "sys(Find)",
"ChooserQuickFilter": "sys(Find)",
"DirTreeQuickFilter": "sys(Find)",
"SelectAll" : "sys(SelectAll)",
"OutputSelectAll" : "sys(SelectAll)",
"NavRight" : ["sys(MoveToNextChar)","sys(SelectNextChar)"],
"OutputNavRight" : ["sys(MoveToNextChar)","sys(SelectNextChar)"],
"NavLeft" : ["sys(MoveToPreviousChar)","sys(SelectPreviousChar)"],
"OutputNavLeft" : ["sys(MoveToPreviousChar)","sys(SelectPreviousChar)"],
"NavWordRight" : ["sys(MoveToNextWord)","sys(SelectNextWord)"],
"OutputNavWordRight" : ["sys(MoveToNextWord)","sys(SelectNextWord)"],
"NavWordLeft" : ["sys(MoveToPreviousWord)","sys(SelectPreviousWord)"],
"OutputNavWordLeft" : ["sys(MoveToPreviousWord)","sys(SelectPreviousWord)"],
"NavLineDown" : ["sys(MoveToNextLine)","sys(SelectNextLine)"],
"OutputNavLineDown" : ["sys(MoveToNextLine)","sys(SelectNextLine)"],
"NavLineUp": ["sys(MoveToPreviousLine)","sys(SelectPreviousLine)"],
"OutputNavLineUp": ["sys(MoveToPreviousLine)","sys(SelectPreviousLine)"],
"NavPageDown": ["sys(MoveToNextPage)","sys(SelectNextPage)"],
"OutputNavPageDown": ["sys(MoveToNextPage)","sys(SelectNextPage)"],
"NavPageUp": ["sys(MoveToPreviousPage)","sys(SelectPreviousPage)"],
"OutputNavPageUp": ["sys(MoveToPreviousPage)","sys(SelectPreviousPage)"],
"NavJumpHome": ["sys(MoveToStartOfLine)","sys(SelectStartOfLine)"],
#ifdef __LINUX__
// sys(MoveToEndOfLine) on linux is `Ctrl-E` which is already in use
"NavJumpEnd": ["End", "sys(SelectEndOfLine)"],
#else
"NavJumpEnd": ["sys(MoveToEndOfLine)","sys(SelectEndOfLine)"],
#endif
"Options": "sys(Preferences)",
"Fullscreen": "sys(FullScreen)"
}
}
//
// Main Menu layout
// ----------------
//
MENUS_LAYOUT = [
{
"label" : "&File",
"name" : "File",
"actions" : [
"NewInstance",
"LoadNewFile",
{
"label" : "&Load file",
"actions" : [
"ReloadFile",
"LoadFile",
"LoadIdsFile",
"LoadPdbFile",
"LoadDbgFile",
"LoadTdsFile",
"LoadSigFile",
"LoadHeaderFile"
]
},
{
"label" : "&Produce file",
"actions" : [
"ProduceMap",
"ProduceAsm",
"ProduceInc",
"ProduceLst",
"ProduceExe",
"ProduceDiff",
"ProduceHtml",
"ProduceFuncGdl",
"ProduceCallGdl",
"ProduceHeader",
"",
"DumpDatabase",
"DumpTypes"
]
},
"Execute",
"ExecuteLine",
"SaveBase",
"SaveBaseAs",
"SaveBaseSnap",
"CloseBase",
"",
"QuickStart",
"QuitIDA"
]
},
{
"label" : "&Edit",
"name" : "Edit",
"actions" : [
"EditCopy",
"Anchor",
"SelectAll",
"SelectIdentifier",
"UndoAction",
"RedoAction",
"",
"ExportData",
"",
"MakeCode",
"MakeData",
"DeclareStructVar",
{
"label" : "St&rings",
"name" : "Strings",
"icon" : "themeicon-StringC",
"actions" : [
"MakeStrlit",
"",
"StringC",
"StringDOS",
"StringPascal1",
"StringPascal2",
"StringDelphi",
"StringUnicode",
"StringUnicodePascal2",
"StringUnicodePascal4"
]
},
"MakeArray",
"MakeUnknown",
"MakeName",
"",
{
"label" : "&Operand type",
"actions" : [
{
"label" : "&Offset",
"name" : "OpTypeOffset",
"icon" : "themeicon-OpOffset",
"actions" : [
"OpOffset",
"OpOffsetCs",
"OpAnyOffset",
"OpUserOffset",
"OpStructOffset"
]
},
{
"label" : "&Number",
"name" : "OpTypeNumber",
"icon" : "themeicon-OpNumber",
"actions" : [
"OpNumber",
"OpHex",
"OpDecimal",
"OpOctal",
"OpBinary",
"OpFloat",
"",
"ToggleLeadingZeroes"
]
},
"OpChar",
"OpSegment",
"OpEnum",
"OpStackVariable",
"ChangeSign",
"BitwiseNegate",
"ManualOperand",
"SetOpType"
]
},
{
"label" : "Co&mments",
"actions" : [
"MakeComment",
"MakeRptCmt",
"MakeExtraLineA",
"MakeExtraLineB"
]
},
{
"label" : "&Segments",
"actions" : [
"CreateSegment",
"EditSegment",
"KillSegment",
"MoveSegment",
"RebaseProgram",
"SegmentTranslation",
"SetSegmentRegister",
"SetSegmentRegisterDefault"
]
},
{
"label" : "S&tructs",
"actions" : [
"DeclareStructVar",
"ZeroStructOffset",
"SelectUnionMember",
"CreateStructFromData",
"CopyFieldsToPointers"
]
},
{
"label" : "&Functions",
"actions" : [
"MakeFunction",
"EditFunction",
"AppendFunctionTail",
"RemoveFunctionTail",
"DelFunction",
"FunctionEnd",
"OpenStackVariables",
"ChangeStackPointer",
"RenameRegister",
"SetType"
]
},
{
"label" : "&Patch program",
"actions" : [
"PatchByte",
"PatchWord",
"Assemble",
"PatchedBytes",
"ApplyPatches"
]
},
{
"label" : "Ot&her",
"actions" : [
"MakeAlignment",
"ManualInstruction",
"ColorInstruction",
"ToggleBorder"
]
},
{
"label" : "Plu&gins",
"name" : "Plugins",
"actions" : []
}
]
},
{
"label" : "&Jump",
"name" : "Jump",
"actions" : [
"JumpEnter",
"JumpEnterNew",
"Return",
"UndoReturn",
"EmptyStack",
"",
"JumpAsk",
"JumpName",
"JumpFunction",
"JumpSegment",
"JumpSegmentRegister",
"JumpQ",
"JumpXref",
"JumpXrefFrom",
"JumpOpXref",
"JumpEntryPoint",
"JumpFileOffset",
"",
"MarkPosition",
"JumpPosition",
"ClearMark"
]
},
{
"label" : "Searc&h",
"name" : "Search",
"actions" : [
"JumpCode",
"JumpData",
"JumpExplored",
"JumpUnknown",
"AskNextImmediate",
"JumpImmediate",
"AskNextText",
"JumpText",
"AskBinaryText",
"JumpBinaryText",
"JumpNotFunction",
"JumpSuspicious",
"JumpError",
"FindAllSuspicious",
"FindAllErrors",
"",
"SetDirection",
"",
"SearchHighlightUp",
"SearchHighlightDown",
{
"label" : "Lock highlight",
"name" : "LockHighlightMenu",
"actions" : [
"LockHighlight_0",
"LockHighlight_1",
"LockHighlight_2",
"LockHighlight_3",
"LockHighlight_4",
"LockHighlight_5",
"LockHighlight_6",
"LockHighlight_7"
]
},
"FindRegisterDefinition",
"FindRegisterUse"
]
},
{
"label" : "&View",
"name" : "View",
"actions" : [
{
"label" : "&Open subviews",
"name" : "Subviews",
"actions" : [
"QuickView",
"",
"WindowOpen",
"GraphNewProximityView",
"ToggleDump",
"AddressDetails",
"",
"OpenExports",
"OpenImports",
"OpenNames",
"OpenFunctions",
"OpenStrings",
"",
"OpenSegments",
"OpenSegmentRegisters",
"OpenSelectors",
"",
"OpenSignatures",
"OpenTypeLibraries",
"",
"OpenLocalTypes",
"",
"OpenXrefs",
"OpenCallers",
"",
"OpenBookmarks",
"",
"OpenNotepad",
"OpenProblems",
"PatchedBytes",
"ShowUndoHistory"
]
},
{
"label" : "&Graphs",
"actions" : [
"GraphFunc",
"PrintFlowLabels",
"",
"CallFlow",
"ChartXrefsTo",
"ChartXrefsFrom",
"ChartXrefsUser"
]
},
{
"label" : "&Toolbars",
"name" : "Toolbars",
"actions" : []
},
"Calculate",
"FullScreen",
"GraphOverview",
"RecentScripts",
"ShowSnapMan",
"",
"ShowRegisters",
"ShowFlags",
"FindRegisterValue",
"",
"Hide",
"UnHide",
"HideAll",
"UnHideAll",
"DelHiddenRange",
"SetupHidden"
]
},
{
"label" : "", // The debugger menu labels are replaced automatically according to what menu is visible
"name" : "DebuggerSelected",
"visible_initially" : false,
"actions" : [
"QuickDbgView",
"",
{
"label" : "&Debugger windows",
"name" : "DebuggerWindows",
"actions" : [
"Debugger",
"Threads",
"Modules",
"Locals",
"StackView",
"StackTrace",
"WatchView"
]
},
{
"label" : "&Breakpoints",
"actions" : [
"Breakpoints",
"BreakpointAdd",
"BreakpointDel"
]
},
{
"label" : "&Watches",
"actions" : [
"WatchList",
"AddWatch",
"DelWatch"
]
},
{
"label" : "Tracin&g",
"actions" : [
"TracingWindow",
"ClearTrace",
"",
"ToggleTraceInstructions",
"ToggleTraceBasicBlocks",
"ToggleTraceFunctions",
"",
"WriteTraceAdd",
"ReadWriteTraceAdd",
"ExecTraceAdd",
"",
"SetupTracing"
]
},
"",
"ProcessStart",
"ProcessAttach",
"SetupProcess",
"ProcessPause",
"ProcessExit",
"ProcessDetach",
"RefreshMemcfg",
"TakeSnapshot",
"",
"ThreadStepInto",
"ThreadStepOver",
"ThreadRunUntilReturn",
"ThreadRunToCursor",
"",
"SwitchToSource",
"ToggleSourceDebug",
"OpenSourceFile",
"",
"SetupDebugger",
"SwitchDebugger"
]
},
{
"label" : "",
"name" : "DebuggerUnselected",
"visible_initially" : false,
"actions" : [
"SwitchDebugger"
]
},
{
"label" : "",
"name" : "DebuggerRunToAndAttach",
"actions" : [
{
"label" : "&Run",
"name" : "DebuggerRunTo",
"actions" : []
},
{
"label" : "&Attach",
"name" : "DebuggerAttach",
"actions" : []
}
]
},
#if !defined(__DEMO__) && !defined(__IDAFREE__)
{
"label" : "Lumi&na",
"name" : "Lumina",
"visible_initially" : false,
"actions" : [
"LuminaPullAllMds",
"LuminaPushAllMds",
"LuminaViewAllMds",
"LuminaPullMd",
"LuminaPushMd",
{
"label" : "&Secondary server",
"actions" : [
"LuminaSecondaryPullAllMds",
"LuminaSecondaryPushAllMds",
"LuminaSecondaryViewAllMds",
"LuminaSecondaryPullMd",
"LuminaSecondaryPushMd"
]
},
"LuminaRevertMd"
]
},
#endif
{
"label" : "&Options",
"name" : "Options",
"actions" : [
"Options",
"SetColors",
"SetFont",
"ShortcutEditor",
"CommandPalette",
"RepeatLastPaletteCommand",
"UndoToggle",
"ResetUndoHistory",
"SetDirectives",
"SetNameType",
"SetDemangledNames",
"SetupCompiler",
"SetStrlitStyle",
"SetupCompiler",
"SetStrlitStyle",
"SetupData",
"SetupSrcPaths"
]
},
{
"label" : "&Windows",
"name" : "Windows",
"actions" : [
"LoadDesktop",
"SaveDesktop",
"DeleteDesktop",
"ResetDesktop",
"",
"ResetHiddenMessages",
"",
"WindowsList",
"NextWindow",
"PrevWindow",
"CloseWindow",
"FocusCLI2",
"",
"OutputWindow",
"WindowActivate1",
"WindowActivate2",
"WindowActivate3",
"WindowActivate4",
"WindowActivate5",
"WindowActivate6",
"WindowActivate7",
"WindowActivate8",
"WindowActivate9"
]
},
{
"label" : "Help",
"name" : "Help",
"actions" : [
"ShowHelp",
{
"label" : "A&PI Documentation",
"name" : "APIDoc",
"actions" : [
"HelpPythonAPI",
"HelpIDASDK",
"HelpHexraysSDK",
"HelpIDCFunctions"
]
},
#ifdef __NT__
// "ExternalHelp",
#endif
"About",
"LicenseManager",
"",
"BuyIDA",
"Homepage",
"SupportForum",
"CheckFreeUpdate",
"BugReport"
]
},
// -------------------------------------------------------------------
// "Local Types" menus for Structures (and unions), Enums and Typedefs
// -------------------------------------------------------------------
{
"label" : "&Edit",
"name" : "Types_S:Edit",
"present_initially" : false,
"actions" : [
"EditCopy",
"UndoAction",
"RedoAction",
"",
"TilAddType",
"TilDelType",
"TilEditType",
"",
"TilExpandStruct",
"ShrinkStruct",
"CopyStruct",
"",
"MakeData",
"DeclareStructVar",
"MakeStrlit",
"MakeArray",
"TilDelTypeMember",
"TilAddTypeMember",
"MakeName",
"SetType",
"CreateStructFromData",
"",
"TilMakeComment",
"",
"JumpXref",
"",
{
"label" : "&Field type",
"name" : "Types_S:FieldType",
"actions" : [
{
"label" : "&Offset",
"icon" : "themeicon-OpOffset",
"actions" : [
"OpOffset",
"OpOffsetCs",
"OpUserOffset",
"OpStructOffset"
]
},
{
"label" : "&Number",
"icon" : "themeicon-OpNumber",
"actions" : [
"OpNumber",
"OpHex",
"OpDecimal",
"OpOctal",
"OpBinary",
"OpFloat",
"",
"ToggleLeadingZeroes"
]
},
"OpChar",
"OpSegment",
"OpEnum",
"ChangeSign",
"BitwiseNegate"
]
},
"",
"TilCSyntax"
]
},
{
"label" : "&Edit",
"name" : "Types_E:Edit",
"present_initially" : false,
"actions" : [
"EditCopy",
"UndoAction",
"RedoAction",
"",
"TilAddType",
"TilDelType",
"TilEditType",
"",
"MakeData",
"TilDelTypeMember",
"TilAddTypeMember",
"FuncChangeCC",
"MakeName",
"TilEditConst",
"EditArgloc",
"",
"TilMakeComment",
"ToggleLeadingZeroes"
"",
"TilCSyntax"
]
},
{
"label" : "&Edit",
"name" : "Types_T:Edit",
"present_initially" : false,
"actions" : [
"EditCopy",
"UndoAction",
"RedoAction",
"",
"TilAddType",
"TilDelType",
"TilEditType",
"",
"TilMakeComment",
"MakeName",
"",
"TilCSyntax"
]
},
{
"label" : "&Edit",
"name" : "Types_F:Edit",
"present_initially" : false,
"actions" : [
"EditCopy",
"UndoAction",
"RedoAction",
"",
"TilEditType",
"",
"MakeData",
"TilDelTypeMember",
"TilAddTypeMember",
"FuncChangeCC",
"MakeName",
"SetType",
"EditArgloc",
"",
"TilMakeComment"
]
},
{
"label" : "&Jump",
"name" : "Types_S:Jump",
"present_initially" : false,
"actions" : [
"JumpName",
"JumpXref",
"",
"MarkPosition",
"JumpPosition",
"ClearMark"
]
},
{
"label" : "&Jump",
"name" : "Types_E:Jump",
"present_initially" : false,
"actions" : [
"JumpName",
"",
"MarkPosition",
"JumpPosition",
"ClearMark"
]
},
{
"label" : "&Jump",
"name" : "Types_T:Jump",
"present_initially" : false,
"actions" : [
"MarkPosition",
"JumpPosition",
"ClearMark"
]
},
{
"label" : "&Jump",
"name" : "Types_F:Jump",
"present_initially" : false,
"actions" : [
"MarkPosition",
"JumpPosition",
"ClearMark"
]
},
{
"label" : "Searc&h",
"name" : "Types_S:Search",
"present_initially" : false,
"actions" : [
"AskNextText",
"JumpText",
"",
"SetDirection"
]
},
{
"label" : "Searc&h",
"name" : "Types_E:Search",
"present_initially" : false,
"actions" : [
"AskNextText",
"JumpText",
"",
"SetDirection"
]
},
{
"label" : "Searc&h",
"name" : "Types_T:Search",
"present_initially" : false,
"actions" : [
"AskNextText",
"JumpText",
"",
"SetDirection"
]
},
{
"label" : "Searc&h",
"name" : "Types_F:Search",
"present_initially" : false,
"actions" : [
"AskNextText",
"JumpText",
"",
"SetDirection"
]
},
// ---------------
// "Notepad" menus
// ---------------
{
"label" : "&Edit",
"name" : "Database notepad:Edit",
"present_initially" : false,
"actions" : [
"NotepadFind",
"NotepadFindNext"
]
},
// -------------
// "Choosers" menus
// -------------
{
"label" : "&Edit",
"name" : "Chooser:Edit",
"present_initially" : false,
"actions" : [
"ChooserInsert",
"ChooserDelete",
"ChooserEdit",
"ChooserRefresh",
"",
"UndoAction",
"RedoAction",
"",
"ChooserCopy",
"ChooserCopyAll",
"",
"ChooserUnsort",
"",
"ChooserQuickFilter",
"ChooserModifyFilters",
"ChooserResetFilters"
]
},
{
"label" : "Searc&h",
"name" : "Chooser:Search",
"present_initially" : false,
"actions" : [
"ChooserSearch",
"ChooserSearchAgain"
]
}
,
// -------------
// Diff desktop
// -------------
{
"label" : "&File",
"name" : "diffmerge:File",
"actions" : [
"QuickStart",
"QuitIDA"
]
},
{
"label" : "&Edit",
"name" : "diffmerge:Edit",
"actions" : [
"EditCopy",
"Anchor",
"SelectAll",
"SelectIdentifier"
]
},
{
"label" : "&Jump",
"name" : "diffmerge:Jump",
"template" :
{
"name" : "Jump"
}
},
{
"label" : "&Search",
"name" : "diffmerge:Search",
"template" :
{
"name" : "Search"
}
},
{
"label" : "&Windows",
"name" : "diffmerge:Windows",
"template" :
{
"name" : "Windows",
"remove" : ["FocusCLI2"]
}
},
{
"label" : "&Help",
"name" : "diffmerge:Help",
"template" :
{
"name" : "Help",
"remove" : ["APIDoc"]
}
}
]
//
// Toolbars layout
// ---------------
//
TOOLBARS_LAYOUT = [
{
"label" : "File",
"name" : "FileToolBar",
"actions" : [
"LoadNewFile",
"SaveBase"
]
},
{
"label" : "Jump",
"name" : "JumpToolBar",
"actions" : [
"Return",
"UndoReturn"
]
},
{
"label" : "Search",
"name" : "SearchToolBar",
"actions" : [
"AskNextImmediate",
"AskNextText",
"AskBinaryText",
"",
"SearchNext",
"",
"SetDirection",
"",
"@LockHighlight"
]
},
{
"label" : "Hide/Unhide",
"name" : "HideToolBar",
"actions" : [
"Hide",
"UnHide",
"DelHiddenRange"
]
},
{
"label" : "Analysis",
"name" : "AnalysisToolBar",
"actions" : [
"OpenProblems",
"Analysis"
]
},
{
"label" : "Views",
"name" : "ViewsToolBar",
"actions" : [
"WindowOpen",
"ToggleDump",
"Debugger"
]
},
{
"label" : "Graph view",
"name" : "GraphViewToolBar",
"actions" : [
"GraphFlatView",
"GraphGraphView",
"GraphProximityView",
"",
"GraphZoom100",
"GraphZoomFit",
"GraphLayout",
"GraphPrint",
"GraphSetupOptions",
"GraphSetupColors"
]
},
{
"label" : "Lists",
"name" : "ListsToolBar",
"actions" : [
"OpenExports",
"OpenImports",
"OpenNames",
"OpenFunctions",
"OpenStrings"
]
},
{
"label" : "Signatures/Types",
"name" : "SignTypesToolBar",
"actions" : [
"OpenSignatures",
"OpenTypeLibraries"
]
},
{
"label" : "Types",
"name" : "TypesToolBar",
"actions" : [
"OpenLocalTypes"
]
},
{
"label" : "Cross references",
"name" : "CrossReferencesToolBar",
"actions" : [
"OpenXrefs",
"OpenCallers"
]
},
{
"label" : "Segments",
"name" : "SegmentsToolBar",
"actions" : [
"OpenSegments",
"OpenSegmentRegisters",
"OpenSelectors"
]
},
"", // Toolbar break
{
"label" : "Edit",
"name" : "EditToolBar",
"actions" : [
"MakeCode",
"MakeData",
"DeclareStructVar",
"@MakeStrlit",
"MakeArray",
"MakeName",
"MakeUnknown"
]
},
{
"label" : "Operand type",
"name" : "OperandTypeToolBar",
"actions" : [
"@OpOffset",
"@OpNumber",
"OpChar",
"OpSegment",
"OpEnum",
"OpStackVariable",
"ChangeSign",
"BitwiseNegate",
"ManualOperand"
]
},
{
"label" : "Utilities",
"name" : "UtilitiesToolBar",
"actions" : [
"Calculate",
"OpenNotepad",
"ExecuteLine",
"Execute"
]
},
{
"label" : "Functions",
"name" : "FunctionsToolBar",
"actions" : [
"Function",
"OpenStackVariables",
"SetType"
]
},
{
"label" : "Local Types",
"name" : "LocalTypesToolBar",
"actions" : [
"TilAddType",
"TilDelType",
"TilEditType"
]
},
{
"label" : "Comments",
"name" : "CommentsToolBar",
"actions" : [
"MakeComment",
"MakeRptCmt",
"MakeExtraLineA",
"MakeExtraLineB"
]
},
{
"label" : "Graphs",
"name" : "GraphsToolBar",
"actions" : [
"GraphFunc",
"CallFlow",
"ChartXrefsTo",
"ChartXrefsFrom",
"ChartXrefsUser"
]
},
"", // Toolbar break
{
"label" : "Debug",
"name" : "DebugToolBar",
"actions" : [
"ProcessStart",
"ProcessPause",
"ProcessExit",
"@DebuggerList",
"",
"SwitchToSource",
"ToggleSourceDebug"
]
},
{
"label" : "Debugger commands",
"name" : "DbgCommandsToolBar",
"actions" : [
"ThreadStepInto",
"ThreadStepOver",
"ThreadRunUntilReturn",
"ThreadRunToCursor",
"",
"Threads",
"Modules"
]
},
{
"label" : "Breakpoints",
"name" : "BreakpointsToolBar",
"actions" : [
"Breakpoints",
"BreakpointAdd",
"BreakpointDel"
]
},
{
"label" : "Watches",
"name" : "WatchesToolBar",
"actions" : [
"WatchList",
"AddWatch",
"DelWatch"
]
},
{
"label" : "Tracing",
"name" : "TracingToolBar",
"actions" : [
"TracingWindow",
"",
"ToggleTraceInstructions",
"ToggleTraceFunctions",
"",
"StackTrace"
]
}
,
{
"label" : "Merge",
"name" : "MergeToolBar",
"basic_mode" : false,
"desktop_type" : "diff_merge",
"actions" : [
"DiffPrevChunk",
"DiffCenterChunk",
"DiffNextChunk",
"DiffPrevConflict",
"DiffNextConflict",
"",
"DiffApplyHandlerPickLocalOnConflict",
"DiffApplyHandlerPickRemoteOnConflict",
"",
"DiffApplyPickLocal",
"DiffApplyPickRemote",
"",
"DiffToggleBasePanel",
"DiffToggleDetails"
]
},
{
"label" : "Diff",
"name" : "DiffToolBar",
"basic_mode" : false,
"desktop_type" : "diff_merge",
"actions" : [
"DiffPrevChunk",
"DiffCenterChunk",
"DiffNextChunk",
"DiffProceedToTheNextStep",
"",
"DiffToggleDetails"
]
}
]
//
// File extension definitions
// --------------------------
//
// IDA extensions
#ifdef __EA64__
#define IDB_EXT "*.i64;*.id0"
#else
#define IDB_EXT "*.id?"
#endif
// Identifier, Name, Extension(s)
FILE_EXTENSIONS = {
// file formats:
// Windows
EXE_WIN, "PE Executables", "*.exe"
DLL_WIN, "PE Dynamic Libraries", "*.dll"
DRV_WIN, "PE/LE/NE Device Drivers", "*.sys;*.vxd;*.386;*.drv"
OBJ_WIN, "COFF/OMF Object Files", "*.obj"
LIB_WIN, "COFF/OMF Static Libraries", "*.lib"
// DOS
EXE_DOS, "MZ/LE/DJGPP-COFF/Watcom-W32RUN Executables", "*.exe"
DRV_DOS, ".sys Device Drivers", "*.sys"
OBJ_DOS, "OMF Object Files", "*.obj"
LIB_DOS, "OMF Static Libraries", "*.lib"
EXE_PHARLAP, ".exp PharLap Protected Mode Executables", "*.exp"
// Unix
EXE_UNIX, "ELF/COFF/A.OUT/QNX/SOM Executables", "*"
DLL_UNIX, "ELF/COFF Dynamic Libraries", "*.so;*.so.*"
OBJ_UNIX, "ELF/COFF/SOM Object Files", "*.o"
LIB_UNIX, "ELF/COFF Static Libraries", "*.a"
DLL_HPUX, ".sl HP-UX SOM Dynamic Libraries", "*.sl"
// Mac
EXE_MACOSX, "Mac OS X Mach-O Executables", "*"
DLL_MACOSX, "Mac OS X Mach-O Dynamic Libraries", "*.dylib"
EXE_MACOS, "Mac OS PEF Executables", "*"
OBJ_MACOSX, "Mac OS X Mach-O Object Files", "*.o"
LIB_MACOSX, "Mac OS X Mach-O Static Libraries", "*.a"
// Java
CLASS_JAVA, "Java Class Files", "*.cla*;*.cls"
ZIP_JAVA, ".jar/.zip Java Archives", "*.jar;*.zip"
// .NET
EXE_NET, ".NET Executables", "*.exe"
DLL_NET, ".NET Dynamic Libraries", "*.dll"
// various OS's
EXE_OS2, "OS/2 LX Executables", "*.exe"
DRV_NETWARE, "NetWare Loadable Modules", "*.nlm;*.lan;*.dsk"
EXE_BEOS, "BeOS ELF/PEF Executables", "*"
AMIGA, "Amiga Hunk Files", "*"
GEOS, "GeoWorks GEOS Files", "*.geo"
OS9, "OS-9 Object Files", "*"
EXE_FLEX, ".cmd Motorola FLEX OS Executables", "*.cmd"
EXE_RT11, ".sav PDP-11/RT-11 Executables", "*.sav"
// PDAs/handhelds
EXE_ARM, ".axf ARM Executables", "*.axf"
OBJ_ARM, "ARM Object Files", "*.o"
EXE_EPOC, ".app Symbian EPOC Executables", "*.app"
SIS_EPOC, ".sis Symbian EPOC Installation Files", "*.sis"
EXE_PALM, ".prc Palm Pilot Executables", "*.prc"
// consoles
EXE_XBOX, ".xbe Xbox Executables", "*.xbe"
EXE_N64, ".v64 Nintendo ROM Images", "*.v64"
ROM_NGB, ".bin Nintendo GameBoy ROM Images", "*.bin"
BIN_SPSX, ".bin Sony PlayStation BIOS Images", "*.bin"
EXE_SPSX, ".psx Sony PlayStation Executables", "*.psx"
OBJ_SPSX, "Sony PlayStation Object Files", "*.obj;*.o"
EXE_SDC, ".elf Sega Dreamcast ELF Executables", "*.elf"
// embedded
INTEL_HEX, ".hex Intel/MOS Hexadecimal Files", "*.hex"
S19_HEX, ".s19 Motorola S-record Hexadecimal Files", "*.s19"
OBJ_INTEL, "Intel OMF-386 Object Files", "*.obj"
MAS, ".p MAS Macro Assembler Code Files", "*.p"
SBN, ".sbn Structured Binary Format Files", "*.sbn"
// binary files
RAW_BIN, "Binary/Raw Files", "*.bin;*.raw"
ROM_BIN, "ROM Images", "*.rom"
DUMP_BIN, "Dump Files", "*.dmp;*.dump;*.mdmp"
// file categories (mainly used to define the default file filter):
ALL, "All Files", "*"
IDB, "IDA Databases", IDB_EXT
EXE, "Executable Files", EXE_*
DLL, "Dynamic Libraries", DLL_*
DRV, "Drivers", DRV_*
OBJLIB, "Object Files and Libraries", OBJ_*;LIB_*
JAVA, "Java Files", *_JAVA
NET, ".NET Files", *_NET
ARM, "ARM Files", *_ARM
EPOC, "Symbian EPOC Files", *_EPOC
SPSX, "Sony PlayStation Files", *_SPSX
HEX, "Hexadecimal Files", *_HEX
KNOWN, "All known file extensions", *
}
//
// Default file filter (used by the Open command)
//
DEFAULT_FILE_FILTER = { KNOWN ALL IDB EXE DLL DRV OBJLIB JAVA NET DRV_NETWARE GEOS EXE_FLEX EXE_RT11 ARM EPOC SPSX EXE_PALM EXE_XBOX EXE_N64 EXE_SDC HEX MAS SBN RAW_BIN ROM_BIN DUMP_BIN }
//-------------------------------------------------------------------------
// User specific parameters
//-------------------------------------------------------------------------
//
// If you don't want to modify IDAGUI.CFG file then you can create a file
// called IDAUSERG.CFG and place additional parameters there.
//
// The IDAUSERG.CFG file should be placed in the IDA/CFG directory.
//
#softinclude <idauserg.cfg>