Nuo to laiko, kai pirmasis asmuo išspausdino skaičiuoklę 5318008, "nerds" slepia slaptus numerius jūsų kompiuteryje ir juos naudoja derėtis dėl slaptų rankos tarp programų ir failų. Šiandien mes greitai pažvelgime į kai kuriuos įdomius pavyzdžius.
Dauguma programavimo kalbų naudoja 32 bitų natūralų skaičių, atstovaujantį tam tikrus duomenų tipus už siužetų - vidinis numeris saugomas RAM atmintyje arba CPU naudojamas kaip 32 taškai ir nuliai, tačiau šaltinio kodu jis būtų išrašomas arba įprastu dešimtainiu formatu, arba kaip šešioliktainis formatas, kuris naudoja skaičiai nuo 0 iki 9 ir raidės nuo A iki F.
Kai operacinė sistema ar programa nori nustatyti failo tipą, gali atrodyti, kad failo pradžioje yra specialus žymeklis, nurodantis failo tipą. Pavyzdžiui, PDF failas gali prasidėti šešiabriaunio verte 0x255044462D312E33, kuris lygus "% PDF-1.3" ASCII formatu, arba ZIP failas prasideda nuo 0x504B, kuris lygus "PK", kuris nusileidžia iš originalios PKZip programos. Žvelgiant į šį "parašą", failo tipas gali būti lengvai identifikuojamas net ir be jokių kitų metaduomenų.
Sudėtiniai Java klasės failai prasideda CAFEBABE
"Linux" įrankis "failas" gali būti naudojamas iš terminalo, siekiant nustatyti tipą failo - iš tikrųjų jis skaito magijos numerius iš failo, vadinamo "magija".
Kai programa nori paskambinti funkcijai, ji gali perduoti į šią funkciją vertes, naudodama standartinius tipus, tokius kaip sveikasis skaičius, kuris gali būti išreikštas šaltinio kodas šešioliktainiu formatu. Tai ypač pasakytina apie konstantas, kuris yra identifikatorius, apibrėžtas žmogaus skaitomuose varduose, pvz., AUTOSAVE_INTERVAL, tačiau jie nurodo faktinius sveikuosius (ar kitokio tipo) vertes. Taigi vietoj to, kad programuotojas įveda tokią vertę kaip 60 kiekvieną kartą, kai jie vadina funkciją šaltinio kodu, jie galėtų naudoti AUTOSAVE_INTERVAL konstantą, kad būtų lengviau juos skaityti. (Konstantai paprastai yra lengvai atpažįstami, nes jie yra parašyti visais didžiosiomis raidėmis). Visi šie pavyzdžiai gali būti priskiriami Magic Numbers, nes gali prireikti tam tikro šešioliktainio skaičiaus, kad funkcija ar failo tipas veiktų tinkamai ... jei vertė neteisinga, ji neveiks. Kai programuotojas nori šiek tiek įdomus, jie gali apibrėžti šias reikšmes naudodamiesi šešioliktainiais skaičiais, kurie paaiškina kažką anglų kalba, kitaip vadinama hexspeak.
Pramogos su magiškais numeriais: kai kurie žinomi pavyzdžiai
Jei greitai pažvelgsite į "Linux" šaltinio kodą, pamatysite, kad sisteminis "_reboot ()" skambutis "Linux" reikalauja perduoti "magišką" kintamąjį, kuris lygus šešioliktainiam skaičiui 0xfee1dead. Jei kažkas bandė skambinti šia funkcija, pirmiausia nepatekdamas tokios magijos vertės, tai tik grąžina klaidą.
GPT skaidinio schemos GUID (globaliai unikalus identifikatorius) yra 21686148-6449-6E6F-744E -656564454649, kuris sudaro ASCII eilutę "Hah! IdontNeedEFI" - aliuziją į tai, kad GPT paprastai būtų naudojamas kompiuteriuose, kurie pakeitė BIOS su UEFI, bet tai nebūtinai turi būti.
Microsoft smarkiai paslėpė 0x0B00B135 jų "Hyper-V" virtualioje mašinoje, palaikančiame "Linux" pateiktą kodą, jie pakeitė reikšmę į 0xB16B00B5 ir galiausiai pakeitė jį iki dešimtainio, kol jis iš pradžių buvo pašalintas iš šaltinio kodo.
Daugiau įdomių pavyzdžių yra:
0xbaaaaaad - naudojama "iOS" avarijų žurnale, kad būtų rodoma, kad žurnalas yra visos sistemos stackshot'as.
Patirties pavyzdžių peržiūra
Kaip papildomą pavyzdį atkūrimo vaizdai "Android" telefonams, pavyzdžiui, "ClockworkMod" pradėkite nuo "ANDROID!", jei skaitoma ASCII formatu.
Pastaba:
nieko nekeisdami, kai žiūrite. Hex redaktoriai gali sugadinti dalykus!
5 Grand Theft Auto V modai, kuriuos turėtumėte naudoti dabar
Jei manote, kad "Grand Theft Auto V" jau buvo viena iš geriausių mūsų kartos žaidimų patirties, kompiuterių moderatorių bendruomenė turi keletą žodžių tau: "dar nieko nematote". Kaip ir jo pirmtakas, "GTA V" atėjimas į kompiuterį paskatino ne tik grafikos ir atkūrimo, kuris išliko neprilygstamas jo brolių konsolėje, bet ir be apribojimų galimybė namuose kūrėjams pasinerti į šaltinio kodą ir pamatyti, kokių gėrybių jie gali iškasti, norėdami padaryti savo kitą modą.
Sukurkite privatų naršymo režimo saitą savo interneto naršyklėje
Privatus naršymas yra visų šiuolaikinių interneto naršyklių režimas, kuris, kai bus įjungtas, ištrins visus sesijos duomenis, pvz., Naršymo istoriją ir slapukus. Jei norite naršyti internete, kai niekas jūsų kompiuteryje saugomas lokaliai, privatus naršymo režimas yra geriausias pasirinkimas.Atkreipkite dėm