i386 アーキテクチャの Linux では、syscall の ID を EAX にロードし、引数を EBX、ECX などにロードすることで、syscall を構築できることを知っています。
この場合、mprotect の 3 番目の引数がどのようになるか、私は混乱しています。バイナリの割り当てられたメモリ実行可能ファイル内にメモリ セグメントを作成したいと仮定すると、エンコードは PROT_EXEC 引数 (arg 3) に対してどのように機能しますか? 最初の 2 つの引数は、(1) 割り当てられたブロックの先頭へのポインター、および (2) ASM で概念化するのが比較的簡単な割り当てられたブロックの長さ (メモリ内の 16 進数のアドレスであるため) であることを認識しています。 .
Linux の i386 アセンブリで、mprotect() の 3 番目の引数を割り込み発行システムコールとしてどのようにフォーマットしますか?
ありがとう。