Numeri magici: i codici segreti che i programmatori nascondono nel tuo PC

Nov 3, 2024
Privacy e sicurezza

Da quando la prima persona ha scritto 5318008 su una calcolatrice, i nerd nascondono numeri segreti all'interno del tuo PC e li usano per negoziare strette di mano segrete tra applicazioni e file. Oggi diamo una rapida occhiata ad alcuni degli esempi più divertenti.

Cosa sono i numeri magici?

La maggior parte dei linguaggi di programmazione utilizza un tipo intero a 32 bit per rappresentare determinati tipi di dati dietro le quinte: internamente il numero è memorizzato nella RAM o utilizzato dalla CPU come 32 uno e zero, ma nel codice sorgente sarebbe scritto in entrambi formato decimale regolare, o come formato esadecimale, che utilizza i numeri da 0 a 9 e le lettere da A a F.

Quando il sistema operativo o un'applicazione desidera determinare il tipo di file, può cercare all'inizio del file un indicatore speciale che indica il tipo di file. Ad esempio, un file PDF potrebbe iniziare con il valore esadecimale 0x255044462D312E33, che equivale a "% PDF-1.3" in formato ASCII, oppure un file ZIP inizia con 0x504B, che equivale a "PK", che discende dall'utilità PKZip originale. Osservando questa "firma", un tipo di file può essere facilmente identificato anche senza altri metadati.

I file di classe Java compilati iniziano con CAFEBABE

Il "file" dell'utility Linux può essere utilizzato dal terminale per determinare il tipo di file - in effetti, esso legge i numeri magici da un file chiamato "magia".

Quando un'applicazione vuole chiamare una funzione, può passare valori a quella funzione utilizzando tipi standard come il numero intero, che può essere espresso nel codice sorgente in formato esadecimale. Ciò è particolarmente vero per le costanti, che sono identificatori definiti con nomi leggibili dall'uomo come AUTOSAVE_INTERVAL, ma si associano a valori interi (o di altro tipo) effettivi. Quindi, invece di un programmatore che digita un valore come 60 ogni volta che chiama la funzione nel codice sorgente, potrebbero usare la costante AUTOSAVE_INTERVAL per una migliore leggibilità. (Le costanti sono generalmente facilmente riconoscibili perché sono scritte in tutte le lettere maiuscole).

Tutti questi esempi possono rientrare nel termine Numeri magici , perché potrebbero richiedere un numero esadecimale specifico affinché una funzione o un tipo di file funzioni correttamente ... se il valore non è corretto, non funzionerà. E quando un programmatore vuole divertirsi un po ', potrebbe definire questi valori utilizzando numeri esadecimali che compongono qualcosa in inglese, altrimenti noto come hexspeak .

Divertirsi con i numeri magici: alcuni esempi notevoli

Ogni AppleScript termina con FADEDEAD

Se dai una rapida occhiata nel codice sorgente di Linux , vedrai che la chiamata di sistema _reboot () su Linux richiede il passaggio di una variabile "magica" che sia uguale al numero esadecimale 0xfee1dead. Se qualcosa provasse a chiamare quella funzione senza passare prima quel valore magico, restituirebbe semplicemente un errore.

Il GUID (identificatore univoco globale) per un file Partizione di avvio del BIOS nel Schema di partizionamento GPT è 21686148-6449-6E6F-744E-656564454649, che forma la stringa ASCII "Hah! IdontNeedEFI", un'allusione al fatto che GPT sarebbe normalmente utilizzato in computer che hanno sostituito il BIOS con UEFI , ma non deve essere necessariamente.

Notoriamente Microsoft ha nascosto 0x0B00B135 nella loro macchina virtuale Hyper-V che supporta il codice sorgente inviato a Linux, quindi hanno modificato il valore in 0xB16B00B5 e infine loro cambiato in decimale prima che venisse rimosso del tutto dal codice sorgente.

Altri esempi divertenti includono:

  • 0xbaaaaaad - utilizzato da Registrazione dei crash di iOS per indicare che un log è uno stackshot dell'intero sistema.
  • 0xbad22222: utilizzato dalla registrazione degli arresti anomali di iOS per indicare che un'app VoIP è stata interrotta da iOS perché si è comportata male.
  • 0x8badf00d - (Ate Bad Food) utilizzato dai registri di arresto anomalo di iOS per indicare che un'applicazione ha impiegato troppo tempo per fare qualcosa ed è stata interrotta dal timeout del watchdog.
  • 0xdeadfa11 - (Dead Fall) utilizzato dalla registrazione degli arresti anomali di iOS quando un'app viene chiusa forzatamente da un utente.
  • 0xDEADD00D: utilizzato da Android per indicare l'interruzione di una VM.
  • 0xDEAD10CC (Dead Lock) utilizzato dalla registrazione dei crash di iOS quando un'applicazione blocca una risorsa in background.
  • 0xBAADF00D (Bad Food) utilizzato da LocalAlloc funzione in Windows per il debug.
  • 0xCAFED00D (Cafe dude) utilizzato dalla compressione pack200 di Java.
  • 0xCAFEBABE (Cafe babe) utilizzato da Java come identificatore per i file di classe compilati
  • 0x0D15EA5E (Disease) utilizzato da Nintendo su Gamecube e Wii per indicare che è avvenuto un avvio normale.
  • 0x1BADB002 (1 avvio errato) utilizzato da multiboot specifica come numero magico
  • 0xDEADDEAD - utilizzato da Windows per indicare un file crash di debug avviato manualmente , altrimenti noto come Blue Screen of Death.

Questi non sono gli unici là fuori, ovviamente, ma solo un breve elenco di esempi che sembravano divertenti. Sai di più? Diteci nei commenti.

Vedere esempi per te stesso

Puoi vedere più esempi aprendo un editor esadecimale e quindi aprendo un numero qualsiasi di tipi di file. Ci sono molti editor esadecimali freeware disponibili per Windows, OS X o Linux - solo assicurati di stare attento quando installi freeware per non essere infettati da crapware o spyware.

Come esempio aggiuntivo, le immagini di ripristino per telefoni Android come ClockworkMod iniziano con "ANDROID!" se letto in formato ASCII.

Nota: non cambiare nulla mentre ti guardi intorno. Gli editor esadecimali possono rompere le cose!

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


Privacy e sicurezza - Articoli più popolari

Gli app store non possono proteggerti dalle app che abusano dei tuoi dati

Privacy e sicurezza Sep 11, 2025

CONTENUTO UNCACHED Le app che ottieni da un app store non sono necessariamente affidabili. Una delle migliori app nel Mac App Store che raccoglie i dati di navigazione è solo l'u..


Che cos'è una scheda SIM (e cosa viene dopo)?

Privacy e sicurezza Jun 1, 2025

Una scheda SIM (Subscriber Identity Module) è un chip all'interno della maggior parte dei telefoni cellulari moderni che memorizza le informazioni di cui il tuo telefono ha bisogno..


Cos'è la directory System32? (e perché non dovresti eliminarlo)

Privacy e sicurezza Apr 28, 2025

La directory C: \ Windows \ System32 è una parte fondamentale del sistema operativo Windows in cui sono archiviati i file di sistema importanti. Alcuni burloni online potrebbero di..


Come recuperare i file da un'unità crittografata con BitLocker

Privacy e sicurezza Jul 27, 2025

La crittografia BitLocker di Microsoft ti obbliga sempre a creare una chiave di ripristino quando la configuri. Potresti aver stampato la chiave di ripristino, annotata, salvata in ..


Come cancellare cronologia, cache e cookie in Safari su iPhone o iPad

Privacy e sicurezza Feb 15, 2025

Presumeremo che la maggior parte degli scrittori di How-To Geek sappia come eliminare la cronologia, i cookie e la cache in Mobile Safari, ma nel caso non lo sapessi, ecco come farl..


Oracle non è in grado di proteggere il plug-in Java, quindi perché è ancora abilitato per impostazione predefinita?

Privacy e sicurezza Oct 14, 2025

CONTENUTO UNCACHED Java è stato responsabile del 91% di tutti i computer compromessi nel 2013. La maggior parte delle persone non solo ha abilitato il plug-in del browser Java, m..


Come bloccare IE 10 disabilitando Flash in Windows 8

Privacy e sicurezza Jun 6, 2025

Microsoft ora include Flash insieme al proprio browser Internet Explorer in Windows 8. Flash è stato conosciuto in passato come un grande colpevole quando si tratta di vulnerabilit..


Aggiungi Utilità account utente (Userpasswords2) al Pannello di controllo

Privacy e sicurezza Oct 18, 2025

Nascosta nella directory di Windows è un'utilità separata che può essere utilizzata per eseguire determinate funzioni di amministrazione utente non fornite nella normale interfaccia. Invec..


Categorie