Hexspeak
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 13 september 2020; kontroller kräver
5 redigeringar .
Hexspeak är, liksom Leet , ett nytt och ovanligt sätt att skriva ord på engelska .
Hexspeak skapades av programmerare som ville använda magiska tal , heltalskonstanter, för att unikt identifiera en resurs eller data. Med hjälp av det hexadecimala systemet , bestående av decimalsiffror från 0 till 9 och latinska bokstäver från A till F (0123456789ABCDEF), blev det möjligt att skapa små ord där siffran "0" står för bokstaven "O", "1" står för för bokstäverna "I" eller "L" står "5" för "S", "7" står för "T" och "6" eller "9" står för "G" respektive "g". Siffror som 2 eller 8 kan användas på samma sätt som de används i leet eller rebuses ; till exempel kan ordet "defecate" representeras som DEFECA7E eller DEFEC8.
Kända magiska siffror
Ett betydande antal processorer , operativsystem och debuggers använder magiska siffror, särskilt som magiska felsökningsvärden .
- 0x8BADF00D("ätit dålig mat" från engelska - "ätit dålig mat") används av Apple i iOS -felrapporter för att indikera en situation där en applikation antingen startar, avslutas eller svarar på systemhändelser för länge. [ett]
- 0xABADBABE("a bad babe" från engelska - "bad girl") används av Apple som det magiska numret för "Boot Zero Block".
- 0x1BADB002("I bad boot" från engelska - "bad boot") är det magiska numret för multiboot-huvudet. [2]
- 0xBAADF00D("dålig mat" från engelska - "dålig mat") används av Microsofts LocalAlloc(LMEM_FIXED) för att indikera ett oinitierat minnesområde när debug-högen används. [3]
- 0xBADCAB1E("bad cable" från engelska - "bad cable") - felkoden returneras till Microsoft eVC-felsökaren i händelse av ett anslutningsavbrott.
- 0xBADDCAFE("bad cafe" på engelska - "bad cafe") används av felsökningsminnesallokatorn 'watchmalloc' i OpenSolaris för att indikera tilldelat, men oanvänt minne.
- 0xBEADFACE("bead face", "face bead" från engelska - "decorate your face with beads") är en mall som fyller allt oanvänt minne i Motorola 68HCS12DP256, SimHC12 mikrokontrollersimulator.
- 0xCAFEBABE("cafe babe" används av Mach -O för att referera till Universal- objektfiler, och även i Java-språket för att identifiera Java-bytecode -klassfiler . [fyra]
- 0xCAFED00D("Cafe Dude" används i Java som ett magiskt tal för dess pack200-komprimering.
- 0xD15EA5E("sjukdom" från engelska - "sjukdom") en flagga som indikerar normal laddning på Nintendo GameCube och Wii -konsoler. [5] [6]
- 0xDEADBABE("Dead Babe" från engelska - "dead girl") används av IBM Jikes RVM för att styra stacken av huvudtråden [7]
- 0xDEADBEEF("dead beef" från engelska - "dead beef") används ofta för att indikera att ett program kraschar eller fryser i inbäddade enheter. Används på IBM RS/6000 -system , Mac OS på 32-bitars PowerPC-processorer och Commodore Amiga som ett magiskt felsökningsnummer. På Solaris hänvisar det till frigjort kärnminne. I OpenVMS på Alpha-processorer kan du se DEAD_BEEF genom att trycka på CTRL+T. I konsolen har DEC Alpha SRM en bakgrundsprocess som övervakar minnesfel, definierad i PS som "BeefEater som väntar på 0xdeadbeef". [8] .
- 0xDEADDEAD("dead dead" från engelska - "dead-dead") felsökningskod som visas när Blue Screen of Death anropas med kärnfelsökaren eller med en speciell tangentkombination. [9] Detta används vanligtvis av drivrutinutvecklare för att få en minnesdump på Windows NT-baserade operativsystem. Den alternativa koden för 0xDEADDEAD är 0x000000E2, [10] även kallad MANUALLY_INITIATED_CRASH på Microsoft Developer Network.
- 0xDEADFA11("dead fall" från engelska - "deadly fall") används av Apple i iOS när systemet kraschar när användaren tvingas stänga applikationen. [ett]
- 0xDEFEC8ED("defecated" från engelska - "defecated") är det magiska numret för OpenSolaris- minnesdumpar . [elva]
- 0xFACEFEED("face feed" från engelska - "face food") Används i Alpha-servrar som kör Windows NT. Alpha Hardware Abstraction Layer (HAL) genererar detta fel när det stöter på ett maskinvarufel. [12]
- 0xFEE1DEAD("feel dead" från engelska - "feel dead") används som ett magiskt nummer i Linux i systemanropet omstart. [13]
- 0xFEEDCAFE("feed cafe" från engelska - "feed the cafe") används med 0xDEADBEEF på samma sätt som "foo" och "bar" .
- 0xFEEDFACE("feed face" på engelska - "feed face") används som en Mach-O- signatur för binärer och som ett dåligt pekvärde för 'watchmalloc' i OpenSolaris .
- 0xC0FFEE("kaffe" från engelska - "kaffe") används i sådana 24-bitars DSP :er som Motorola 56303.
- 0xE011CFD0 är det magiska numret för Microsoft Office-filer. I little-endian står det D0CF11E0, "docfile0". [fjorton]
- 0xFACE8D — hudfärg i RGB -format .
- 0xFEEE("gratis" från engelska - "gratis") används av felsökningskonfigurationerna för vissa kompilatorer (till exempel MSVC) för att markera pekare till frigjort minne.
- 0xCCCCCCCC - används även av Debug-konfigurationer av kompilatorer för den initiala initialiseringen av pekare till objekt.
Skapa magiska siffror
Ovanstående ord är bara en liten del av de hundratals engelska ord som bara innehåller bokstäverna "a", "b", "c", "d", "e", "f", "o", "i", och " s", så det är lätt för programmerare att skapa sina egna, till exempel 0xD15EA5ED eller 0xBED51DE5. Du kanske märker några mönster i de klassiska hexspeak-konstanter som listas ovan. Alla dessa konstanter använder hela bredden av ett maskinord (32-bitar i det här fallet), och ingen av dem börjar med 1 eller 5. Detta val innebär att om ett ord tolkas som ett heltal i decimalnotation så är det vanligtvis ett stort negativt heltal. Värdet 0xBAADF00D som används av Microsoft är också ett bra värde för att få tillgång till oinitierat minne av en annan anledning - att avsluta ett ord med "1", "5", "b", "d" eller "f" skapar ett udda tal som genererar ett ojusterat pekareundantag på många processorarkitekturer om konstanten tolkas som ett pekarvärde.
Alternativa bokstäver
- I programmeringsspråket Ada är hexadecimala tal inneslutna i "16#" och "#". Till exempel: "16#Ada_Ada_Ada_Ada#".
- Programmeringsspråket C använder prefixet "0x" för att beteckna hexadecimala tal. När man läser ord ignoreras det oftast.
- I 6502 assembler har hexadecimala tal prefixet "$". Detta gör att du kan använda ord som börjar med "S", som $EED ("frö").
- I Intel-syntax Assembler slutar hexadecimala tal med "h". Till exempel: FEEDADEADF15h ("mata en död fisk" - "mata den döda fisken"). Observera att siffror i en sådan post inte kan börja med en bokstav, så att kompilatorn inte förväxlar dem med variabler, så noll anges i början. Så numret "FEEDADEADF15h" ska skrivas som "0FEEDADEADF15h".
Se även
Länkar
- ↑ 1 2 Teknisk notering TN2151: Förstå och analysera kraschrapporter för iPhone OS-applikationer (länk ej tillgänglig) . Arkiverad från originalet den 2 juli 2012. (obestämd)
- ↑ Multiboot-specifikationer (nedlänk) . Arkiverad från originalet den 2 juli 2012. (obestämd)
- ↑ Win32 Debug CRT Heap Internals (nedlänk) . Arkiverad från originalet den 2 juli 2012. (obestämd)
- ↑ Varför Cafebabe (nedlänk) . Artima.com. Hämtad 1 oktober 2009. Arkiverad från originalet 2 juli 2012. (obestämd)
- ↑ Ännu en Gamecube-dokumentation: Dolphin-OS Globals (länk ej tillgänglig) . Arkiverad från originalet den 2 juli 2012. (obestämd)
- ↑ Wiibrew: Minneskarta (nedlänk) . Arkiverad från originalet den 2 juli 2012. (obestämd)
- ↑ DEADBABE förnuftskontroll (nedlänk) . Hämtad 1 oktober 2009. Arkiverad från originalet 2 juli 2012. (obestämd)
- ↑ Jargong Filpost för DEADBEEF (nedlänk) . catb.org. Hämtad 1 oktober 2009. Arkiverad från originalet 2 juli 2012. (obestämd)
- ↑ Bug Check 0xDEADDEAD: MANUALLY_INITIATED_CRASH, MSDN (nedlänk) . msdn.microsoft.com (1 oktober 2009). Hämtad 13 oktober 2009. Arkiverad från originalet 2 juli 2012. (obestämd)
- ↑ Bug Check 0xE2: MANUALLY_INITIATED_CRASH, MSDN (nedlänk) . msdn.microsoft.com (1 oktober 2009). Hämtad 13 oktober 2009. Arkiverad från originalet 2 juli 2012. (obestämd)
- ↑ Opensolaris rubrikrad 48 för 0xDEFEC8ED (nedlänk) . cvs.opensolaris.org. Hämtad 1 oktober 2009. Arkiverad från originalet 2 juli 2012. (obestämd)
- ↑ Technet-artikel för 0xFACEFEED (nedlänk) . Support.microsoft.com (1 november 2006). Hämtad 1 oktober 2009. Arkiverad från originalet 2 juli 2012. (obestämd)
- ↑ include/linux/reboot.h (nedlänk) . Arkiverad från originalet den 2 juli 2012. (obestämd)
- ↑ Dokument som stöds av Office-filtret (nedlänk) . Arkiverad från originalet den 2 juli 2012. (obestämd)