-1
void  *entrypoint;
/*virtual address of process*/
fscanf(debuggedfile, "%p", &entrypoint);

ここで、debuggedfile は、int エントリ ポイントがあるオフセットにある elf ファイルへのストリームです。ptrace(PTRACE_PEEKTEXT, 0, entrypoint, 0) を使用すると、-1 が返されます

4

2 に答える 2

0

ELF ファイルを解析するコードを作成している場合は、独自の ELF パーサーを手動でコーディングする代わりに、libelfのような標準ライブラリを使用することをお勧めします。

そうすれば、拡張セクション番号付けを使用する ELF オブジェクトなど、時折発生するコーナー ケースを libelf に処理させることができます。

libelfのBSD ライセンス およびGPL 準拠の実装を開発しているアクティブなオープンソース プロジェクトがあります。

于 2011-07-18T07:33:08.553 に答える