Hexspeak
Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den
version , der blev gennemgået den 13. september 2020; checks kræver
5 redigeringer .
Hexspeak er ligesom Leet en ny og usædvanlig måde at skrive ord på det engelske sprog på .
Hexspeak blev skabt af programmører, der ønskede at bruge magiske tal , heltalskonstanter, til entydigt at identificere en ressource eller data. Ved at bruge det hexadecimale system , bestående af decimaltal fra 0 til 9 og latinske bogstaver fra A til F (0123456789ABCDEF), blev det muligt at lave små ord, hvor tallet "0" står for bogstavet "O", "1" står for for bogstaverne "I" eller "L", står "5" for "S", "7" står for "T", og "6" eller "9" står for henholdsvis "G" eller "g". Tal som 2 eller 8 kan bruges på samme måde, som de bruges i leet eller rebus ; for eksempel kan ordet "defecate" repræsenteres som DEFECA7E eller DEFEC8.
Kendte magiske tal
Et betydeligt antal processorer , operativsystemer og debuggere bruger magiske tal, især som magiske debug-værdier .
- 0x8BADF00D("spiste dårlig mad" fra engelsk - "spiste dårlig mad") bruges af Apple i iOS - fejlrapporter til at indikere en situation, hvor en applikation enten starter, afslutter eller reagerer på systemhændelser for længe. [en]
- 0xABADBABE("a bad babe" fra engelsk - "bad girl") bruges af Apple som det magiske tal for "Boot Zero Block".
- 0x1BADB002("I bad boot" fra engelsk - "bad boot") er det magiske nummer på multiboot-headeren. [2]
- 0xBAADF00D("dårlig mad" fra engelsk - "dårlig mad") bruges af Microsofts LocalAlloc(LMEM_FIXED) til at indikere et ikke-initialiseret hukommelsesområde, når du bruger debug-heap. [3]
- 0xBADCAB1E("bad cable" fra engelsk - "bad cable") - fejlkoden returneres til Microsoft eVC debugger i tilfælde af en forbindelsesbrud.
- 0xBADDCAFE("bad cafe" på engelsk - "bad cafe") bruges af fejlfindingshukommelsesallokatoren 'watchmalloc' i OpenSolaris til at angive allokeret, men ubrugt hukommelse.
- 0xBEADFACE("bead face", "face bead" fra engelsk - "decorate your face with beads") er en skabelon, der fylder al ubrugt hukommelse i Motorola 68HCS12DP256, SimHC12 mikrocontroller simulator.
- 0xCAFEBABE("cafe babe" bruges af Mach -O til at henvise til Universal - objektfiler, og også i Java-sproget til at identificere Java bytecode -klassefiler . [fire]
- 0xCAFED00D("Cafe Dude" bruges i Java som et magisk tal for dens pack200-komprimering.
- 0xD15EA5E("sygdom" fra engelsk - "sygdom") et flag, der angiver normal indlæsning på Nintendo GameCube- og Wii - konsoller. [5] [6]
- 0xDEADBABE("Dead Babe" fra engelsk - "dead girl") bruges af IBM Jikes RVM til at styre stakken af hovedtråden [7]
- 0xDEADBEEF("dead beef" fra engelsk - "dead beef") bruges ofte til at indikere et program, der går ned eller fryser i indlejrede enheder. Brugt på IBM RS/6000 -systemer , Mac OS på 32-bit PowerPC-processorer og Commodore Amiga som et magisk fejlfindingsnummer. På Solaris refererer det til frigjort kernehukommelse. I OpenVMS på Alpha-processorer kan du se DEAD_BEEF ved at trykke på CTRL+T. I konsollen har DEC Alpha SRM en baggrundsproces, der overvåger hukommelsesfejl, defineret i PS som "BeefEater venter på 0xdeadbeef". [8] .
- 0xDEADDEAD("dead dead" fra engelsk - "dead-dead") fejlretningskode, der vises, når du kalder Blue Screen of Death ved at bruge kerne-debuggeren eller ved at bruge en speciel tastekombination. [9] Dette bruges almindeligvis af driverudviklere til at opnå et hukommelsesdump på Windows NT-baserede operativsystemer. Den alternative kode for 0xDEADDEAD er 0x000000E2, [10] også kaldet MANUALLY_INITIATED_CRASH på Microsoft Developer Network.
- 0xDEADFA11("dead fall" fra engelsk - "deadly fall") bruges af Apple i iOS , når systemet går ned, når brugeren er tvunget til at lukke applikationen. [en]
- 0xDEFEC8ED("defecated" fra engelsk - "defecated") er det magiske tal for OpenSolaris- hukommelsesdumps . [elleve]
- 0xFACEFEED("face feed" fra engelsk - "face food") Bruges i Alpha-servere, der kører Windows NT. Alpha Hardware Abstraction Layer (HAL) genererer denne fejl, når den støder på en hardwarefejl. [12]
- 0xFEE1DEAD("feel dead" fra engelsk - "feel dead") bruges som et magisk tal i Linux i systemkaldet til genstart. [13]
- 0xFEEDCAFE("feed cafe" fra engelsk - "feed the cafe") bruges sammen med 0xDEADBEEF på samme måde som "foo" og "bar" .
- 0xFEEDFACE("feed face" på engelsk - "feed face") bruges som en Mach-O signatur af binære filer og som en dårlig pointerværdi for 'watchmalloc' i OpenSolaris .
- 0xC0FFEE("kaffe" fra engelsk - "kaffe") bruges i sådanne 24-bit DSP'er som Motorola 56303.
- 0xE011CFD0 er det magiske tal for Microsoft Office-filer. I little-endian står der D0CF11E0, "docfile0". [fjorten]
- 0xFACE8D — hudfarve i RGB -format .
- 0xFEEE("gratis" fra engelsk - "gratis") bruges af debug-konfigurationerne af nogle kompilatorer (for eksempel MSVC) til at markere pointere til frigjort hukommelse.
- 0xCCCCCCCC - også brugt af Debug-konfigurationer af compilere til initialisering af pointere til objekter.
Oprettelse af magiske tal
Ovenstående ord er kun en lille del af de hundredvis af engelske ord, der kun indeholder bogstaverne "a", "b", "c", "d", "e", "f", "o", "i", og " s", så det er nemt for programmører at skabe deres egne, såsom 0xD15EA5ED eller 0xBED51DE5. Du kan muligvis bemærke et par mønstre i de klassiske hexspeak-konstanter, der er angivet ovenfor. Alle disse konstanter bruger hele bredden af et maskinord (32-bit i dette tilfælde), og ingen af dem starter med 1 eller 5. Dette valg betyder, at hvis et ord fortolkes som et heltal i decimalnotation, er det normalt et stort negativt heltal. Værdien 0xBAADF00D brugt af Microsoft er også en god værdi til at fange adgang til uinitialiseret hukommelse af en anden grund - at afslutte et ord med "1", "5", "b", "d" eller "f" skaber et ulige tal, som genererer en ujusteret pointer-undtagelse på mange processorarkitekturer, hvis konstanten fortolkes som en pointerværdi.
Alternative bogstaver
- I programmeringssproget Ada er hexadecimale tal omgivet af "16#" og "#". For eksempel: "16#Ada_Ada_Ada_Ada#".
- C - programmeringssproget bruger præfikset "0x" til at angive hexadecimale tal. Når man læser ord, ignoreres det normalt.
- I 6502 assembler er hexadecimale tal foranstillet med "$". Dette giver dig mulighed for at bruge ord, der starter med "S", såsom $EED ("frø").
- I Intel-syntax Assembler slutter hexadecimale tal med "h". For eksempel: FEEDADEADF15h ("fodre en død fisk" - "fodre de døde fisk"). Bemærk, at tal i en sådan post ikke kan begynde med et bogstav, så compileren ikke forveksler dem med variabler, så nul indtastes i begyndelsen. Så tallet "FEEDADEADF15h" skal skrives som "0FEEDADEADF15h".
Se også
Links
- ↑ 1 2 Teknisk note TN2151: Forståelse og analyse af nedbrudsrapporter for iPhone OS-applikationer (link ikke tilgængeligt) . Arkiveret fra originalen den 2. juli 2012. (ubestemt)
- ↑ Multiboot-specifikationer (downlink) . Arkiveret fra originalen den 2. juli 2012. (ubestemt)
- ↑ Win32 Debug CRT Heap Internals (downlink) . Arkiveret fra originalen den 2. juli 2012. (ubestemt)
- ↑ Hvorfor Cafebabe (downlink) . Artima.com. Hentet 1. oktober 2009. Arkiveret fra originalen 2. juli 2012. (ubestemt)
- ↑ Endnu en Gamecube-dokumentation: Dolphin-OS Globals (link utilgængeligt) . Arkiveret fra originalen den 2. juli 2012. (ubestemt)
- ↑ Wiibrew: Hukommelseskort (downlink) . Arkiveret fra originalen den 2. juli 2012. (ubestemt)
- ↑ DEADBABE fornuftstjek (downlink) . Hentet 1. oktober 2009. Arkiveret fra originalen 2. juli 2012. (ubestemt)
- ↑ Jargon Filindgang for DEADBEEF (downlink) . catb.org. Hentet 1. oktober 2009. Arkiveret fra originalen 2. juli 2012. (ubestemt)
- ↑ Fejltjek 0xDEADDEAD: MANUALLY_INITIATED_CRASH, MSDN (downlink) . msdn.microsoft.com (1. oktober 2009). Hentet 13. oktober 2009. Arkiveret fra originalen 2. juli 2012. (ubestemt)
- ↑ Fejltjek 0xE2: MANUALLY_INITIATED_CRASH, MSDN (downlink) . msdn.microsoft.com (1. oktober 2009). Hentet 13. oktober 2009. Arkiveret fra originalen 2. juli 2012. (ubestemt)
- ↑ Opensolaris overskriftslinje 48 for 0xDEFEC8ED (downlink) . cvs.opensolaris.org. Hentet 1. oktober 2009. Arkiveret fra originalen 2. juli 2012. (ubestemt)
- ↑ Technet-artikel til 0xFACEFEED (downlink) . Support.microsoft.com (1. november 2006). Hentet 1. oktober 2009. Arkiveret fra originalen 2. juli 2012. (ubestemt)
- ↑ include/linux/reboot.h (downlink) . Arkiveret fra originalen den 2. juli 2012. (ubestemt)
- ↑ Dokumenter, der understøttes af Office-filteret (downlink) . Arkiveret fra originalen den 2. juli 2012. (ubestemt)