
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!
So passen Sie die Höhe der Google-Tastatur an Android an
Google Keyboard erhält weiterhin erweiterte Anpassungsfunktionen, wobei die neueste Version die Option zum Ändern der Tastaturhöhe (neben anderen Optimierungen) bietet. Wenn Sie jemals gedacht haben "Mann, ich könnte so viel schneller tippen, wenn diese Tastatur nur ein Bit größer wäre" oder "Ich würde gerne ein wenig mehr von dem Bildschirm sehen, diese Tastatur ist auch einfach groß!
So aktualisieren Sie Windows 7 auf einmal mit Microsoft Convenience Rollup
Wenn Sie Windows 7 auf einem neuen System installieren, müssen Sie einen langen Prozess des Herunterladens von jahrelangen Updates dauernd durchführen Neustart. Nicht mehr: Microsoft bietet jetzt ein "Windows 7 SP1 Convenience Rollup", das im Wesentlichen wie Windows 7 Service Pack 2 funktioniert. Mit einem einzigen Download können Sie Hunderte von Updates gleichzeitig installieren.