Hexspeak


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.

Notable magic numbers

Many computer processors, operating systems, and debuggers make use of magic numbers, especially as a magic debug value.
CodeDecimalDescription
0x0000000FF1CE1044942 is used as the last part of product codes for Microsoft Office components.
0x00BAB10C12235020 is used as the magic number for the ZFS uberblock.
0x1BADB002464367618 Multiboot header magic number.
0x1CEB00DA485163226 was used as the origin for the binary file parser IceBuddha.
0x4B1D19229 was a password in some calibration consoles for developers to peer deeper into control registers outside the normal calibration memory range.
0x8BADF00D2343432205 is used by Apple in iOS crash reports, when an application takes too long to launch, terminate, or respond to system events.
0xABADBABE2880289470 was/is used by Microsoft's Windows 7 to trigger a debugger break-point, probably when a USB device is attached
0xB105F00D2969956365 is the value of the low bytes of last four registers on ARM PrimeCell compatible components, used to identify correct behaviour of a memory-mapped component.
0xB16B00B52976579765 was required by Microsoft's Hyper-V hypervisor to be used by Linux guests as their "guest signature". One proposal suggested changing it to 0x0DEFACED. But in actuality, it was initially changed to decimal and then replaced entirely.
0x0B00B135184594741 was likewise required by Microsoft's Hyper-V hypervisor to be used by a user of XEN as their user id. It was removed on Jan 22, 2010.
0xBAAAAAAD3131746989 is used by Apple's iOS exception report to indicate that the log is a stackshot of the entire system, not a crash report.
0xBAADF00D3131961357 is used by Microsoft's LocalAlloc to indicate uninitialised allocated heap memory when the debug heap is used.
0xBAD222223134333474 is used by Apple's iOS exception log to indicate that a VoIP application has been terminated by iOS because it resumed too frequently.
0xBADDCAFE3135097598 is used by Libumem to indicate uninitialized memory area.
0xBEEFBABE3203381950 is used by Frogger to detect a stack buffer overflow.
0xB000 0xDEAD2952847021 was displayed by the HP 9000 Model 840 when it crashed.
0xC00010FF3221229823 is used by Apple in iOS crash reports, when application was killed in response to a thermal event.
C15C:0D06:F00D212601099710477 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.
0xCAFEBABE3405691582 is used by Plan 9's libc as a poison value for memory pools. 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.
0xCAFED00D3405697037 is used by Java as a magic number for their pack200 compression.
0xCEFAEDFE3472551422 is used by Mach-O to identify flat object files. In little endian this reads FEEDFACE, "Feed Face".
0x0D15EA5E219540062 is a flag that indicates regular boot on the Nintendo GameCube and Wii consoles.
0xDABBAD003669732608 is the name of a blog on computer security.
0xDEAD2BAD3735890861 was used to mark allocated areas of memory that had not yet been initialised on Sequent Dynix/ptx systems.
0xDEADBAAD3735927469 is used by the Android libc abort function when native heap corruption is detected.
0xDEADBABE3735927486 is used by IBM Jikes RVM as a sanity check of the stack of the primary thread.
0xDEADBEAF3735928495 is part of the signature code of Jazz Jackrabbit 2 tileset files. Level files have less room for their signatures and use 0xBABE instead. It is also the header of campaign gamesaves used in the Halo Game Series.
deadbeef-dead-beef-dead-beef00000075 is the GUID assigned to hung/dead virtual machines in Citrix XenServer.
0xDEADBEEF3735928559 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. On OpenVMS running on Alpha processors, 0xDEADBEEF can be seen by pressing CTRL-T. The DEC Alpha SRM console has a background process that traps memory errors, identified by PS as "BeefEater waiting on 0xdeadbeef".
0xDEADC0DE3735929054 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.
0xDEADDEAD3735936685 is the bug check 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. 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, as they are both called MANUALLY_INITIATED_CRASH as seen on the Microsoft Developer Network.
0xDEADD00D3735932941 is used by Android in the Dalvik virtual machine to indicate a VM abort.
0xDEADFA113735943697 is used by Apple in iOS crash reports, when the user force quits an application.
0xDEAD10CC3735883980 is used by Apple in iOS crash reports, when application holds on to a system resource while running in the background.
0xDEADFEED3735944941 is used by Apple in iOS crash reports, when a timeout occurs spawning a service
0xDECAFBAD3737844653 is often found in coding as an easily recognized magic number when hex dumping memory
0xDEFEC8ED3741239533 is the magic number for OpenSolaris core dumps.
0xD0D0CACA3503344330 is the uninitialized value of GPIO values on the Nvidia Tegra X1
0xE011CFD03759263696 is used as a magic number for Microsoft Office files. In little endian this reads D0CF11E0, "docfile0".
face:b00c4207849484 used in the IPv6 addresses of www.facebook.com.
0xFACEFEED4207869677 is used by Alpha servers running Windows NT. The Alpha Hardware Abstraction Layer generates this error when it encounters a hardware failure.
0xFBADBEEF4222467823 is used in the WebKit and Blink layout engines to indicate a known, unrecoverable error such as out of memory.
0xFEE1DEAD4276215469 is used as a magic number in the Linux reboot system call.
0xFEEDBABE4276992702 is the magic number used to indicate the beginning of an OpenRG flash partition descriptor.
0xFEEDC0DE4276994270 is used as filling pattern by the OS-9 Operating System when initializing its RAM.
0xFEEDFACECAFEBEEF18369614221190020847 is the magic number used to send as a password via serial wire to rescue some NXP created controller devices from boot failures.
0xFFBADD114290436369: Used by Windows internally.

Alternative letters

Many computer languages require that a hexadecimal number be marked with a prefix or suffix to identify it as a number. Sometimes the prefix or suffix is used as part of the word.
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.
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.
CodeDescription
0x1337BEEF, 0x1337F001, 0x1337BEEFFound as part of the RSX Descriptor.
0xF00DBEEFThe RSX Semaphore Value
0x1337C0D3 and 0x1337BABEBegin semaphore value and pad, from the system.