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!
Zobrazit uložená hesla Wi-Fi (WPA, WEP) na OS X
Téměř každý, kdo má notebook, pravděpodobně v průběhu času připojil k několika různým bezdrátovým sítím. Mám tendenci hodně cestovat a vzít si svůj notebook se mnou všude, kam jdu, takže doslova mám přes sto bezdrátových sítí uložených na svém Macu. To je skvělé, protože se mohu snadno připojit k těmto bezdrátovým sítím vždy, když jsem opět v dosahu, i když je to o 6 měsíců později.Jsou však chvíle, kdy potřebuji znát heslo pro síť
Jak nainstalovat a používat záložky v Microsoft Edge
Microsoft Edge dosud nemá rozšíření pro prohlížeče, ale může používat záložky. Záložky fungují v Edge dobře a vynahradí se nedostatek rozšíření prohlížeče. Stačí je nainstalovat ručně jako první Aktualizace: Tato funkce již nepracuje jako v aktualizaci Windows 10. listopadu, ale můžete použít nástroj třetí strany k přidání bookmarkletů do databáze záložek Edge.