Od chvíle, kdy první osoba napsala na počítačích číslo 5318008, hlupáci skryli tajná čísla uvnitř počítače a používali je k vyjednávání tajných handshakes mezi aplikacemi a soubory. Většina programovacích jazyků používá 32bitový celočíselný typ, který reprezentuje určité typy dat v zákulisí - uvnitř je uloženo číslo v paměti RAM nebo použitých procesorem jako 32 a nula, ale ve zdrojovém kódu by byl napsán buď v normálním desítkovém formátu, nebo jako hexadecimální formát, který používá čísla 0 až 9 a písmena A až F.
Kompilované soubory Java třídy začínají CAFEBABE
Soubor "utility" Linuxu lze použít z terminálu k určení typu ze souboru - ve skutečnosti čte magická čísla ze souboru s názvem "magie".
Když aplikace chce volat funkci, může předávat hodnoty této funkci za použití standardních typů, jako je celé číslo, které lze vyjádřit v zdrojový kód v šestnáctkovém formátu. Platí to zejména pro konstanty, které jsou identifikátory definované lidskými čitelnými názvy, jako je AUTOSAVE_INTERVAL, ale mapují na skutečné hodnoty celočíselného (nebo jiného typu). Takže místo toho, aby programátor napsal hodnotu 60, pokaždé, když volá funkci ve zdrojovém kódu, mohli použít konstantu AUTOSAVE_INTERVAL pro lepší čitelnost. (Konstanty jsou obvykle snadno rozpoznány, protože jsou napsány všemi velkými písmeny.)
Všechny tyto příklady mohou spadat pod termín Magic Numbers, protože mohou vyžadovat specifické hexadecimální číslo, aby funkce nebo typ souboru fungoval správně ... pokud není hodnota správná, nebude fungovat. A když programátor chce mít trochu zábavy, mohou definovat tyto hodnoty pomocí hexadecimálních čísel, které vyslovují něco v angličtině, jinak známé jako hexspeak.
Zábava s kouzelnými čísly: Některé pozoruhodné příklady
Každý AppleScript končí FADEDEAD
GUID (globálně jedinečný identifikátor) pro zaváděcí oddíl systému BIOS v schématu dělení GPT je 21686148-6449-6E6F-744E -656564454649, který tvoří řetězec ASCII "Hah! IdontNeedEFI", narážka na skutečnost, že GPT by se normálně používal v počítačích, které nahradily systém BIOS systémem UEFI, ale nutně nemusí být.
Microsoft skvěle ukrýval 0x0B00B135 ve svém podpůrném zdrojovém kódu pro virtuální stroj Hyper-V, který byl předán do systému Linux, pak změnili hodnotu na hodnotu 0xB16B00B5 a nakonec ji přepnuli na desítkovou plochu ještě předtím, než byla úplně odstraněna ze zdrojového kódu.
Mezi další zábavné příklady patří:
0xbaaaaaad - používá se protokolování selhání iOS, které označuje, že protokol je stack of the whole system.
0xbad22222 - používá protokol srážení iOS, který naznačuje, že aplikace VoIP byla zabita iOS, protože to bylo nesprávné.
Jako příklad lze použít obnovu obrázků pro Android telefony jako ClockworkMod pokud je ve formátu ASCII čteno "ANDROID!".
nezměňujte nic, když se díváte. Hex editory mohou rozbíjet věci!
Jak přidat widget pro kontakt na domovskou obrazovku v systému Android
Většina z nás má kontakty, které voláme nebo text často a posouvání nebo prohledávání prostřednictvím dlouhého seznamu kontaktů může trvat více než máte. Můžete to vyřešit přidáním zkratky rychlé volby na domovskou obrazovku. Ukážeme vám, jak to udělat na zařízení Google a na zařízení Samsung. Zařízení Google V tomto příkladu jsme použili tabletu Nexus 7.
Přidání vaší hudební knihovny do režimu Steam a použití funkce Steam Music Player
Steam Music Player vám umožňuje přidat MP3 soubor uložený v počítači do místní hudební knihovny a přehrávat jej zpět - uvnitř nebo vně hry, s ovladačem nebo klávesnicí a myší. To by bylo obzvláště užitečné na parném počítači nebo herním PC v režimu Big Picture. Toto funguje v systému Steam na Windows, Mac, Linux a Steam OS.