id = "idapro" name = "IDA Pro" homepage = "https://hex-rays.com/ida-pro" description = "A powerful disassembler, decompiler and a versatile debugger. In one tool." executables = ["ida", "ida64"] [dotfiles] # https://docs.hex-rays.com/core/user-interface/concepts/configuration-files — # IDA searches for its configuration files in "%IDADIR%\cfg" (the installation, # not user-level) and "%IDAUSR%\cfg", and names IDA.CFG, IDAGUI.CFG and # IDAPYTHON.CFG among them. # # https://docs.hex-rays.com/core/disassembler/concepts/environment-variables — # IDAUSR "specifies the directory for user-specific settings" and defaults to # "$HOME/.idapro" on Linux and macOS and "%APPDATA%/Hex-Rays/IDA Pro" on # Windows. The variable can name several directories at once, which a consumer # cannot resolve, so only the defaults are listed. Those two spellings are the # same location under two platform conventions, but the Windows one is a vendor # subdirectory rather than a dotted home path, so it has to be written out # separately. # # Only cfg/ is synced. The rest of the IDAUSR tree — plugins, loaders, processor # modules, themes, .til/.sig/.ids files — is installed content rather than # settings, and the licence file lives there too under a name that has changed # between releases; not naming the directory keeps it out of `paths` without # this entry having to guess that name. paths = [ "~/.idapro/cfg/", "%APPDATA%/Hex-Rays/IDA Pro/cfg/", ] # Nothing under cfg/ is a credential: these files are UI, disassembly and Python # options. This says nothing about the rest of the IDAUSR directory, which this # entry deliberately does not name. secret = [] # No machine_lines: ida.cfg and idagui.cfg are analysis defaults, colours and # keyboard shortcuts, which is what a reverse engineer wants on the next # machine.