Hexspeak is a novelty form of variant English spelling using the hexadecimal digits. Created by programmers as memorablemagic numbers, hexspeak words can serve as a clear and unique identifier with which to mark memory or data.
Hexadecimal notation represents numbers using the 16 digits0123456789ABCDEF. Using only the lettersABCDEF it is possible to spell several words. Further words can be made by treating some of the decimal numbers as letters – the digit "0" can represent the letter "O", and "1" can represent the letters "I" or "L". Less commonly, "5" can represent "S", "7" represent "T", "12" represent "R" and "6" or "9" can represent "G" or "g", respectively. Numbers such as2,4 or8 can be used in a manner similar toleet orrebuses; e.g. the word "defecate" can be expressed either asDEFECA7E orDEFEC8.
Manycomputer processors,operating systems, anddebuggers make use of magic numbers, especially as amagic debug value.
| Code | Decimal | Description |
|---|---|---|
0x0000000FF1CE | 1044942 | ("office") is used as the last part of product codes (GUID) forMicrosoft Office components (visible in registry under theHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall registry key). |
0x00BAB10C | 12235020 | ("uber (ooba) block") is used as the magic number for theZFS uberblock. |
0x1BADB002 | 464367618 | ("1 bad boot"[1])Multiboot header magic number.[2] |
0x4B1D | 19229 | ("forbid") was a password in some calibration consoles for developers to peer deeper intocontrol registers outside the normal calibration memory range.[citation needed] |
0x50FFC001 | 1358938113 | ("soff[t] cool") was used as a Macintosh debug value to help identify nil references, and later to cause bus failures.[3][4] |
0x8BADF00D | 2343432205 | ("ate bad food") is used byApple iniOS crash reports, when an application takes too long to launch, terminate, or respond to system events.[5] |
0xABADBABE | 2880289470 | ("a bad babe") was/is used byMicrosoft'sWindows 7 to trigger a debugger break-point, probably when a USB device is attached[6] |
0xACE0FBA5E | 46406810206 | ("Ace of Base")Ace of Base is a Swedish pop band, which was very successful in the 1990s. |
0xB105F00D | 2969956365 | ("BIOS food") is the value of the low bytes of last four registers on ARM PrimeCell compatible components (the component_id registers), used to identify correct behaviour of a memory-mapped component. |
0xB16B00B5 | 2976579765 | ("big boobs") was required by Microsoft'sHyper-Vhypervisor to be used byLinux guests as their "guest signature".[7] One proposal suggested changing it to0x0DEFACED ("defaced"),[8] but it was instead initially changed to decimal and then replaced entirely.[9] |
0x0B00B135 | 184594741 | ("boobies") was likewise required by Microsoft's Hyper-V hypervisor to be used by a user of XEN as their user id.[10] It was removed on January 22, 2010.[11] |
0xBAAAAAAD | 3131746989 | ("baaaaaad") is used by Apple's iOS exception report to indicate that the log is a stackshot of the entire system, not a crash report.[12] |
0xBAADF00D | 3131961357 | ("bad food") is used by Microsoft's LocalAlloc(LMEM_FIXED) to indicate uninitialised allocated heap memory when the debug heap is used.[13] |
0xBAD22222 | 3134333474 | ("bad too repeatedly") is used by Apple's iOS exception log to indicate that aVoIP application has been terminated by iOS because it resumed too frequently.[12] |
0xBADDCAFE | 3135097598 | ("bad cafe") is used byLibumem to indicate uninitialized memory area. |
0xBEEFBABE | 3203381950 | ("beef babe") is used by the 1997 video gameFrogger to detect astack buffer overflow. |
0xB000 0xDEAD | 2952847021 | ("boo dead") was displayed byPA-RISC basedHP 3000 andHP 9000 computers upon encountering a "system halt" (aka "low level halt").[14] |
0xC00010FF | 3221229823 | ("cool off") is used by Apple in iOS crash reports, when application was killed in response to a thermal event.[5] |
C15C:0D06:F00D | 212601099710477 | ("cisco dog food") used in theIPv6 address of www.cisco.com onWorld IPv6 Day. "Dog food" refers to Ciscoeating its own dog food with IPv6. |
0xCAFEBABE | 3405691582 | ("cafe babe") is used byPlan 9's libc as a poison value for memory pools.[15] It is also used byMach-O to identifyUniversal object files, and by theJava programming language to identifyJava bytecode class files. It was originally created byNeXTSTEP developers as a reference to the baristas atPeet's Coffee & Tea.[4] |
0xCAFED00D | 3405697037 | ("cafe dude") is used byJava as a magic number for theirpack200 compression.[16] |
0xCEFAEDFE | 3472551422 | ("face feed") is used by Mach-O to identify flat (single architecture) object files. Inlittle endian this readsFEEDFACE, "Feed Face". |
0x0D15EA5E | 219540062 | ("zero disease") is a flag that indicates regular boot on theGameCube andWii consoles.[17][18] |
0xDABBAD00 | 3669732608 | ("dabba doo") is the name of a blog on computer security.[19] |
0xDEAD2BAD | 3735890861 | ("dead too bad") was used to mark allocated areas of memory that had not yet been initialised onSequentDynix/ptx systems. |
0xDEADBAAD | 3735927469 | ("dead bad") is used by the Android libc abort() function when native heap corruption is detected. |
0xDEADBABE | 3735927486 | ("dead babe") is used by IBMJikes RVM as a sanity check of the stack of the primary thread.[20] |
0xDEADBEAF | 3735928495 | ("dead beaf") is part of the signature code ofJazz Jackrabbit 2 tileset files.[21] Level files have less room for their signatures and use0xBABE ("babe") instead.[22] It is also the header of campaign gamesaves used in theHalo game series. |
deadbeef-dead-beef-dead-beef00000075 | 29599075508304910171 | ("dead beef") is theGUID assigned to hung/deadvirtual machines in CitrixXenServer. |
0xDEADBEEF | 3735928559 | ("dead beef") is frequently used to indicate a software crash or deadlock in embedded systems.0xDEADBEEF was originally used to mark newly allocated areas of memory that had not yet been initialized—when scanning a memory dump, it is easy to see the0xDEADBEEF. It is used by IBMRS/6000 systems,Mac OS on 32-bitPowerPC processors, and theCommodoreAmiga as a magic debug value. OnSun Microsystems'Solaris, it marks freed kernel memory. The DEC Alpha SRM console has a background process that traps memory errors, identified by PS as "BeefEater waiting on 0xdeadbeef".[23] |
0xDEADC0DE | 3735929054 | ("dead code") is used as a marker inOpenWrt firmware to signify the beginning of the to-be created jffs2 filesystem at the end of the static firmware. |
0xDEADDEAD | 3735936685 | ("dead dead") is the bug check (STOP) code displayed when invoking ablue screen of death either by telling the kernel via the attached debugger, or by using a special keystroke combination.[24] This is usually seen by driver developers, as it is used to get a memory dump on Windows NT based systems. An alternative to0xDEADDEAD is the bug check code0x000000E2,[25] as they are both called MANUALLY_INITIATED_CRASH as seen on the Microsoft Developer Network. |
0xDEADD00D | 3735932941 | ("dead dude") is used byAndroid in theDalvik virtual machine to indicate a VM abort. |
0xDEADFA11 | 3735943697 | ("dead fall" or "dead fail") is used by Apple in iOS crash reports, when the user force quits an application.[5] |
0xDEAD10CC | 3735883980 | ("dead lock") is used by Apple in iOS crash reports, when an application holds on to a system resource while running in the background.[5] |
0xDEADFEED | 3735944941 | ("dead feed") is used by Apple in iOS crash reports, when a timeout occurs spawning a service. |
0xDECAFBAD | 3737844653 | ("decaf bad") is often found in coding as an easily recognized magic number when hex dumping memory. |
0xDEFEC8ED | 3741239533 | ("defecated") is the magic number forOpenSolariscore dumps.[26] |
0xD0D0CACA | 3503344330 | ("doo-doocaca") is the uninitialized value of GPIO values on the NvidiaTegra X1.[citation needed] |
0xE011CFD0 | 3759263696 | ("docfile0") is used as amagic number for Microsoft Office files. Inlittle endian this readsD0CF11E0, "docfile0".[27] |
0xF0CACC1A | 4039822362 | ("focaccia") the 8-letter hexspeak word in the dictionary with the highest scrabble score (scoring 17 in the English version). |
0xF1AC | 61868 | ("FLAC") is used as theFree Lossless Audio Codec's audio format tag.[28] |
face:b00c | 4207849484 | ("facebook") used in theIPv6 addresses of www.facebook.com.[29] |
0xFACEFEED | 4207869677 | ("face feed") is used by Alpha servers runningWindows NT. The AlphaHardware Abstraction Layer (HAL) generates this error when it encounters a hardware failure.[30] |
0xFBADBEEF | 4222467823 | ("bad beef") is used in theWebKit andBlink layout engines to indicate a known, unrecoverable error such as out of memory.[31] |
0xFEE1DEAD | 4276215469 | ("feel dead") is used as a magic number in the Linux reboot system call.[32] Other magic numbers to reboot the machine are 672274793, 85072278, 369367448 and 537993216 which in hex translate respectively to 0x28121969, 0x5121996, 0x16041998 and 0x20112000, the birth dates ofLinus Torvalds and his three daughters.[33] |
0xFEEDBABE | 4276992702 | ("feed babe") is the magic number used to indicate the beginning of anOpenRG flash partition descriptor.[34] |
0xFEEDC0DE | 4276994270 | ("feed code") is used as filling pattern by theOS-9 operating system when initializing itsRAM.[35] |
0xFEEDFACECAFEBEEF | 18369614221190020847 | ("feed face cafe beef") is the magic number used to send as a password via serial wire to rescue someNXP created controller devices from boot failures.[36][37][38] |
0xFFBADD11 | 4290436369 | ("badDLL"): Used byWindows internally.[citation needed] |
0xF00DBABE | 4027431614 | ("food babe"): The Ledger Nano hardwarecryptocurrency wallet used this magic number in the process of signing that was exploited.[39] |
Many computer languages require that a hexadecimal number be marked with a prefix or suffix (or both) to identify it as a number. Sometimes the prefix or suffix is used as part of the word.
long, or LL to declare it aslong long, making it possible to write "0xDEADCELL" (dead cell). In either case a U may also appear in the suffix to declare the integer asunsigned, making it possible to write "0xFEEDBULL" (feed bull).In reverse engineering aspects of the SonyPlayStation 3, a number of hexspeak codes were found to either trigger, affect or were present in aspects of communicating to and through the PlayStation 3 Hypervisor in communication to its GPU, theRSX Reality Synthesizer.[40]
These projects were largely born out of PS3 homebrew operating on the PS3'sOtherOS which allowed Linux to be installed, initially with extremely limited GPU access.
| Code | Description |
|---|---|
0x1337BEEF,0x1337F001,0x1337BEEF | Found as part of the RSX Descriptor. |
0xF00DBEEF | The RSX Semaphore Value |
0x1337C0D3 and0x1337BABE | Begin semaphore value and pad, from the system.[41] |