Hexspeak, like leetspeak, is a novelty form of variant English spelling using the hexadecimal digits. Created by programmers as memorable magic 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 digits 0123456789ABCDEF
. Using only the letters ABCDEF
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 as 2
, 4
or 8
can be used in a manner similar to leet or rebuses; e.g. the word "defecate" can be expressed either as DEFECA7E
or DEFEC8
.
Many computer processors, operating systems, and debuggers make use of magic numbers, especially as a magic debug value.
Code | Decimal | Description |
---|---|---|
0x0000000FF1CE |
1044942 | ("office") is used as the last part of product codes (GUID) for Microsoft Office components (visible in registry under HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall registry key). |
0x00BAB10C |
12235020 | ("über (ooba) block") is used as the magic number for the ZFS uberblock. |
0x1BADB002 |
464367618 | ("1 bad boot"[1]) Multiboot header magic number.[2] |
0x4B1D |
19229 | ("forbid'den'") was a password in some calibration consoles for developers to peer deeper into control registers outside the normal calibration memory range.[citation needed] |
0x8BADF00D |
2343432205 | ("ate bad food") is used by Apple in iOS crash reports, when an application takes too long to launch, terminate, or respond to system events.[3] |
0xABADBABE |
2880289470 | ("a bad babe") was/is used by Microsoft's Windows 7 to trigger a debugger break-point, probably when a USB device is attached[4] |
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's Hyper-V hypervisor to be used by Linux guests as their "guest signature".[5] One proposal suggested changing it to 0x0DEFACED ("defaced").[6] But in actuality, it was initially changed to decimal and then replaced entirely.[7]
|
0x0B00B135 |
184594741 | ("boobies") was likewise required by Microsoft's Hyper-V hypervisor to be used by a user of XEN as their user id.[8] It was removed on Jan 22, 2010.[9] |
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.[10] |
0xBAADF00D |
3131961357 | ("bad food") is used by Microsoft's LocalAlloc(LMEM_FIXED) to indicate uninitialised allocated heap memory when the debug heap is used.[11] |
0xBAD22222 |
3134333474 | ("bad too repeatedly") is used by Apple's iOS exception log to indicate that a VoIP application has been terminated by iOS because it resumed too frequently.[10] |
0xBADDCAFE |
3135097598 | ("bad cafe") is used by Libumem to indicate uninitialized memory area. |
0xBEEFBABE |
3203381950 | ("beef babe") is used by Frogger (1997 video game) to detect a stack buffer overflow. |
0xB000 0xDEAD |
2952847021 | ("boo dead") was displayed by the HP 9000 Model 840 when it crashed.[citation needed] |
0xC00010FF |
3221229823 | ("cool off") is used by Apple in iOS crash reports, when application was killed in response to a thermal event.[3] |
C15C:0D06:F00D |
212601099710477 | ("cisco dog food") used in the IPv6 address of www.cisco.com on World IPv6 Day. "Dog food" refers to Cisco eating its own dog food with IPv6. |
0xCAFEBABE |
3405691582 | ("cafe babe") is used by Plan 9's libc as a poison value for memory pools.[12] It is also used by Mach-O to identify Universal object files, and by the Java programming language to identify Java bytecode class files. It was originally created by NeXTSTEP developers as a reference to the baristas at Peet's Coffee & Tea.[13] |
0xCAFED00D |
3405697037 | ("cafe dude") is used by Java as a magic number for their pack200 compression.[14] |
0xCEFAEDFE |
3472551422 | ("face feed") is used by Mach-O to identify flat (single architecture) object files. In little endian this reads FEEDFACE , "Feed Face".
|
0x0D15EA5E |
219540062 | ("zero disease") is a flag that indicates regular boot on the Nintendo GameCube and Wii consoles.[15][16] |
0xDABBAD00 |
3669732608 | ("dabba doo") is the name of a blog on computer security.[17] |
0xDEAD2BAD |
3735890861 | ("dead too bad") was used to mark allocated areas of memory that had not yet been initialised on Sequent Dynix/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 IBM Jikes RVM as a sanity check of the stack of the primary thread.[18] |
0xDEADBEAF |
3735928495 | ("dead beaf") is part of the signature code of Jazz Jackrabbit 2 tileset files.[19] Level files have less room for their signatures and use 0xBABE ("babe") instead.[20] It is also the header of campaign gamesaves used in the Halo Game Series.
|
deadbeef-dead-beef-dead-beef00000075 |
295990755083049101712519384016336453749 | ("dead beef") is the GUID assigned to hung/dead virtual machines in Citrix XenServer. |
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 the 0xDEADBEEF . It is used by IBM RS/6000 systems, Mac OS on 32-bit PowerPC processors and the Commodore Amiga as a magic debug value. On Sun 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".[21]
|
0xDEADC0DE |
3735929054 | ("dead code") is used as a marker in OpenWrt 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 a Blue Screen of Death either by telling the kernel via the attached debugger, or by using a special keystroke combination.[22] This is usually seen by driver developers,as it is used to get a memory dump on Windows NT based systems. An alternative to 0xDEADDEAD is the bug check code 0x000000E2 ,[23] as they are both called MANUALLY_INITIATED_CRASH as seen on the Microsoft Developer Network.
|
0xDEADD00D |
3735932941 | ("dead dude") is used by Android in the Dalvik 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.[3] |
0xDEAD10CC |
3735883980 | ("dead lock") is used by Apple in iOS crash reports, when application holds on to a system resource while running in the background.[3] |
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 for OpenSolaris core dumps.[24] |
0xD0D0CACA |
3503344330 | ("doo-doo caca") is the uninitialized value of GPIO values on the Nvidia Tegra X1[citation needed] |
0xE011CFD0 |
3759263696 | ("docfile0") is used as a magic number for Microsoft Office files. In little endian this reads D0CF11E0 , "docfile0".[25]
|
0xF1AC |
61868 | ("FLAC") is used as Free Lossless Audio Codec's audio format tag.[26] |
face:b00c |
4207849484 | ("facebook") used in the IPv6 addresses of www.facebook.com.[27] |
0xFACEFEED |
4207869677 | ("face feed") is used by Alpha servers running Windows NT. The Alpha Hardware Abstraction Layer (HAL) generates this error when it encounters a hardware failure.[28] |
0xFBADBEEF |
4222467823 | ("bad beef") is used in the WebKit and Blink layout engines to indicate a known, unrecoverable error such as out of memory.[29] |
0xFEE1DEAD |
4276215469 | ("feel dead") is used as a magic number in the Linux reboot system call.[30] |
0xFEEDBABE |
4276992702 | ("feed babe") is the magic number used to indicate the beginning of an OpenRG flash partition descriptor.[31] |
0xFEEDC0DE |
4276994270 | ("feed code") is used as filling pattern by the OS-9 Operating System when initializing its RAM.[32] |
0xFEEDFACECAFEBEEF |
18369614221190020847 | ("feed face cafe beef") is the magic number used to send as a password via serial wire to rescue some NXP created controller devices from boot failures.[33][34][35] |
0xFFBADD11 |
4290436369 | ("bad DLL"): Used by Windows internally.[citation needed] |
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 as long long
, making it possible to write "0xDEADCELL" (dead cell). In either case a U may also appear in the suffix to declare the integer as unsigned
, making it possible to write "0xFEEDBULL" (feed bull).In reverse engineering aspects of the Sony PlayStation 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, the RSX Reality Synthesizer.[36]
These projects were largely born out of PS3 homebrew operating on the PS3's OtherOS 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 and 0x1337BABE |
Begin semaphore value and pad, from the system.[37] |