6

elfファイルに新しいフラグを追加したいと思います。このフラグは、プロセス記述子でカーネルが使用できるようになります。私の最初のアイデアはlibelfを使用することでしたが、残念ながらUbuntuにはバグがあるようです。Elfeditはおそらく素晴らしいツールだったでしょうが、Linux、特にUbuntu用のバージョンは見つかりませんでした。

それで、elfファイルにカスタムフラグを追加するための便利なツールが他にあるかどうか誰かが私に提案できるかどうか疑問に思っていますか?

助けてくれて本当にありがとうございます!

4

3 に答える 3

2

カーネルを変更して新しいフラグを利用できる人は、フラグを ELF ライブラリに追加する方法を尋ねることはないでしょう。

では、カーネルにこの新しいフラグをどのように使用させる予定ですか? 旗の目的は何ですか?

標準のlibelfに追加しているので、Ubuntuのバグを修正して、修正したことを彼らに知らせてもらえませんか(修正を利用できるようにしてください-おそらくチェーンに戻す必要があります) .

于 2009-04-27T12:24:41.590 に答える
1

ELFIO ライブラリを参照してください。WriteObj と Writer の例が含まれています。ライブラリを使用すると、ELF バイナリ ファイルを作成および/または変更できます。

于 2011-06-10T00:21:08.310 に答える
0

(古い質問ですが、参考までに、私は自分の経験に基づいて回答を書いています)

メモリ構造体でelfファイルを読み取り、フラグを変更し、メモリ内構造体でプロセスメモリをロードすることをお勧めします。この方法は、バグ修正に比べて手間がかかりません。まず、ファイル elf.c で elf、プログラム ヘッダー、セクション ヘッダー構造体を確認します。elf、プログラム、セクションの 3 つの構造体メンバーを持つ構造体でファイル ヘッダーを読み取ることができます。elf ヘッダーから構造体の読み込みを開始します。次に、elf ヘッダーで指定されたオフセットでプログラム ヘッダーを読み取ります (すべてのプログラム ヘッダーに対して繰り返します)。同様に、セクション ヘッダーからすべてのセクションを読むことができます。独自の構造体に 3 つのヘッダー構造体をカプセル化すると、他の構造体メンバーに追加の必要なデータを含める機会も得られます。

于 2015-08-27T17:01:11.390 に答える