仮想環境(debian x86)で実行されているelfファイルのエントリポイントを見つける必要があります。ホストマシンでは、現在の命令ポインタと他のすべてのCPUレジスタを判別できます。したがって、カーネル関数呼び出しを決定することが可能です。
関数load_elf_binaryは、次のパラメーターを使用して関数start_threadを呼び出します。
start_thread(regs、elf_entry、bprm-> p);
したがって、CPUレジスタからelf_entryを受信できるはずですが、レジスタをダンプすると、次の出力が得られます。
EAX=0xc61bffb4
EBX=0xc61bffb4
ECX=0xbff29430
EDX=0xb78ae850
ESI=0xc78f9500
EDI=0xbff29fec
EBP=0xbff29488
ESP=0xc61bfeb4
EIP=0xc1001f82
CR2=0xb78ca840
0x8xxxxxxxで始まる値を持つレジスタがないため、間違えたのか、elf_entryが探しているエントリポイントではないのかわかりません。
本質的な質問:カーネル関数load_elf_binaryの変数elf_entryは、readelf -hで取得するエントリポイントですか?