2

Linux の vdso メカニズムを研究しています。DSO を見つけるために、プログラムのエントリ ポイントに渡された補助ベクトルを解析できます。AT_SYSINFO_EHDR エントリは vDSO を指します。

私の質問は、 /proc/self/maps に示されているアドレスを使用して vDSO にアクセスできないのはなぜですか? 結果は同じであるべきではありませんか?いくつかの方法でこれらのアドレスを使用して vDSO にアクセスしようとしましたが、常に間違ったメモリ領域が得られました。x86_64 ビットを使用しています。

たとえば、dd を使用してメモリ領域をダンプすると、64 ビット オペレーティング システムでは機能しないのに、32 ビットでは機能するように見える理由がわかりません。何か案が?

dd if=/prcc/self/mem of=vDSO.bin count=1 bs=4096 skip=0xffffffffff600000

16 進数のオフセットを使用できないことはわかっています。読みやすいので、そのようにします。

ありがとう

4

2 に答える 2

1

skipの単位で指定する必要がありますbs

于 2013-06-18T01:18:10.207 に答える