最終的に英語の段落の形になるシェルコードを書き込もうとしています。これは、英数字または句読点に評価されるオペコードを持つ命令にほとんど制限されていることを意味します。これによりjo
、実際jno
には、、、、、、、、、、、、、、および(文字に対応する)を含む多くの異なるジャンプ命令が残ります。これらの各ジャンプは、ジャンプするかどうかを決定する前にテストを実行します。ほとんどの場合、ジャンプとその逆を組み合わせて、シェルコードでジャンプが確実に行われるようにすることができます(たとえば、then 、またはthenを使用)が、の場合はこれを行うことができません。のテストjb
jae
je
jne
jbe
ja
js
jns
jp
p-z
jo
jno
je
jne
jb
jb
ですCF=1
。
私の質問は、機能的にNOPであるが、それを保証する一連の英数字命令はありますCF=1
か? CF
はキャリーフラグであるため、キャリーフラグを設定することが保証されている操作で十分です。
また、を確実にするためにjae
、とにかく確実にするためにCF=0
?