Monday, March 7, 2011

Pack shared libraries into the elf

Is there a utility that can take ALL the SO's that an Elf needs turn them into static then converts the Elf to be SO's free?

From stackoverflow
  • You can link with -static at compile time. Are you looking to do this post-compile?

  • Probably not, though in theory, no doubt, it could be done.

    One aspect to be aware of - the typical program will not be using all the code from a given SO, so blindly including all the material in each SO would give you a grotesquely bloated executable. A classic static link only includes that which is needed.

    Another aspect to be aware of would be C++ template instantiation. I assume that these would mainly appear in the executable already (not as part of an SO).

  • Here are some projects you might find useful:

    • Statifier (basically does what you want)
    • ERESI (might do what you want, also allows for analysis of ELF targets)

    NOTE: I've not used either application myself.

  • I've used Statifier as mentioned by codelogic.

    It worked well for several Linux commands like ethtool.

  • Statifier is an option. Another option is Ermine. While Ermine is commercial it behaves better than statifier on systems with memory randomization.

0 comments:

Post a Comment