Files
ida-scripts/cfg/idagui.cfg
2018-08-02 06:57:30 -04:00

1680 lines
57 KiB
INI

// Config file for the graphical mode user interface
// *************************************************
// Screen configuration
// --------------------
SCREEN_CURSOR = 0 // = 0 normal cursor
// = 1 block cursor
RECENT_SCRIPTS_MODAL = NO // Open "Recent scripts" window as a modal window
AUTOSAVE = 100 // After 100 user actions
// IDA flushes its buffers to disk
// The windows version of IDA determines the directory
// automatically. The following parameter isn't needed anymore.
// WINDIR = "c:\\windows" // Default directory to look up for
// MS Windows DLL files
// IDA will search subdirs
// "dll"
// "system"
// "system32"
// of this dir automatically
OS2DIR = "c:\\os2" // OS/2 main directory (is used to
// look up DLLs)
HELPFILE = "sample.hlp" // Name of help file used by Ctrl-F1
// Please change it as shown below:
//HELPFILE = "WIN32.HLP"
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
#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_YES // Confirm the "undefine" command
CONFIRM_SETFUNCEND_COMMAND = YES // Confirm the "set function end" command (E hotkey)
HISTORY_LENGTH = 10 // Maximum length of file->history
// Possible value is from 1 to 100
// This can set global binary path mappings.
// However, they will be discarded in case the IDB has its own mappings
// DEBUG_BINARY_PATHS="/home/user/binaries;C:\\binaries;/home/user/binaries2;C:\\binaries2"
//
// Note: You might want to not be bothered for requests for
// a mapping for binaries in a particular directory. In that case, use the special "<ignore>" token. E.g.,
// DEBUG_BINARY_PATH="/home/user/binaries;C:\\binaries;/usr/lib;<ignore>"
#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_LOCTYPS 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
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
// Specify Qt pixmap cache size, in MB. Bigger cache might speed rendering,
// but it's obviously at the expense of memory usage..
// Defaults to a value computed from the display resolution.
// (E.g., ~= 30MB on a 1024x768 screen.)
// QT_PIXMAP_CACHE_SIZE = 100
// 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
// 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"
#else
TAB_STYLE = "Themed" // One of Default, Enhanced, Flat, OfficeXP, Standard, Themed, VS2005
#endif
//
// Keyboard hotkey definitions
// ---------------------------
//
#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
"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
"Quit" = "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"
"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"
"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"
"SearchHighlightUp" = "Alt+Up,Shift+Alt+Up"
"SearchHighlightDown" = "Alt+Down,Shift+Alt+Down"
"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'
"MakeComment" = ':'
"MakeRptCmt" = ';'
#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'
// commented out because the french/italian versions of windows complain.
// if you want, you may uncomment it - anyway it doesn't make big difference
//"ChangeSign" = "Shift+-"
//"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
"OpenStructures" = "Shift-F9" // open structures window
"OpenEnums" = "Shift-F10" // open enums window
"OpenProblems" = 0
"OpenTypeLibraries" = "Shift-F11"
"GraphFunc" = "F12" // display function flow-chart
"CallFlow" = "Ctrl-F12" // 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"
"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
#ifdef __QT__
"SetFont" = 0 // show the fonts configuration dialog
#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__
"BasicMode" = 0
"AdvancedMode" = 0
#endif
//
// Structure manipulation commands
//
#ifdef __MAC__
"AddStruct" = "I" // add struct type
#else
"AddStruct" = "Ins" // add struct type
#endif
"DelStruct" = "Del" // del struct type
"ExpandStruct" = "Ctrl-E" // expand struct type
"ShrinkStruct" = "Ctrl-S" // shrink struct type
"EditStruct" = 0 // edit struct type
"DeclareStructVar" = "Alt-Q" // declare struct variable
"ZeroStructOffset" = "Ctrl-Z" // 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
"EditConst" = "Ctrl-N" // edit enum member
"DelConst" = "U" // delete enum member
//
// 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
//"WatchList" = "Ctrl-Alt-W" // open the watch list
"AddWatch" = 0 // add watch
"DelWatch" = "Del" // del watch
"StackTrace" = "Ctrl-Alt-S" // open stack trace window
"TraceWindow" = 0 // open trace 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
"GraphZoomMode" = 0 // Switch to zoom mode
"GraphSelectMode" = 0 // Switch to select mode
"GraphMoveMode" = 0 // Switch to move mode
"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
"ResetDesktop" = 0
"DeleteDesktop" = 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" = 0
//
// Others
// ------
//
"Analysis" = 0 //
"Anchor" = "Alt+L" //
"CLICopyAddress" = 0 //
"CLICopySize" = 0 //
"ClearMark" = 0 //
"CloseBase" = 0 //
"CopyStruct" = 0 // Make a copy of structure/union type
"EditCopy" = "Ctrl+C" //
"FindAllErrors" = 0 //
"GraphCircleLayout" = 0 //
"GraphDigraphLayout" = 0 //
"GraphNewProximityView" = 0 // Open new proximity browser
"GraphOrthogonalLayout" = 0 //
"GraphPolarLayout" = 0 //
"GraphProximityAddGraph" = 0 // Expand children
"GraphProximityAddNode" = 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
"ShortcutEditor" = 0 // Edit shortcuts
"StackView" = 0 //
"ToggleSourceDebug" = 0 //
"ToggleTraceBasicBlocks" = 0 // Toggle basic block tracing
"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
"BuyIDA" = 0
"Homepage" = 0
"SupportForum" = 0
"CheckFreeUpdate" = 0
"BugReport" = 0
"CommandPalette" = "Ctrl+Shift+P" // Open command palette
"RepeatLastPaletteCommand" = "Ctrl+Shift+R" // Repeat last command
//
// Menus 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",
"Quit"
]
},
{
"label" : "&Edit",
"name" : "Edit",
"actions" : [
"EditCopy",
"Anchor",
"SelectAll",
"SelectIdentifier",
"",
"ExportData",
"",
"MakeCode",
"MakeData",
"DeclareStructVar",
{
"label" : "St&rings",
"name" : "Strings",
"icon" : 0,
"actions" : [
"MakeStrlit",
"",
"StringC",
"StringDOS",
"StringPascal1",
"StringPascal2",
"StringDelphi",
"StringUnicode",
"StringUnicodePascal2",
"StringUnicodePascal4"
]
},
"MakeArray",
"MakeUnknown",
"MakeName",
"",
{
"label" : "&Operand type",
"actions" : [
{
"label" : "&Offset",
"name" : "OpTypeOffset",
"icon" : 23,
"actions" : [
"OpOffset",
"OpOffsetCs",
"OpAnyOffset",
"OpUserOffset",
"OpStructOffset"
]
},
{
"label" : "&Number",
"name" : "OpTypeNumber",
"icon" : 4,
"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"
]
},
{
"label" : "&View",
"name" : "View",
"actions" : [
{
"label" : "&Open subviews",
"name" : "Subviews",
"actions" : [
"QuickView",
"",
"WindowOpen",
"GraphNewProximityView",
"ToggleDump",
"",
"OpenExports",
"OpenImports",
"OpenNames",
"OpenFunctions",
"OpenStrings",
"",
"OpenSegments",
"OpenSegmentRegisters",
"OpenSelectors",
"",
"OpenSignatures",
"OpenTypeLibraries",
"",
"OpenStructures",
"OpenEnums",
"OpenLocalTypes",
"",
"OpenXrefs",
"OpenCallers",
"",
"OpenNotepad",
"OpenProblems",
"PatchedBytes"
]
},
{
"label" : "&Graphs",
"actions" : [
"GraphFunc",
"PrintFlowLabels",
"",
"CallFlow",
"ChartXrefsTo",
"ChartXrefsFrom",
"ChartXrefsUser"
]
},
{
"label" : "&Toolbars",
"name" : "Toolbars",
"actions" : []
},
"Calculate",
"FullScreen",
"GraphOverview",
"RecentScripts",
"ShowSnapMan",
"",
"ShowRegisters",
"ShowFlags",
"",
"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" : [
"TraceWindow",
"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" : []
}
]
},
{
"label" : "&Options",
"name" : "Options",
"actions" : [
"Options",
"SetColors",
"SetFont",
"ShortcutEditor",
"CommandPalette",
"RepeatLastPaletteCommand",
"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",
#ifdef __NT__
"ExternalHelp",
#endif
"About",
"",
"BuyIDA",
"Homepage",
"SupportForum",
"CheckFreeUpdate",
"BugReport"
]
},
// ------------------
// "Structures" menus
// ------------------
{
"label" : "&Edit",
"name" : "Struct:Edit",
"present_initially" : false,
"actions" : [
"EditCopy",
"",
"AddStruct",
"CopyStruct",
"EditStruct",
"DelStruct",
"",
"ExpandStruct",
"ShrinkStruct",
"",
"MakeData",
"DeclareStructVar",
"MakeStrlit",
"MakeArray",
"MakeUnknown",
"MakeName",
"SetType",
"CreateStructFromData",
"",
{
"label" : "&Field type",
"name" : "FieldType",
"actions" : [
{
"label" : "&Offset",
"icon" : 23,
"actions" : [
"OpOffset",
"OpOffsetCs",
"OpUserOffset",
"OpStructOffset"
]
},
{
"label" : "&Number",
"icon" : 4,
"actions" : [
"OpNumber",
"OpHex",
"OpDecimal",
"OpOctal",
"OpBinary",
"OpFloat"
]
},
"OpChar",
"OpSegment",
"OpEnum",
"ChangeSign",
"BitwiseNegate"
]
}
]
},
{
"label" : "&Jump",
"name" : "Struct:Jump",
"present_initially" : false,
"actions" : [
"JumpName",
"JumpXref",
"",
"MarkPosition",
"JumpPosition",
"ClearMark"
]
},
{
"label" : "Searc&h",
"name" : "Struct:Search",
"present_initially" : false,
"actions" : [
"AskNextText",
"JumpText",
"",
"SetDirection"
]
},
// -------------
// "Enums" menus
// -------------
{
"label" : "&Edit",
"name" : "Enum:Edit",
"present_initially" : false,
"actions" : [
"EditCopy",
"",
"AddEnum",
"EditEnum",
"DelEnum",
"",
"AddConst",
"EditConst",
"DelConst",
"",
{
"label" : "Comments",
"actions" : [
"MakeComment",
"MakeRptCmt"
]
}
]
},
{
"label" : "&Jump",
"name" : "Enum:Jump",
"present_initially" : false,
"actions" : [
"JumpName",
"",
"MarkPosition",
"JumpPosition",
"ClearMark"
]
},
{
"label" : "Searc&h",
"name" : "Enum:Search",
"present_initially" : false,
"actions" : [
"AskNextText",
"JumpText",
"",
"SetDirection"
]
}
]
//
// Toolbars layout
// ---------------
//
TOOLBARS_LAYOUT = [
{
"label" : "File",
"name" : "FileToolBar",
"basic_mode" : true,
"actions" : [
"LoadNewFile",
"SaveBase"
]
},
{
"label" : "Jump",
"name" : "JumpToolBar",
"basic_mode" : true,
"actions" : [
"Return",
"UndoReturn"
]
},
{
"label" : "Search",
"name" : "SearchToolBar",
"basic_mode" : true,
"actions" : [
"AskNextImmediate",
"AskNextText",
"AskBinaryText",
"",
"SearchNext",
"",
"SetDirection",
"",
"LockHighlight"
]
},
{
"label" : "Hide/Unhide",
"name" : "HideToolBar",
"actions" : [
"Hide",
"UnHide",
"DelHiddenRange"
]
},
{
"label" : "Analysis",
"name" : "AnalysisToolBar",
"basic_mode" : true,
"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" : "Structures/Enumerations",
"name" : "StructEnumToolBar",
"actions" : [
"OpenStructures",
"OpenEnums"
]
},
{
"label" : "Cross references",
"name" : "CrossReferencesToolBar",
"actions" : [
"OpenXrefs",
"OpenCallers"
]
},
{
"label" : "Segments",
"name" : "SegmentsToolBar",
"actions" : [
"OpenSegments",
"OpenSegmentRegisters",
"OpenSelectors"
]
},
"", // Toolbar break
{
"label" : "Edit",
"name" : "EditToolBar",
"basic_mode" : true,
"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" : "Enumerations",
"name" : "EnumerationsToolBar",
"actions" : [
"AddEnum",
"EditEnum",
"DelEnum",
"",
"AddConst",
"EditConst",
"DelConst"
]
},
{
"label" : "Structures",
"name" : "StructuresToolBar",
"actions" : [
"AddStruct",
"CopyStruct",
"EditStruct",
"DelStruct",
"",
"ExpandStruct",
"ShrinkStruct"
]
},
{
"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",
"basic_mode" : true,
"actions" : [
"ProcessStart",
"ProcessPause",
"ProcessExit",
"@DebuggerList",
"",
"SwitchToSource",
"ToggleSourceDebug"
]
},
{
"label" : "Debugger commands",
"name" : "DbgCommandsToolBar",
"actions" : [
"ThreadStepInto",
"ThreadStepOver",
"ThreadRunUntilReturn",
"ThreadRunToCursor",
"",
"Threads",
"Modules"
]
},
{
"label" : "Breakpoints",
"name" : "BreakpointsToolBar",
"basic_mode" : true,
"actions" : [
"Breakpoints",
"BreakpointAdd",
"BreakpointDel"
]
},
{
"label" : "Watches",
"name" : "WatchesToolBar",
"actions" : [
"WatchList",
"AddWatch",
"DelWatch"
]
},
{
"label" : "Tracing",
"name" : "TracingToolBar",
"actions" : [
"TraceWindow",
"",
"ToggleTraceInstructions",
"ToggleTraceFunctions",
"",
"StackTrace"
]
}
]
//
// 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"
OCX_WIN, ".ocx PE ActiveX Controls", "*.ocx"
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"
EXE_COM_DOS, ".com Executables", "*.com"
DRV_DOS, ".sys Device Drivers", "*.sys"
OVR_DOS, ".ovr Overlay Files", "*.ovr"
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>