Skip to content
/ rematch Public

REmatch, a complete binary diffing framework that is free and strives to be open source and community driven.

License

Notifications You must be signed in to change notification settings

nirizr/rematch

Repository files navigation

Read The Docs Gitter Chat Build Status Codacy Badge rematch-idaplugin PyPI rematch-server PyPI

rematch

REmatch, yet another binary comparison tool.

Rematch is still a work in progress and is not as feature-rich as we'd like it to be. Basic functionality is available at this point and more advanced features are being worked on. Hopefully, since extendability and maintainability were first priorities we'll get there relatively fast.

It is intended to be used by reverse engineers by revealing and identifying previously reverse engineered similar functions and migrating documentation and annotations to current IDB. It does that by locally collecting data about functions in your IDB and uploading that information to a web service (which you're supposed to set up as well). Upon request, the web service can match your functions against all (or part) of previously uploaded functions and provide matches.

A secondary goal of this (which is not currently pursued) is to allow synchronization between multiple reverse engineers working on the same file.

Installation

Rematch is made of two components, both are quite simple to install. Additional information can be found at https://rematch.readthedocs.io

IDA plugin: Installing the IDA plugin is a simple as dropping it in IDA's plugins directory.

Web service: Installing the web service requires docker and building the webservice's docker image by executing the following command:

$ vim ./server/.env # this file holds passwords, change them!
$ docker-compose -f ./server/docker-compose.yml build ;
$ docker-compose -f ./server/docker-compose.yml up -d ;

To create the rematch server administrator execute the following command:

$ 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.

Releases

No releases published

Packages

No packages published

Languages