Installation

The rematch project is composed of two parts: a server and an IDA plugin client.

While installing the plugin is exteremly easy, installing the server tends to be a little more difficult. Luckily, it’s only done once per organisation.

Installing Rematch Server

Installing a rematch server is only required once for a group of rematch users. Once an admin user is created, additional users can be managed through the admin console.

Warning

Since permissions are not currently enforced, it is advised that confidential data will be kept on servers only accessible to those with permission to access said data. See Privacy section for more details.

Tip

Windows based server installations are possible but not recommended. Some packages (scikit-learn, numpy, scipy) are required by the server but are more difficult to install on windows. Windows Subsystem for Linux may ease the installation process. Using Anaconda for python package management may also be helpful.

Building and running Rematch server docker container

We provide a docker container with Rematch server installed and configured with nginx, mysql, rabbitmq and celery micro components. This makes server deployment a lot easier, however a docker installation and roughly 600 MB of free space are required.

Warning

The docker setup uses the file ./server/.env to set passwords. We highly recommand changing those before building your docker.

If you wish to build your own docker image from source, the docker-compose command can be used to build and fire up a docker, when run inside the root directory of the rematch repository:

$ service docker start ;
$ docker-compose -f ./server/docker-compose.yml build ;
$ docker-compose -f ./server/docker-compose.yml up -d ;

Then execute the following command to set up the rematch server adminstrator account:

$ docker-compose -f ./server/docker-compose.yml exec web ./server/manage.py createsuperuser

Finally, point your browser to http://SERVER_IP:8000/admin/ to manage the service and add more users.

Installing Rematch IDA Plugin

Installing IDA plugins is done by placing the plugin source inside IDA’s plugins directory (location is based on operating system). To make plugin installation as simple as possibe, the rematch plugin has no dependecies.

Once installed the plugin automatically updates itself (as long as it’s configured to), so installing the plugin is a one-time process.

Installing plugin using pip

If pip is installed for IDA’s version of python, using it is the simplest installation method.

Note

By default, pip is not installed for Windows installations of IDA, but is more commonly found in Mac and Linux installations.

To install using IDA’s pip, simply run the following pip command:

$ pip install rematch-idaplugin

Warning

Make sure you’re installing the plugin using a version of pip inside IDA’s copy of python.

If pip is not installed for IDA’s version of python, it is still possible to install the plugin with another copy of pip using pip’s –target flag. To do this run the following pip command line with any instance of pip:

$ pip install rematch-idaplugin --target="<Path to IDA's plugins directory>"

Warning

Using the pip --target flag with a pip version installed by Homebrew does not work because of a known issue with Homebrew. Homebrew OSX users will have to use a different installation method.

Note

IDA’s plugins directory is located inside IDA’s installation directory. For example if IDA is installed at:

C:\Program Files (x86)\IDA 6.9

Then the plugins directory will be:

C:\Program Files (x86)\IDA 6.9\plugins

and the executed command line should be:

$ pip install rematch-idaplugin
    --target="C:\Program Files (x86)\IDA 6.9\plugins"

Installing plugin manually

If you don’t have pip, or prefer not to use it, you can still manually install the plugin by simply extracting the contents of the idaplugin directory in the repository’s root, to IDA’s plugins directory.

Simply download the package from PyPI or Github and extract the idaplugin directory contents into IDA’s plugins directory, so that the file idaplugin/rematch_plugin.py is located in the plugins sub-directory in IDA’s installation directory.