In order to use IDA DOSBox debugger you need to build two things:
- Client plugin for IDA (this repository)
- Custom version of DOSBox which builds in the IDA debugger server (other repository)
The custom DOSBox build also requires some of the files in this repository, so you will pass the path to this repository in the --with-ida-plugin configure flag when compiling DOSBox. (It doesn’t matter which order they are built in.)
- Install Microsoft Compiler:
- Set path to IDA SDK in
build_vs.bat - Open the Visual C++ command line (or open a command line and run
vcvarsall.bat x86) - Run
build_vs.batand follow its instructions
- Install msys2 and follow the setup instructions
- Run
pacman -S mingw-w64-i686-toolchainto install GCC - (optional) Run
pacman -S mingw-w64-i686-SDLto install SDL if you also plan to compile DOSBox with MinGW - Set the path to IDA SDK in
build_mingw.sh - Run
build_mingw.shand follow its instructions
64-bit IDA/DOSBox: Replace “i686” with “x86_64” in the instructions above.
export IDA=/full/path/to/idasdk/
export __LINUX__=1
perl $IDA/bin/idamake.pl
export IDA=/full/path/to/idasdk/
export __MAC__=1
perl $IDA/bin/idamake.pl
First, make sure to copy/symlink your IDA library (Linux: libida.so, Mac: libida.dylib, Windows: ida.wll) to your idasdk/bin directory. Windows users: Rename ida.wll to ida.dll when you copy it! Then, follow the instructions for your platform below.
./autogen.sh
./configure --enable-debug=ida32 --with-ida-sdk=/full/path/to/idasdk --with-ida-plugin=/full/path/to/idados
make
MinGW-w64 users: You will need to change the #ifdef __GNUC__ surrounding the memicmp declaration in idasdk/include/pro.h to #if 0 to compile successfully.
./autogen.sh
CC="cc -m32" CXX="c++ -m32" ./configure --enable-debug=ida32 --with-ida-sdk=/full/path/to/idasdk --with-ida-plugin=/full/path/to/idados --host=i686-pc-linux-gnu
make
(The specific darwin release chosen shouldn’t matter.)
./autogen.sh
CC="cc -m32" CXX="c++ -m32" ./configure --enable-debug=ida32 --with-ida-sdk=/full/path/to/idasdk --with-ida-plugin=/full/path/to/idados --host=i686-apple-darwin12
make