なぜEAX、ESP、命令サブ、プッシュ、ポップアセンブルをASCII文字に登録するのですか?
例えば:
「%」は「およびEAX」を意味します
「-」は「サブEAX」を意味します
「P」は「プッシュEAX」を意味します
「X」は「ポップEAX」を意味します
「T」は「プッシュESP」を意味します
「\」は「ポップESP」を意味します
質問を正しく読んでいる場合:オペコードであるため、ASCIIテーブルの文字と同じである可能性があります。
http://ref.x86asm.net/coder32.htmlを見て、AND eAXに移動すると、左側の濃い灰色の列に、そのニーモニックのオペコードが25(16進数)であることが示されていることがわかります。
次に、ASCIIテーブル(たとえば、http://www.asciitable.com/)を見て、25の16進数が何文字であるかを見ると、それはになります%
。
この質問がなされた理由のさらなる推測:入力可能なASCIIでプログラムを提供できることが望まれる場合があります。1つ目は、EICARアンチウイルステスト文字列のようなものです。
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
これをメモ帳に入力し、COMファイル(eicar.comなど)として保存して実行すると、が印刷されますEICAR-STANDARD-ANTIVIRUS-TEST-FILE!
。これにより、プログラムや電子メールなどに簡単に貼り付けて、アンチウイルスが正しく機能していることを確認できます。
もう1つの用途は、バッファオーバーフローベースの攻撃用のシェルコードを作成することです。これも、入力とエスケープが簡単なためです。詳細が必要な場合は、このプロセスの概要についてhttp://projectshellcode.com/?q=node/12などを参照してください。
エンコーディングを共有しているからです。