Hexspeak

Hexspeak , liksom leetspeak , är en nyform av variant engelsk stavning som använder de hexadecimala siffrorna. Skapat av programmerare som minnesvärda magiska siffror , kan hexspeak-ord fungera som en tydlig och unik identifierare för att markera minne eller data.

0 Hexadecimal notation representerar tal som använder de 16 siffrorna 0123456789ABCDEF . Med endast bokstäverna ABCDEF är det möjligt att stava flera ord. Ytterligare ord kan skapas genom att behandla några av decimaltalen som bokstäver - siffran " " kan representera bokstaven "O", och " 1 " kan representera bokstäverna "I" eller "L". Mindre vanligt kan " 5 " representera "S", " 7 " representerar "T", " 12 " representerar "R" och " 6 " eller " 9 " kan representera "G" respektive "g". Siffror som 2 , 4 eller 8 kan användas på ett sätt som liknar leet eller rebuses ; t.ex. ordet "defecate" kan uttryckas antingen som DEFECA7E eller DEFEC8 .

Anmärkningsvärda magiska siffror

Många datorprocessorer , operativsystem och debuggers använder magiska siffror, särskilt som ett magiskt felsökningsvärde .

Koda Decimal Beskrivning
0x0000000FF1CE 1044942 ("kontor") används som den sista delen av produktkoder ( GUID ) för Microsoft Office- komponenter (synliga i registret under registernyckeln HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall ).
0x00BAB10C 12235020 ("über (ooba) block") används som det magiska numret för ZFS uberblock.
0x1BADB002 464367618 ("1 dålig start") Multiboot header magiskt nummer.
0x4B1D 19229 ("förbjud") var ett lösenord i vissa kalibreringskonsoler för utvecklare att titta djupare in i kontrollregister utanför det normala kalibreringsminnesområdet. [ citat behövs ]
0x8BADF00D 2343432205 ("ätit dålig mat") används av Apple i iOS -kraschrapporter, när ett program tar för lång tid att starta, avsluta eller svara på systemhändelser.
0xABADBABE 2880289470 ("a bad babe") användes/används av Microsofts Windows 7 för att utlösa en felsökningsbrytpunkt, förmodligen när en USB-enhet är ansluten
0xB105F00D 2969956365 ("BIOS-mat") är värdet på de låga byten av de fyra senaste registren på ARM PrimeCell-kompatibla komponenter (component_id-registren), som används för att identifiera korrekt beteende hos en minnesmappad komponent.
0xB16B00B5 2976579765 ("stora bröst") krävdes av Microsofts Hyper-V hypervisor för att användas av Linux-gäster som deras "gästsignatur" . Ett förslag föreslog att det skulle ändras till 0x0DEFACED ("defaced"), men det ändrades istället först till decimal och ersattes sedan helt.
0x0B00B135 184594741 " ) krävdes också av Microsofts Hyper-V hypervisor för att användas av en användare av XEN som deras användar-id. Den togs bort den 22 januari 2010.
0xBAAAAAAD 3131746989 ("baaaaaad") används av Apples iOS -undantagsrapport för att indikera att loggen är en stackshot av hela systemet, inte en kraschrapport .
0xBAADF00D 3131961357 ("dålig mat") används av Microsofts LocalAlloc(LMEM_FIXED) för att indikera oinitierat tilldelat högminne när felsökningshögen används.
0xBAD22222 3134333474 ("bad too repeatedly") används av Apples iOS -undantagslogg för att indikera att en VoIP-applikation har avslutats av iOS eftersom den återupptas för ofta .
0xBADDCAFE 3135097598 ("dåligt café") används av Libumem för att indikera oinitierat minnesområde.
0xCAFEB0BA 3405689018 ("cafe boba") används av datp som konserverat returvärde för QKit MFCC nyckelordsdetektering för utveckling av värdgränssnitt eftersom hans kollega gillar kaffe (och kanske boba också).
0xB0BABABE 2965027518 ("boba babe") används av pton som Host GUI Ack to QKit MFCC nyckelordsdetekteringssvar.
0xBEEFBABE 3203381950 ("beef babe") används av videospelet Frogger från 1997 för att upptäcka ett stackbuffertspill .
0xB000 0xDEAD 2952847021 ("boo dead") visades av PA-RISC- baserade HP 3000 och HP 9000- datorer när de stötte på ett "systemstopp" (aka "lågnivåstopp").
0xC00010FF 3221229823 ("cool off") används av Apple i iOS- kraschrapporter, när applikationen dödades som svar på en termisk händelse.
C15C:0D06:F00D 212601099710477 ("cisco dog food") som används i IPv6-adressen för www.cisco.com på World IPv6 Day . "Hundmat" syftar på att Cisco äter sin egen hundmat med IPv6.
0xCAFEBABE 3405691582 ("cafe babe") används av Plan 9 :s libc som ett giftvärde för minnespooler. Det används också av Mach-O för att identifiera universella objektfiler och av programmeringsspråket Java för att identifiera Java bytecode- klassfiler. Det skapades ursprungligen av NeXTSTEP -utvecklare som en referens till baristorna på Peet's Coffee & Tea .
0xCAFED00D 3405697037 ("cafe dude") används av Java som ett magiskt nummer för deras pack200- komprimering.
0xCEFAEDFE 3472551422 ("ansiktsmatning") används av Mach-O för att identifiera platta (enkel arkitektur) objektfiler. I little endian lyder detta FEEDFACE , "Feed Face".
0x0D15EA5E 219540062 ("noll sjukdom") är en flagga som indikerar regelbunden uppstart på GameCube- och Wii -konsolerna.
0xDABBAD00 3669732608 ("dabba doo") är namnet på en blogg om datorsäkerhet.
0xDEAD2BAD 3735890861 ("dead too bad") användes för att markera tilldelade minnesområden som ännu inte hade initierats på Sequent Dynix/ptx- system.
0xDEADBAAD 3735927469 ("dead bad") används av Android libc abort()-funktionen när native heap-korruption upptäcks.
0xDEADBABE 3735927486 ("dead babe") används av IBM Jikes RVM som en förnuftskontroll av stapeln av primärtråden.
0xDEADBEAF 3735928495 ("död beaf") är en del av signaturkoden för Jazz Jackrabbit 2 tileset-filer. Nivåfiler har mindre utrymme för sina signaturer och använder 0xBABE ("babe"). Det är också rubriken för kampanjspelslagringar som används i Halo- spelserien .
deadbeef-dead-beef-dead-beef00000075 295990755083049101712519384016336453749 ("dött nötkött") är den GUID som tilldelats hängda/döda virtuella maskiner i Citrix XenServer .
0xDEADBEEF 3735928559 ("dött nötkött") används ofta för att indikera en programkrasch eller dödläge i inbyggda system. 0xDEADBEEF användes ursprungligen för att markera nyligen allokerade minnesområden som ännu inte hade initierats – när man skannar en minnesdump är det lätt att se 0xDEADBEEF . Den används av IBM RS/6000- system, Mac OS på 32-bitars PowerPC- processorer och Commodore Amiga som ett magiskt felsökningsvärde. På Sun Microsystems Solaris markerar det frigjort kärnminne. DEC Alpha SRM-konsolen har en bakgrundsprocess som fångar minnesfel, identifierade av PS som "BeefEater väntar på 0xdeadbeef".
0xDEADC0DE 3735929054 (" död kod ") används som en markör i OpenWrt firmware för att indikera början av det jffs2-filsystem som ska skapas i slutet av den statiska firmware.
0xDEADDEAD 3735936685 ("dead dead") är buggkontrollkoden (STOPP) som visas när en Blue Screen of Death anropas , antingen genom att berätta för kärnan via den bifogade debuggern, eller genom att använda en speciell tangentkombination. Detta ses vanligtvis av drivrutinutvecklare, eftersom det används för att få en minnesdump på Windows NT-baserade system. Ett alternativ till 0xDEADDEAD är buggkontrollkoden 0x000000E2 , eftersom de båda kallas MANUALLY_INITIATED_CRASH som de ses i Microsoft Developer Network.
0xDEADD00D 3735932941 ("dead dude") används av Android i Dalviks virtuella maskin för att indikera ett VM-avbrott.
0xDEADFA11 3735943697 ("dead fall" eller "dead fail") används av Apple i iOS- kraschrapporter när användaren tvingar avsluta en applikation.
0xDEAD10CC 3735883980 ("dead lock") används av Apple i iOS- kraschrapporter, när en applikation håller på en systemresurs medan den körs i bakgrunden.
0xDEADFEED 3735944941 ("dött flöde") används av Apple i iOS- kraschrapporter, när en timeout inträffar som skapar en tjänst.
0xDECAFBAD 3737844653 ("decaf bad") finns ofta i kodning som ett lätt igenkännbart magiskt tal när man hexdumpar minne.
0xDEFEC8ED 3741239533 ("defecated") är det magiska numret för OpenSolaris core dumps .
0xD0D0CACA 3503344330 (" doo-doo caca ") är det oinitierade värdet för GPIO-värden på Nvidia Tegra X1. [ citat behövs ]
0xE011CFD0 3759263696 ("docfile0") används som ett magiskt tal för Microsoft Office-filer. I little endian står detta D0CF11E0 , "docfile0".
0xF1AC 61868 ("FLAC") används som ljudformattaggen för Free Lossless Audio Codec .
ansikte:b00c 4207849484 (" facebook ") används i IPv6-adresserna på www.facebook.com.
0xFACEFEED 4207869677 ("ansiktsflöde") används av Alpha-servrar som kör Windows NT. Alpha Hardware Abstraction Layer (HAL) genererar detta fel när det stöter på ett maskinvarufel.
0xFBADBEEF 4222467823 ("bad beef") används i WebKit- och Blink- layoutmotorerna för att indikera ett känt, oåterställbart fel, t.ex.
0xFEE1DEAD 4276215469 ("feel dead") används som ett magiskt nummer i Linux- omstartssystemanropet. Andra magiska nummer för att starta om maskinen är 672274793, 85072278, 369367448 och 537993216 som i hex översätts till 0x281201969, 0x2812 9x51,1 respektive 0x2812 9x519,1 x20112000, födseln datum för Linus Torvalds och hans tre söner.
0xFEEDBABE 4276992702 ("feed babe") är det magiska numret som används för att indikera början av en OpenRG flash-partitionsbeskrivning.
0xFEEDC0DE 4276994270 ("matningskod") används som fyllningsmönster av operativsystemet OS-9 vid initialisering av dess RAM .
0xFEEDFACECAFEBEEF 18369614221190020847 ("feed face cafe beef") är det magiska numret som används för att skicka som ett lösenord via seriell tråd för att rädda vissa NXP-skapade kontrollerenheter från startfel.
0xFFBADD11 4290436369 ("dålig DLL "): Används internt av Windows . [ citat behövs ]
0xF00DBABE 4027431614 ("food babe"): Ledger Nano-hårdvarukryptovaluta- plånboken använde detta magiska nummer i processen för signering som utnyttjades.

Alternativa bokstäver

Många datorspråk kräver att ett hexadecimalt tal markeras med ett prefix eller suffix (eller båda) för att identifiera det som ett tal. Ibland används prefixet eller suffixet som en del av ordet.

  • Programmeringsspråket C använder prefixet "0x" för att indikera ett hexadecimalt tal, men "0x" ignoreras vanligtvis när människor läser sådana värden som ord. C tillåter också suffixet L att deklarera ett heltal så långt , eller LL att deklarera det så långt långt , vilket gör det möjligt att skriva "0xDEADCELL" (död cell). I båda fallen kan ett U också förekomma i suffixet för att deklarera heltal som unsigned , vilket gör det möjligt att skriva "0xFEEDBULL" (feed bull).
  • I (icke-Unix) Intel assemblerspråk betecknas hexadecimala tal med ett "h"-suffix, vilket gör det möjligt att skriva "0beach" (strand). Observera att siffror i den här notationen som börjar med en bokstav måste föregås med en nolla för att skilja dem från variabelnamn. En assemblerare i Unix-stil använder C-språkkonventionen istället (men assemblerare i icke-Unix-stil är också tillgängliga på x86-operativsystem av Unix-typ).
  • Visual Basic och alla tidigare Microsoft BASICs som QuickBasic, GWBasic, BASICA och ColorBASIC använder ett &H-prefix, till exempel "&HEADED" (huvud) och "&HADC0FFEE" (fikade kaffe).
  • I Pascal och flera assemblerspråk ( 6502 , 6809 ,...) betecknas hexadecimala tal med ett "$"-prefix. Detta tillåter ord som börjar med bokstaven "S", till exempel "$EED" (frö).
  • I Б3-34 programmerbara miniräknare användes ett alternativt hexadecimalt alfabet, där symbolerna "−", "L", "C", "Г", "E" och " " (mellanslag) användes istället för latinska bokstäver. Genom att använda dessa var det möjligt att visa meddelanden som "EГГ0Г" (fel).

PlayStation 3 RSX

I reverse engineering-aspekter av Sony PlayStation 3 fann man att ett antal hexspeak-koder antingen triggar, påverkar eller var närvarande i aspekter av kommunikation till och genom PlayStation 3 Hypervisor i kommunikation till dess GPU, RSX Reality Synthesizer .

Dessa projekt föddes till stor del ur PS3-hembryggning på PS3:s OtherOS som gjorde det möjligt för Linux att installeras, initialt med extremt begränsad GPU-åtkomst.

Koda Beskrivning
0x1337BEEF , 0x1337F001 , 0x1337BEEF Hittat som en del av RSX Descriptor.
0xF00DBÖF RSX Semaphore-värdet
0x1337C0D3 och 0x1337BABE Börja semaforvärde och pad, från systemet.

Se även

externa länkar