Home

Awesome

AutoResolv : IDA Plugin

AutoResolv is a free and open source (GPLv2) IDA plugin, which resolves functions imported from external libraries.

You meet a jump to an external function and you have no clue where this function is implemented? You want to know what parameters are actually used in the signature of the external function?

Then AutoResolv can be useful.

"AutoResolv".

AutoResolv will give you those informations :

AutoResolv use db caching for optimisation. You can clear the cache at any time if you want to resolve new data or clear old data.

Architecture supported : x86-64, x86, Mips, PowerPC, ARM, aarch64.

Only ELF binary are supported for the moment.

Requirements

AutoResolv will look for libraries from original binary. If the linked libraries aren't on your computer or inaccessible, the tool won't work.

Preview

"AutoResolv".

"AutoResolv".

Additional features

Installation

Linux

pip3 install pyqt5 pyelftools
cp AutoResolv.py libautoresolv -r path/to/your/idapro/plugins/

Windows (Not fully tested, Bugs can occur)

python.exe -m pip install pyqt5 pyelftools

then copy AutoResolv.py and libautoresolv in C:\Users\[USER]\AppData\Roaming\Hex-Rays\plugins\

Usage

AutoResolv can be used on a single binary. But if you want to use Export/Import functionnality, you must open another instance of the libcustom.so | libcustom2.so, ... and press Export buttons. Choose the main binary database of your project and then confirm.

When this is done, just click Import on main binary and AutoResolv will refactor wrapper and Xrefs with the function signature of the customlib.

Warning : For optimisation purposes, you must use Resolve buttons at least once in main binary. Export functionnality won't work if data (resolved functions) isn't found in the DB cache.
Warning : Export uses idaapi.decompile() so it can be pretty long if you have a lot of functions inside the library.

Bugs

IDA plugins was mainly tested on ELF x86-64. Support has been added for i386, ARM, aarch64, PowerPC and MIPS but bugs will probably occur. Feel free to open issues or contact at thibault.poncetta@gmail.com.

TODO, potential future work