Lesser known tricks for IDA configuration
21 May 2015This post is mainly for reference but it can be useful.
Being tired of copy/pasting my IDA config and plugins after each update, I
decided to check what I could do to centralize my config.
As I’m running Linux, I expect everything to be configurable from ~/.idapro
.
ida.cfg
You can override configuration options for IDA in ~/.idapro/idauser.cfg
.
For example, the classic :
#define DEMNAM_CMNT 0 // comments
#define DEMNAM_NAME 1 // regular names
#define DEMNAM_NONE 2 // don't display
DemangleNames = DEMNAM_NAME // Show demangled names as comments
IDAPython
IDApython will load ~/.idapro/idapythonrc.py
which can then be used to
specify additionnal paths to python, for example :
import sys
sys.path.append('/home/raph/.idapro/python')
You can now add Python libraries that will be available in all your IDA versions. For example :
python/
├── miasm2 -> /home/raph/bin/python/lib/python2.7/site-packages/miasm2
└── pyparsing.py -> /usr/lib/python2.7/dist-packages/pyparsing.py
Plugins
Unfortunately there’s no easy way right now to handle a custom user directory for plugins. While discussing the issue with Ilfak, he offered the following workaround:
User plugins can be handled the following way: defined IDAPLG envvar
that points to the user plugins directory. Create symlinks to all IDA
plugins from this directory.
Which is not exactly the same but may help if the user has no write access
to the IDA directory.
Maybe a future version will offer this feature :)
Update : IDA 6.9 supports the IDAUSR
environment variable. See doc for
awesomness :)