バッファオーバーフローの仕組みの勉強をしているのですが、
あるプログラムに
"AAAAAAAAAAAAAAAAAAAAAAAAAAAA\x9d\x84\x04\x08"という入力をすると
EIPに0x804849dが格納されて処理をメモリの0x804849dに飛ばせるらしいのですが
なぜ0x804849dが\x9d\x84\x04\x08に変わっているのでしょうか?
また、入力"AAAAAAAAAAAAAAAAAAAAAAAAAAAA0x804849d"ではダメなのでしょうか?
インテルcpuがリトルエンディアン方式を採用しているためスタックに積まれる際に逆になるのですね。\x9d\x84\x04\x08の\xの部分は16進数表記だよという目印ということでしょうか?
どなたか分かる方いらっしゃいましたら回答よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/24 00:46
2018/01/24 00:59 編集
2018/01/24 01:36
2018/01/24 01:40
2018/01/24 01:55
2018/01/24 02:03