RaspberryPiのスタックオーバーフローからcコードを安全にしようとしています。私はこれの初心者なので、少し我慢してください。関数を呼び出すことによって使用されるバイト数を決定する1つの方法は、スタック上のスペースを既知の値(0xffなど)で埋めることによって初期化することであると言われました。次に、関数を実行してから逆方向に検索して、既知の値から変更されたスタックの数を確認します。元のスタックの深さと最初の変更されていない値の前のスタックの深さを取得することで、その関数によって使用されたスタックの量を判別できます。私には合理的に聞こえた。
私の問題は、このアセンブリのものが本当に私を混乱させることです。asm()を使用してcコードにARMアセンブリコードを埋め込むことができることを読んでいますが、スタックメモリを初期化してから戻って確認する方法がわかりません。私が見ることができる、役立つリソースはありますか?アセンブリについてはほとんど知らないので、非常に優れた検索用語を作成する方法すらわかりません。
ありがとう。