Maagiset numerot: salaiset koodit, jotka ohjelmoijat piilottavat tietokoneellasi

Nov 3, 2024
Yksityisyys ja turvallisuus

Siitä lähtien, kun ensimmäinen henkilö kirjoitti 5318008 laskimeen, nörtit ovat piilottaneet salaisia ​​numeroita tietokoneesi sisällä ja käyttäneet niitä neuvottelemaan salaisia ​​kättelyjä sovellusten ja tiedostojen välillä. Tänään tarkastelemme nopeasti joitain viihdyttävimpiä esimerkkejä.

Mitä taianumerot ovat?

Useimmat ohjelmointikielet käyttävät 32-bittistä kokonaislukutyyppiä edustamaan tietyntyyppisiä tietoja kulissien takana - sisäisesti numero tallennetaan RAM-muistiin tai keskusyksikkö käyttää sitä 32 numerona ja nollana, mutta lähdekoodissa se kirjoitettaisiin joko säännöllinen desimaalimuodossa tai heksadesimaalimuodossa, joka käyttää numeroita 0-9 ja kirjaimia A - F.

Kun käyttöjärjestelmä tai sovellus haluaa määrittää tiedostotyypin, se voi etsiä tiedoston alusta erityistä merkintää, joka merkitsee tiedoston tyyppiä. Esimerkiksi PDF-tiedosto voi alkaa heksadesimaalisella arvolla 0x255044462D312E33, joka on ASCII-muodossa "% PDF-1.3", tai ZIP-tiedoston alkuosa on 0x504B, joka on sama kuin "PK", joka laskeutuu alkuperäisestä PKZip-apuohjelmasta. Tarkastelemalla tätä "allekirjoitusta" tiedostotyyppi voidaan helposti tunnistaa myös ilman muita metatietoja.

Käännetyt Java-luokan tiedostot alkavat CAFEBABE: llä

Linux-apuohjelmaa "tiedosto" voidaan käyttää päätelaitteesta tiedoston tyypin määrittämiseen - itse asiassa se lukee taikuusluvut tiedostosta kutsutaan "taikaksi".

Kun sovellus haluaa kutsua funktion, se voi välittää arvot tälle toiminnolle käyttämällä vakiotyyppejä, kuten kokonaisluku, joka voidaan ilmaista lähdekoodina heksadesimaalimuodossa. Tämä pätee erityisesti vakioihin, jotka ovat tunnisteita, jotka on määritelty ihmisen luettavilla nimillä, kuten AUTOSAVE_INTERVAL, mutta ne kartoittavat todelliset kokonaisluku (tai muun tyyppiset) arvot. Joten sen sijaan, että ohjelmoija kirjoittaisi 60: n arvoisen arvon joka kerta, kun he kutsuvat lähdekoodin funktiota, he voisivat käyttää vakiota AUTOSAVE_INTERVAL luettavuuden parantamiseksi. (Vakiot tunnistetaan yleensä helposti, koska ne kirjoitetaan suurilla kirjaimilla).

Kaikki nämä esimerkit voivat kuulua termiin Maagiset numerot , koska ne saattavat edellyttää tiettyä heksadesimaalilukua, jotta funktio tai tiedostotyyppi toimisi oikein ... jos arvo ei ole oikea, se ei toimi. Ja kun ohjelmoija haluaa pitää hauskaa, he voivat määritellä nämä arvot käyttämällä heksadesimaalilukuja, jotka sanovat jotain englanniksi, joka tunnetaan myös nimellä heksspeak .

Hauskaa taianumeroilla: Joitakin merkittäviä esimerkkejä

Jokainen AppleScript päättyy FADEDEAD-kirjaimeen

Jos katsot nopeasti Linux-lähdekoodiin , huomaat, että _reboot () -järjestelmäkutsu Linuxissa vaatii "maagisen" muuttujan välittämisen, joka on yhtä suuri kuin heksadesimaaliluku 0xfee1dead. Jos joku yritti soittaa kyseiselle toiminnolle siirtämättä ensin maagista arvoa, se vain palauttaisi virheen.

A: n GUID (globaalisti yksilöivä tunniste) BIOS-käynnistysosio että GPT-osiointijärjestelmä on 21686148-6449-6E6F-744E-656564454649, joka muodostaa ASCII-merkkijonon "Hah! IdontNeedEFI", viittaus siihen, että GPT: tä käytettäisiin normaalisti tietokoneet, jotka korvaavat BIOSin UEFI: llä , mutta sen ei välttämättä tarvitse olla.

Microsoft tunnetusti piilotti 0x0B00B135 Hyper-V-virtuaalikoneessa, joka tukee Linuxille lähetettyä lähdekoodia, sitten he muuttivat arvon arvoksi 0xB16B00B5 ja lopuksi he muutti sen desimaaliksi ennen kuin se poistettiin lähdekoodista kokonaan.

Hauskempia esimerkkejä ovat:

  • 0xbaaaaaad - käyttää iOS-kaatumisloki osoittaa, että loki on koko järjestelmän pino.
  • 0xbad22222 - käyttää iOS-kaatumislokia osoittamaan, että iOS on tappanut VoIP-sovelluksen väärän toiminnan vuoksi.
  • 0x8badf00d - (Ate Bad Food), jota iOS-kaatumislokit käyttävät osoittamaan, että sovellus kesti liian kauan tehdä jotain ja että vahtikoiran aikakatkaisu tappoi sen.
  • 0xdeadfa11 - (Dead Fall), jota käytetään iOS-kaatumislokien yhteydessä, kun käyttäjä pakottaa sovelluksen lopettamaan.
  • 0xDEADD00D - Android käyttää sitä ilmoittamaan virtuaalikoneen keskeytyksestä.
  • 0xDEAD10CC (Dead Lock), jota iOS-kaatumisloki käyttää, kun sovellus lukitsee resurssin taustalle.
  • 0xBAADF00D (huono ruoka), jota LocalAlloc -toiminto Windowsin virheenkorjausta varten.
  • 0xCAFED00D (Cafe dude), jota käytetään Java's pack200 -pakkauksessa.
  • 0xCAFEBABE (Cafe babe), jota Java käyttää käännettyjen luokkatiedostojen tunnisteena
  • 0x0D15EA5E (tauti), jota Nintendo käyttää Gamecube ja Wii osoittaa normaalin käynnistyksen.
  • 0x1BADB002 (1 huono käynnistys), jota monikäynnistys erittely maagisena numerona
  • 0xDEADDEAD - Windows käyttää a manuaalisesti käynnistetty virheenkorjaus kaatuu , joka tunnetaan myös nimellä Blue Screen of Death.

Nämä eivät tietenkään ole ainoita siellä, mutta vain lyhyt luettelo hauskana vaikuttaneista esimerkeistä. Tiedätkö lisää? Kerro meille kommenteissa.

Katso itse esimerkkejä

Näet lisää esimerkkejä avaamalla hex-editorin ja avaamalla sitten minkä tahansa määrän tiedostotyyppejä. Windowsille, OS X: lle tai Linuxille on tarjolla paljon ilmaisia ​​hex-muokkausohjelmia - vain varmista, että asennat ilmaisohjelmia jotta ei saada tartunnan crapware tai spyware.

Lisäesimerkkinä Android-puhelimien, kuten ClockworkModin, palautuskuvat alkavat "ANDROID!" jos luetaan ASCII-muodossa.

Huomautus: älä muuta mitään, kun katsot ympärillesi. Hex-toimittajat voivat rikkoa asioita!

.entry-sisältö .entry-alatunniste

IPhone Secret Codes!

Samsung Secret Codes To Speed Up Your Phone

Call Of Duty: Black Ops - Hidden Menu Secret And Computer Codes - Mini-Games And Cheats

JavaScript Security: Hide Your Code?

Secret Phone Codes You Didn't Know Existed!

CODES Honor Play - Secret Menu / Hidden Mode / EMUI Tricks


Yksityisyys ja turvallisuus - Suosituimmat artikkelit

Kuinka nopeuttaa kasvotunnusta iPhonessa

Yksityisyys ja turvallisuus Jun 25, 2025

Halfpoint / Shutterstock.com Apple ilmoitti Face ID: stä iPhone X: n rinnalla ja mainitsi vahvoja turvallisuusparannuksiaan Touch ID: n suhteen...


Kuinka katsella tai suoratoistaa vuoden 2018 Super Bowlia (ilman kaapelia)

Yksityisyys ja turvallisuus Feb 4, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ Olemme T-miinus nolla viikkoa Super Bowliin, joka on amerikkalaisen urheilun suurin tapahtuma (sorry-not-sorry, "World" -sarja). Mikä tuo on? Sinulla..


Kuinka jakaa kotisi turvajärjestelmän käyttöoikeus muiden kotitalouden jäsenten kanssa

Yksityisyys ja turvallisuus Jul 14, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ Vaikka voit kutsua muita käyttäjiä jakamaan pääsyn kotiisi Abode-turvajärjestelmään alkuasennusprosessi , miten pääset kyseis..


Kuinka nopeuttaa Chromea ja korjata virheet asentamatta sitä uudelleen

Yksityisyys ja turvallisuus May 5, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ Kerran röyhkeä Chrome-selaimesi vetää, etkä tiedä miksi. Syytätkö Googlea ja vaihdat toiseen selaimeen tunteaksesi uuden selaimen tuoksun jäl..


Kuinka peilata iPhonen tai iPadin näyttö Windows-tietokoneellasi

Yksityisyys ja turvallisuus Jul 30, 2025

AirPlayn avulla voit peilata iPhonen tai iPadin näytön Mac- tai Apple TV: si . Mutta entä jos sinulla on Windows-tietokone? Näytämme sinulle ilmaisen työkalun, ..


Kuinka saada Spotify lopettamaan lähettäminen Facebookiin (ja muut tietosuoja-asetukset)

Yksityisyys ja turvallisuus Nov 11, 2024

Jos olet kuin minä, heräsit luultavasti eräänä aamuna, kun olet asentanut Spotifyn puhelimeesi tai tietokoneellesi joukolle ihmisiä, jotka pilkkaavat sinua Frozen-ääniraidan..


3 tapaa varmuuskopioida ja palauttaa Wi-Fi-salasanasi

Yksityisyys ja turvallisuus Mar 2, 2025

SÄHKÖISETTÖTÖN SISÄLTÖ Windows muistaa Wi-Fi-salasanat säästääksesi aikaa, mutta voit säästää enemmän aikaa viemällä tallennetut salasanat ja siirtämällä ne mu..


Kuinka tuoda tallennetut selaimen salasanat KeePassiin

Yksityisyys ja turvallisuus Aug 24, 2025

Olemme aiemmin tarkastelleet tallennettujen salasanojen turvallisuutta sisällä Internet Explorer ja Kromi joilla ei ole selainkohtaista pääsalasala..


Luokat