## Installation

### Overview

BinNavi is not a stand-alone product. Depending on how you plan to use BinNavi you have to install additional third-party software packages. This section explains what third-party software is required or optional. Each additional third-party software and its installation and configuration is described.

### Installation of BinNavi

An installation of BinNavi is not necessary, but possible. For either Windows, Debian/Ubuntu Linux or MacOSX you can also use the provided installers. If you rather want to handle the process yourself or your OS of choice does not have an installer package you can also use the .zip file and just unpack BinNavi in a directory of your choice.

### License file

The license of BinNavi is your proof of ownership and should be copied into the appropriate spot respective your installation directory for BinNavi. For example if you have installed BinNavi in X:\BinNavi\ then "zynamics BinNavi License Key.txt" should be placed in this directory.

### Installation of Third-Party Software

No matter how you are using BinNavi, you need to install the following additional components:

- Java Runtime Environment 6.0+
- PostgreSQL Server 9+

If you want to use IDA Pro as your primary disassembler, you also need to install the following components:

- IDA Pro 6.0+

The recommended way to get data from IDA Pro into the PostgreSQL database is to use our exporter plugin. If you want to go this way you also need:

- Microsoft Visual C++ 2013 Redistributable package (note that this software is only required if you are using Microsoft Windows)

#### Java Runtime Environment 7.0+

Download Site: JRE 7.0 Download Site

The Java Runtime Environment (JRE) is necessary to run BinNavi. Before proceeding with the installation of BinNavi you should be sure to install at least version 7.0 of the JRE. You can check your version of Java by entering the command

    java -version

in the shell. The output should look similar to the one below.

    java version "1.7.0_55"
    OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1)
    OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)

BinNavi should work if the version output shows some kind of 1.7 version.

A default installation of the JRE 7.0+ is sufficient for BinNavi.

#### PostgreSQL Server 9.0+

Download Site: PostgreSQL Server Download Site
Product Site: PostgreSQL Server Product Site

PostgreSQL Server is always required if you want to use BinNavi because BinNavi stores all information about projects, modules, and assembly code in a PostgreSQL database. At least version 8.0 of PostgreSQL Server is required.

A default configuration of PostgreSQL Server works mostly fine with BinNavi but you might run into problems with mid-sized to large target applications. Should this happen it is recommended to change the following settings in your PostgreSQ Server configuration file.

- shared_buffers: We recommend to set this value to 1/4 of your total amount of RAM.
- effective_cache_size: We recommend to set this value to something between 1/2 and 3/4 of your total amount of memory.

For more information on performance tweaking your PostgreSQL setup please refer to the official website.

#### IDA Pro 6.5+

Product Site: IDA Pro Product Site

IDA Pro is a commercial disassembler that can disassemble binary files from many different platforms. Using IDA Pro is the recommended way of getting data into BinNavi. At least IDA 6.5 is necessary but IDA Pro 6.6 is recommended.

A default installation of IDA Pro works fine with BinNavi.

#### Microsoft Visual C++ 2013 Redistributable package (Windows only)

Product Site: Microsoft Visual C++ 2013 Redistributable package Download Site

If you are using BinNavi in Microsoft Windows and you have not yet installed the Microsoft Visual C++ Redistributable package, you need to install it for the C++-based exporter to work.

### Installation of the IDA Pro Plugin

If you are using IDA Pro as the primary data source for BinNavi you also have to install the IDA Pro exporter plugin. Note that the deprecated python plugin is not shipped anymore and has been replaced with the more mature C++ plugin.

#### Installation of the C++ plugin

You can install the C++ plugin through the IDA Pro path configuration dialog in the Global Settings dialog of BinNavi. There is a button that installs the exporter to the selected IDA Pro directory.

If installation of the C++ plugin fails, you can install the plugin manually. To do so you have to copy all the files (except BinExport.idc) from the BinNavi/exporters/BinExport directory to your IDA Pro directory. If you are running recent versions of BinDiff or previous versions of BinNavi, the exporter plugin zynamics_binexport_*.plw might already exist in your plugins directory.