
Seit die erste Person 5318008 auf einem Taschenrechner geschrieben hat, verstecken Nerds geheime Zahlen in Ihrem PC und benutzen sie Aushandeln geheimer Handshakes zwischen Anwendungen und Dateien. Heute werfen wir einen Blick auf einige der unterhaltsameren Beispiele.
Die meisten Programmiersprachen verwenden einen 32-Bit Integer-Typ, um bestimmte Arten von Daten hinter den Kulissen darzustellen - intern wird die Nummer gespeichert im RAM oder von der CPU als 32 Einsen und Nullen verwendet, aber im Quellcode würde es entweder im regulären Dezimalformat oder als hexadezimales Format geschrieben werden, das die Zahlen 0 bis 9 und die Buchstaben A bis F verwendet.
Wenn das Betriebssystem oder eine Anwendung den Typ einer Datei ermitteln möchte, kann sie den Anfang der Datei nach einem speziellen Marker durchsuchen, der den Typ der Datei angibt. Beispielsweise kann eine PDF-Datei mit dem Hexadezimalwert 0x255044462D312E33 beginnen, was "% PDF-1.3" im ASCII-Format entspricht, oder eine ZIP-Datei beginnt mit 0x504B, was "PK" entspricht und vom ursprünglichen PKZip-Dienstprogramm abstammt. Durch Betrachten dieser "Signatur" kann ein Dateityp auch ohne weitere Metadaten leicht identifiziert werden.

Kompilierte Java-Class-Dateien beginnen mit CAFEBABE
Das Linux-Dienstprogramm "file" kann vom Terminal aus verwendet werden, um den Typ zu bestimmen einer Datei - tatsächlich liest sie die magischen Zahlen aus einer Datei namens "magic".
Wenn eine Anwendung eine Funktion aufrufen möchte, kann sie Werte an diese Funktion übergeben, indem sie Standardtypen wie Ganzzahl verwendet, die in ausgedrückt werden können der Quellcode im hexadezimalen Format. Dies gilt insbesondere für Konstanten, bei denen es sich um Bezeichner handelt, die mit für Menschen lesbaren Namen wie AUTOSAVE_INTERVAL definiert sind, aber sie werden tatsächlichen Ganzzahlwerten (oder anderen Typen) zugeordnet. Anstelle eines Programmierers, der jedes Mal, wenn er die Funktion im Quellcode aufruft, einen Wert wie 60 eingibt, könnte er die AUTOSAVE_INTERVAL-Konstante für eine bessere Lesbarkeit verwenden. (Konstanten werden normalerweise leicht erkannt, da sie in Großbuchstaben geschrieben sind.)
Alle diese Beispiele können unter dem Begriff "Magische Zahlen" fallen, da sie möglicherweise eine bestimmte Hexadezimalzahl benötigen, damit eine Funktion oder ein Dateityp ordnungsgemäß funktioniert ... wenn der Wert nicht korrekt ist, wird es nicht funktionieren. Und wenn ein Programmierer ein wenig Spaß haben möchte, könnte er diese Werte mit hexadezimalen Zahlen definieren, die etwas in Englisch buchstabieren, auch bekannt als Hexspeak.

Jedes AppleScript endet mit FADEDEAD
Wenn Sie einen kurzen Blick auf den Linux-Quellcode werfen, sehen Sie, dass der Systemaufruf _reboot () unter Linux eine "magische" Variable benötigt, die der Hexadezimalzahl 0xfee1dead entspricht. Wenn etwas versucht hat, diese Funktion aufzurufen, ohne zuerst diesen magischen Wert zu übergeben, würde es nur einen Fehler zurückgeben.
Die GUID (global eindeutige Kennung) für eine BIOS-Boot-Partition im GPT-Partitionierungsschema ist 21686148-6449-6E6F-744E -656564454649, die die ASCII-Zeichenkette "Hah! IdontNeedEFI" bildet, eine Anspielung auf die Tatsache, dass GPT normalerweise in Computern verwendet wird, die das BIOS durch UEFI ersetzen, aber das muss nicht unbedingt sein.
Microsoft hat 0x0B00B135 versteckt In ihrem Hyper-V-Virtual-Machine-Quellcode, der an Linux gesendet wurde, änderten sie den Wert in 0xB16B00B5 und schließlich wechselten sie ihn in Dezimal, bevor er vollständig aus dem Quellcode entfernt wurde.
Weitere Spaßbeispiele sind:
Dies sind natürlich nicht die einzigen , aber nur eine kurze Liste von Beispielen, die Spaß machten. Kennen Sie noch mehr? Sagen Sie uns in den Kommentaren.
Sie können mehr Beispiele sehen, indem Sie einen Hex-Editor öffnen und dann eine beliebige Anzahl von Dateitypen öffnen. Es gibt viele Freeware-Hex-Editoren für Windows, OS X oder Linux - achten Sie jedoch darauf, dass Sie bei der Installation von Freeware vorsichtig sind, um nicht mit Crapware oder Spyware infiziert zu werden.
Als zusätzliches Beispiel Wiederherstellungsbilder für Android-Handys wie ClockworkMod Beginnen Sie mit "ANDROID!", wenn Sie im ASCII-Format gelesen werden.

Hinweis: Ändern Sie nichts, während Sie sich umsehen. Hex-Editoren können Dinge brechen!
Sollten Sie Ihren PC, Mac, iPhone, iPad in der Nacht herunterfahren?
Sollten Sie Ihre elektronischen Geräte nachts ausschalten? Ich bekomme diese Frage die ganze Zeit und die Antwort variiert je nach Gerät und Person. Es gibt Zeiten, in denen Sie Ihren Computer oder Ihr Smartphone nicht herunterfahren möchten, weil etwas im Hintergrund läuft. Auf der anderen Seite kann das Herunterfahren von Zeit zu Zeit seltsame kleine Probleme / Störungen beheben, die auftreten, wenn Sie Ihren Computer oder Ihr Gerät für eine sehr lange Zeit eingeschaltet haben.In die
Können Sie eine Windows-Installation auf einen anderen Computer verschieben?
Wenn Sie kürzlich einen neuen PC gebaut oder gekauft haben, fragen Sie sich vielleicht, ob Sie Ihre alte Festplatte einfach auf den neuen Computer übertragen können. So migrieren Sie Ihre gesamte Installation auf einen Schlag. Aber es ist nicht so einfach wie es scheint. Linux-Systeme laden im Allgemeinen alle ihre Treiber beim Booten, was bedeutet, dass sie viel portabler sind - deshalb kann Linux von diesen praktischen USB-Laufwerken und -Disks geladen werden.