開発日誌:エンディアンとは
これをやってます。
- 作者: 清水祐太郎,竹迫良範,新穂隼人,長谷川千広,廣田一貴,保要隆明,美濃圭佑,三村聡志,森田浩平,八木橋優,渡部裕,SECCON実行委員会
- 出版社/メーカー: マイナビ出版
- 発売日: 2017/07/28
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
経緯
基礎固めにこの記事を読んでいて 楽しいPwn入門 · GitHub
「エンディアンに注意」という部分がよくわからなかったので調べました。
下記がよくまとまってました。なるほど・・・
Endian(エンディアン)ってなに? | 学校では教えてくれないこと | [技術コラム集]組込みの門 | ユークエスト株式会社
要するにメモリにデータを格納していくときに、1バイトごとにデータを分割して格納される、その格納の順番がエンディアン。
エンディアンは主に3種類、ビッグエンディアン、リトルエンディアン、両方対応のバイエンディアン。
エンディアンに注意する例
参考記事からの引用です。
if (secret == 0xc0deface){ puts("flag is ..."); }
と、あるところ、バイト列を"0xc0deface"と入力するには、下記のようになります
'\xce\xfa\xde\xc0'
\xで区切られて、逆順に2文字ずつ並んでいますね。この並びがエンディアンというわけ。スペースで更に区切ると分かりやすいかな・・・
'\x ce \x fa \x de \x c0'