0xdeadbeef 是一个16进制魔术数字,是一种类似Leet的英文单词转写形式。
起源
Hexspeak最早是程序员用来清晰独特地标记内存和数据的一些魔术数字,使用以0-9与A-F构成的16进制数表示一些简单的英文单词。Hexspeak的转写规则为:数字“0”表示字母“O”,“1”表示“I”或“L”,“5”表示“S”,“7”表示“T”,“6”、“9”则各自表示“G”与“g”,其它的数字则可利用画谜和Leet的规则来借代字母,例如“defecate”就可用“DEFECA7E”或“DEFEC8”来表示。
更多的魔术数
16进制魔术数在许多处理器、操作系统和调试工具中都得到应用,且尤常作为调试量使用。
0x0000000FF1CE是微软Office组件产品代码的最后一部分,可于注册表的HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall的键值中寻得。
0x00BAB10C(oo-ba-block)在ZFS的uberblock里使用。
0x1BADB002(“I bad boot”)为多重引导标头。[1]
0x8BADF00D(“ate bad food”)为iOS应用程序崩溃报告中的超时标识符,一般在程序运行、终止与响应时停滞太久时出现。[2]
0xBAADF00D(“bad food”)在微软的LocalAlloc(LMEM_FIXED)函数中使用,用以在已启用调试堆的情况下,标识未初始化的分配堆内存。[3]
0xCAFEBABE(“cafe babe”)在Mach-O格式文件中用于标识通用二进制目标文件,同时也在Java中用于识别Java字节码类文件。[4]
0xCAFED00D(“Cafe Dude”ÿ