問題タブ [xtensa]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - コマンドラインからのペイロードがスタックを上書きしない
これが非常に長くなって申し訳ありません。投稿する前に、寄稿者に私が試したことを確認してもらいたいだけです.
私のコード:
このコマンドライン引数を渡したとき: AAAABBBBCCCCDDDD\x19\x0c\x00\x60最初の 20 ワードを表示すると、次のようになりました。
0x603ffeb0: 0x41414141 0x42424242 0x43434343 0x44444444
0x603ffec0: 0x3931785c 0x6330785c 0x3030785c 0x3036785c
0x603ffed0: 0x603fff00 0xe8e8e8e8 0xe8e8e8e8 0xe8e8e8e8
0x603ffee0: 0x60000b9c 0xe8e8e8e8 0xe8e8e8e8 0xe8e8e8e8
0x603ffef0: 0x00000002 0x603fff00 0xe8e8e8e8 0xe8e8e8e8
このようなものの代わりに:
0x603ffeb0: 0x41414141 0x42424242 0x43434343 0x44444444
0x603ffec0: 0x60000c19 0x6330785c 0x3030785c 0x3036785c
0x603ffed0: 0x603fff00 0xe8e8e8e8 0xe8e8e8e8 0xe8e8e8e8
0x603ffee0: 0x60000b9c 0xe8e8e8e8 0xe8e8e8e8 0xe8e8e8e8
0x603ffef0: 0x00000002 0x603fff00 0xe8e8e8e8 0xe8e8e8e8
上記のコードでは、配列文字としてではなく、argv[1] に格納されているペイロードが単一の文字列として扱われていることがわかりました。「AAAABBBBCCCCDDDD\\x19\\x0c\\x00\\x60」として表されていることを確認しましたが、これはアドレスを 16 進数に再変換するので役に立ちません。
念のため、これを確認するために直接引数を渡すことにしました (Worked)
0x603ffeb0: 0x41414141 0x42424242 0x43434343 0x44444444
0x603ffec0: 0x60000c19 0x60000b04 0xe8e8e8e8 0xe8e8e8e8
0x603ffed0: 0x60000804 0xe8e8e8e8 0xe8e8e8e8 0xe8e8e8e8
0x603ffee0: 0x60000bb8 0xe8e8e8e8 0xe8e8e8e8 0xe8e8e8e8
0x603ffef0: 0x00000002 0x603fff00 0xe8e8e8e8 0xe8e8e8e8
コマンドライン形式:(頭の痛い0x3931785cが返されます)
0x603ffeb0: 0x41414141 0x42424242 0x43434343 0x44444444
0x603ffec0: 0x3931785c 0x6330785c 0x3030785c 0x3036785c
0x603ffed0: 0x60000800 0xe8e8e8e8 0xe8e8e8e8 0xe8e8e8e8
0x603ffee0: 0x60000bc4 0xe8e8e8e8 0xe8e8e8e8 0xe8e8e8e8
0x603ffef0: 0x00000002 0x603fff00 0xe8e8e8e8 0xe8e8e8e8
argv[1] のペイロードが次のように処理されないようにするにはどうすればよいですか?
- AAAABBBBCCCCDDDD\\x19\\x0c\\x00\\x60
?
c - 「エラー: .org を後方に移動しようとしています」Xtensa XCC を使用すると、GCC は正常に動作します
最小限の再現可能な例を次に示します。
Tensilica Xtensa xt-xcc コンパイラを使用してこれをコンパイルすると、アセンブラ エラーが発生します。
これはどこから来たのでしょうか?
注: GCC は正常に動作します。