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 mounten und verwenden Sie ein exFAT-Laufwerk unter Linux
Das exFAT-Dateisystem eignet sich ideal für Flash-Laufwerke und SD-Karten. Es ist wie FAT32, aber ohne die Dateigröße von 4 GB. Sie können exFAT-Laufwerke unter Linux mit voller Lese- / Schreibunterstützung verwenden, aber Sie müssen zuerst ein paar Pakete installieren. Versuchen Sie, ein exFAT-formatiertes Laufwerk anzuschließen, ohne die erforderliche Software zu installieren, und Sie werden oft "Unable to mount "Fehlermeldung" unbekannter Dateisystemtyp: 'exfat'.
So legen Sie ein Kennwort für Ihre Outlook-Datendatei fest
Wenn Sie Bedenken haben, Ihre E-Mail in Outlook vor neugierigen Blicken zu schützen, besonders wenn Sie einen Computer mit anderen teilen, können Sie die E-Mails in jedem Outlook-Konto sowie Kalendereinträge, Aufgaben usw. durch Festlegen eines Kennworts für jede Outlook-Datei (.pst). VERWANDT: Erstellen eines neuen lokalen Benutzerkontos in Windows 10 Es gibt einige Dinge, die Sie zum Schutz Ihrer E-Mails in Outlook wissen sollten.