Siden den første person skrev 5318008 på en regnemaskine, har nørder gemt hemmelige numre inde i din pc og bruger dem at forhandle hemmelige håndtryk mellem applikationer og filer. I dag tager vi et hurtigt kig på nogle af de mere underholdende eksempler.
De fleste programmeringssprog bruger en 32-bit heltalstype til at repræsentere bestemte typer data bag kulisserne - internt lagres nummeret i RAM eller bruges af CPU'en som 32 og nuller, men i kildekoden vil den blive skrevet ud i enten almindeligt decimalformat eller som hexadecimalt format, der bruger tallene 0 til 9 og bogstaverne A til F.
Når operativsystemet eller et program ønsker at bestemme typen af en fil, kan den se til begyndelsen af filen for en særlig markør, der angiver filens type. For eksempel kan en PDF-fil starte med hex-værdien 0x255044462D312E33, som svarer til "% PDF-1.3" i ASCII-format, eller en ZIP-fil starter med 0x504B, hvilket svarer til "PK", som stammer fra det oprindelige PKZip-værktøj. Ved at se på denne "signatur" kan en filtype nemt identificeres selv uden andre metadata.
Kompilerede Java Class-filer starter med CAFEBABE
Linux-hjælpeprogrammet "file" kan bruges fra terminalen til at bestemme typen af en fil - i virkeligheden læser den magiske numre fra en fil kaldet "magi".
Når et program ønsker at kalde en funktion, kan det passere værdier til den funktion ved hjælp af standardtyper som heltal, som kan udtrykkes i kildekoden i hexadecimalt format. Dette gælder især for konstanter, som er identifikatorer defineret med menneskelige læsbare navne som AUTOSAVE_INTERVAL, men de kortlægger til egentlige heltal (eller andre type) værdier. Så i stedet for en programmør skrive en værdi som 60 hver gang de kalder funktionen i kildekoden, kunne de bruge AUTOSAVE_INTERVAL konstanten til bedre læsbarhed. (Konstanter er normalt let genkendt, fordi de er skrevet i alle store bogstaver).
Alle disse eksempler kan falde ind under udtrykket Magic Numbers, fordi de måske kræver et bestemt hexadecimalt tal, for at en funktion eller filtype kan fungere korrekt ... hvis værdien ikke er korrekt, virker den ikke. Og når en programmør ønsker at have lidt sjov, kan de definere disse værdier ved hjælp af hexadecimale tal, der stave noget på engelsk, ellers kendt som hexspeak.
Alle AppleScript slutter med FADEDEAD
Hvis du kigger hurtigt på Linux-kildekoden, ser du, at systemrejsen _reboot () på Linux kræver en "magisk" variabel, der skal overføres, der svarer til det hexadecimale nummer 0xfee1dead. Hvis noget forsøgte at kalde den funktion uden at passere den magiske værdi først, ville den bare returnere en fejl.
GUID (globalt unik identifikator) til en BIOS boot partition i GPT partitioneringsordningen er 21686148-6449-6E6F-744E -656564454649, som danner ASCII-strengen "Hah! IdontNeedEFI", en henvisning til, at GPT normalt ville blive brugt i computere, der erstattede BIOS med UEFI, men det behøver ikke nødvendigvis at være.
Microsoft skjult gemt 0x0B00B135 i deres Hyper-V virtuelle maskine, der understøttede kildekoden, der blev sendt til Linux, ændrede de værdien til 0xB16B00B5, og til sidst skiftede de den til decimal før den blev fjernet fra kildekoden helt.
Flere sjove eksempler er:
Se eksempler for dig selv
Som et tilføjet eksempel kan genoprettelsesbilleder til Android-telefoner som ClockworkMod Start med "ANDROID!" hvis det læses i ASCII-format.
Bemærk:
Du må ikke ændre noget, mens du kigger rundt. Hex redaktører kan bryde ting!
Fix for kan ikke fjerne eller slette netværksprinter i Windows
Hvis du arbejder på et kontor, har du sandsynligvis flere printere tilføjet til din computer, som er netværksprintere, dvs. ikke tilsluttet direkte til din computer. Men som du bevæger dig rundt i virksomheden eller printere dør ud, skal listen ryddes op en gang imellem.Nogle gange, når du forsøger at slette en netværksprinter, kan du muligvis få en besked fra Windows, der siger " Kan ikke slette netværksprinter ", og det er det! Great, s
Sådan bruger du Password Manager i Safari på iPhone eller iPad
Hvis du bruger Safari på din iPad eller iPhone, kan du gemme webadressens adgangskoder og derefter administrere dem ved hjælp af indstillingerne for adgangskoder. Passwords manager på iOS er let at bruge, og et af de bedste, vi har fundet på mobile enheder. Vi ved, at at have og bruge en adgangskode manager er alt andet end en nødvendighed på enhver computer eller mobil enhed.