マジックナンバーの作成方法
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/05/11 00:57 UTC 版)
「Hexspeak」の記事における「マジックナンバーの作成方法」の解説
限られた文字("a", "b", "c", "d", "e", "f", "o", "i", "s")だけで作ることのできる英単語は少なくとも数百あることを考えると、Hexspeakを使ったマジックナンバーを作成するのはさほど難しいことではない。例えば、0xD15EA5ED ("diseased")、0xBED51DE5 ("bedsides")といった値を簡単に作ることができる。 また、上に挙げたような既存のHexspeakで使用されているパターンを参考にするのもよい。これらの定数はすべてワード長と等しく(32ビット環境の場合)、また"1"および"5"で始まるものはない。これは、定数が符号付き整数値として解釈された場合に、大きな負数として扱われるようにするためである。例えば、0xBAADF00Dを符号付き32ビット整数値として解釈すると-1163005939となるが、多くのプログラムではこのような大きな負数が現れるケースは稀である。マイクロソフトが使用している0xBAADF00Dという値も、初期化されていないメモリへのアクセスの検知に適している。
※この「マジックナンバーの作成方法」の解説は、「Hexspeak」の解説の一部です。
「マジックナンバーの作成方法」を含む「Hexspeak」の記事については、「Hexspeak」の概要を参照ください。
- マジックナンバーの作成方法のページへのリンク