IDArling is a collaborative reverse engineering plugin for IDA Pro and Hex-Rays. It allows to synchronize in real-time the changes made to a database by multiple users, by connecting together different instances of IDA Pro.
The main features of IDArling are:
- live recording and replaying of all user interactions;
- loading and saving of IDA databases to a central server;
- interactive IDA status bar widget and custom dialogs;
- Python plugin and server with no extra dependencies;
- and even more to come...
If you have any questions not worthy of a bug report, feel free to ping us at #idarling on freenode and ask away.
This project is under active development. Feel free to send a PR if you would like to help! :-)
It is not really stable in its current state, please stayed tuned for a first release of the project!
Install the IDArling client into the IDA plugins folder.
- Copy
idarling_plugin.py
and theidarling
folder to the IDA plugins folder.- On Windows, the folder is at
C:\Program Files\IDA 7.0\plugins
- On macOS, the folder is at
/Applications/IDA\ Pro\ 7.0/idaq.app/Contents/MacOS/plugins
- On Linux, the folder may be at
/opt/IDA/plugins/
- On Windows, the folder is at
- Alternatively, you can use the "easy install" method by copying the following line into the console:
import urllib2; exec(urllib2.urlopen('https://raw.githubusercontent.com/IDArlingTeam/IDArling/master/easy_install.py')).read()
Warning: The plugin is only compatible with IDA Pro 7.0 on Windows, macOS, and Linux.
The dedicated server requires PyQt5, which is integrated into IDA. If you're
using an external Python installation, we recommand using Python 3, which offers
a pre-built package that can be installed with a simple pip install PyQt5
.
IDArling loads automatically when IDA is opened, installing new elements into the user interface.
First use the widget in the status bar to add the server of your choice in the Network Settings. Then connect to the server using the widget again. Finally, you should be able to access the following menus:
- File --> Open from server
- File --> Save to server
- Where is my old servers?
In commit 08eca13d4ecd51cd518cb54546f971e3b43edf04
, the config file name was
changed from state.json
to config.json
to enhance the config file storage.
Thus, your old servers won't be displayed in your server list. But don't worry,
you can still find them in your previous config file. The path of your config
file depends your platform. For example, under Linux, the path should be
$HOME/.idapro/idarling/files/state.json
.
This project is inspired by Sol[IDA]rity. It started after contacting its authors and asking if it was ever going to be released to the public. Lighthouse source code was also carefully studied to understand how to write better IDA plugins.
- Previous plugins, namely CollabREate, IDASynergy, YaCo, were studied during the development process;
- The icons are edited and combined versions from the sites freeiconshop.com and www.iconsplace.com.
Thanks to Quarkslab for allowing this release.
- Alexandre Adamski <[email protected]>
- Joffrey Guilbon <[email protected]>