これは古い質問であることは知っていますが、プロジェクトに適用するのに役立つ実際の例を見つけました。 (誰かがこの質問に出くわした場合)
Sourceware Mail Archiv から取得
$ echo 'int main() { puts ("Hello world"); }' | gcc -x c - -c -o hello.o
$ echo "this is my special data" >mydata
$ objcopy --add-section .mydata=mydata \
--set-section-flags .mydata=noload,readonly hello.o hello2.o
$ gcc hello2.o -o hello
$ ./hello
Hello world
$ objdump -sj .mydata hello
現在 ERESI プロジェクトの一部となっている ELFsh を見てください。
次のリンクが役立ちます:
- チュートリアル「libelf by Example」には、新しい ELF オブジェクトの作成に関する章があります。
- elftoolchain プロジェクトには、
00
を説明するマニュアル ページがあります。 の API の詳細。
ELF ファイル ヘッダーに関するこの質問には、(おそらく) 関連する回答がいくつかあります。 14
を使用して言及された受け入れられた回答 ELF ファイルにセクションを追加するには