Стойкое ощущение, что проще было бы не «магией» заниматься, а за несколько вечеров налабать полноценный парсер/генератор ELF-файла, там же только заголовок и таблицу секций нужно читать/писать и добавлять сгенерированные компилятор данные в новые секции. Порядок-то секций в файле не критичен.
Окей, а теперь я бы хотел слинковать с этим какую-нибудь библиотеку (например написанную на ассемблере). И тут у нас появляются GOT и PLT и все становится лишь немного интереснее, а вот возможностей прибавляется в разы. Как насчет продолжить проект? )
Прочел про GOT и PLT. Звучит, действительно, так, что станет «лишь немного интереснее» (как «приключение на 20 минут»).
Но, не считая воспроизведения результатов для этого поста, я не занимался подобными вещами уже несколько лет. А сейчас, боюсь, не хватит ни запала, ни остаточных знаний
Микрохирургия ELF'а или «А что, так можно было?!»