私はこの構造を持っています:
struct Books {
char title[50];
char author[50];
};
arg1
プログラムに渡すと、コードの一部で、方向$title+52
にいくつかの文字が追加されるため、author
値が上書きされることがわかっているとしましょう(バッファオーバーフロー)。
次に、バイナリに ASLR を追加します。このようにランダムな方向もあるので、先ほど説明したバッファオーバーフローはありえなかったと思います。
これは本当ですか?または、ASLR を追加しても、構造体メンバーの方向が一緒になり、バッファー オーバーフローが発生する可能性がありますか?