0148仕様書無しさん
2023/01/18(水) 18:39:33.98最近のCコンパイラはもしかしたらセキュリティ対策とかで
状況が変わってるのかもしれんけど、一昔前はローカル変数は
「スタック」というメモリ領域に確保していたんだ。
でもこのスタックという領域は、どれぐらいのサイズなのかは
わからないもんだから、下手に構造体や配列に使うと、サイズをオーバーして
アプリが突然落っこちる恐れがある。
それと、関数を呼ぶと、戻ってくるときのアドレスなんてのも
このスタックに持っているもんだから、不正なデータを送り込んで、戻りアドレスを書き換え
root権限を奪うなどの手口にも利用されたんだ。
スタックとか戻りアドレスなんてのは、マシン語からくる概念だから、
それでpush、popと言ってはみたが、わかってるやつ、この板にドンだけいるんだろ?