jnider / delinker

Unlinks a binary executable to get back a set of .o object files for further transformation and re-linking.
157 stars 13 forks source link

Use Nucleus for function detection #1

Closed jnider closed 4 years ago

jnider commented 5 years ago

Nucleus is probably the state-of-the-art in function detection right now. Since it is open source, we should be using it, rather than our own version. https://www.vusec.net/projects/function-detection/

jnider commented 4 years ago

Nucleus is now integrated. It was a bit of a pain, since Nucleus is written in C++ and was designed as a stand-alone project. I modified the Makefile to build it as a library (libnucleus.a) but wasn't able to wrap it nicely for consumption by C code, so I promoted the rest of the delinker to use C++ as well (in name only). This has not really been tested, so I expect there will be more issues stemming from this change in the future.