fix magic numbers slide: clarify ascii vs non-printable bytes, update lookup table link

This commit is contained in:
2025-12-19 14:29:16 +01:00
parent 7068ea3e56
commit 7d2e943d6e
@@ -404,13 +404,17 @@ Jede Hex-Ziffer = 4 Bits
**Jede Hex-Ziffer = 4 Bits (ein "Nibble")** **Jede Hex-Ziffer = 4 Bits (ein "Nibble")**
0-9, A-F (10=A, 11=B, ..., 15=F) 0-9, A-F (10=A, 11=B, ..., 15=F)
**ASCII Character Chart:** **ASCII Tabelle (0-127):**
[https://www.eso.org/~ndelmott/ascii.html](https://www.eso.org/~ndelmott/ascii.html) [https://www.asciitable.com](https://www.asciitable.com)
<!-- <!--
"Gerne vorab auf den Link gehen" "Gerne vorab auf den Link gehen"
WICHTIG: ASCII geht nur von 0-127!
- Werte 128-255 sind NICHT in der ASCII-Tabelle
- Das wird später bei Magic Numbers wichtig
Warum Hexadezimal statt Dezimal? Warum Hexadezimal statt Dezimal?
- Binär ist zu lang: 01001101 (8 Zeichen für 1 Byte) - Binär ist zu lang: 01001101 (8 Zeichen für 1 Byte)
- Dezimal passt nicht: 77 (unregelmäßig, manchmal 2, manchmal 3 Ziffern) - Dezimal passt nicht: 77 (unregelmäßig, manchmal 2, manchmal 3 Ziffern)
@@ -467,31 +471,38 @@ Tool: HxD (Windows), Hex Fiend (Mac), xxd (Linux)
**Dateityp-Identifikation durch erste Bytes** **Dateityp-Identifikation durch erste Bytes**
| Format | Magic Number (Hex) | ASCII | | Format | Magic Number (Hex) | Lesbar? |
|--------|-------------------|-------| |--------|-------------------|---------|
| PNG | `89 50 4E 47 0D 0A 1A 0A` | `.PNG` | | PNG | `89 50 4E 47` | ✗ P N G |
| JPEG | `FF D8 FF` | `ÿØÿ` | | JPEG | `FF D8 FF` | ✗ ✗ ✗ |
| PDF | `25 50 44 46` | `%PDF` | | PDF | `25 50 44 46` | % P D F ✓ |
| ZIP/DOCX/ODT | `50 4B 03 04` | `PK` | | ZIP | `50 4B 03 04` | P K ✗ ✗ |
**Hinweis:** TXT, HTML, CSS haben **keine** Magic Number! **Wichtig:** ASCII = nur 0-127! Werte darüber (z.B. `89` = 137) sind **nicht druckbar** (non-printable).
Hex-Editoren zeigen dafür `.` oder `ÿ` als Platzhalter.
<!-- <!--
Magic Number = Signatur/Fingerabdruck am Dateianfang "Warum findet ihr 89 nicht in der ASCII-Tabelle?"
Wozu? Betriebssystem erkennt Dateityp unabhängig von Dateiendung
KERNKONZEPT:
- 1 Byte = 256 Werte (0-255)
- ASCII deckt nur 0-127 ab (die "druckbaren" Zeichen)
- 128-255 = Binärdaten, Steuerzeichen, erweiterte Zeichen
WARUM nutzt PNG absichtlich 89 (= 137 dezimal)?
1. Markiert die Datei eindeutig als BINÄR, nicht Text
2. Erkennt kaputte Übertragungen (alte Systeme schnitten Bit 7 ab)
3. Verhindert versehentliches Öffnen als Textdatei
Geschichte: "PK" bei ZIP = Phil Katz (Erfinder von PKZip, 1989) Geschichte: "PK" bei ZIP = Phil Katz (Erfinder von PKZip, 1989)
Fun Fact: DOCX, XLSX, PPTX, ODT = alles ZIP-Archive mit XML-Inhalt! Fun Fact: DOCX, XLSX, PPTX, ODT = alles ZIP-Archive mit XML-Inhalt!
→ Einfach .zip anhängen und entpacken!
Dateien OHNE Magic Number: TXT, HTML, CSS, JSON, XML Dateien OHNE Magic Number: TXT, HTML, CSS, JSON, XML
→ Diese sind reiner Text, kein binäres Format → Reiner Text, kein binäres Format
→ Werden anhand Inhalt/Endung erkannt
Sicherheits-Aspekt: Sicherheits-Aspekt:
virus.exe → bild.jpg umbenennen täuscht nur Menschen virus.exe → bild.jpg umbenennen täuscht nur Menschen
Windows vertraut der Endung, aber Tools wie "file" (Linux) lesen Magic Number Windows vertraut der Endung, aber "file" (Linux) liest Magic Number
→ Nie Dateien von Fremden öffnen, nur weil sie harmlos aussehen!
--> -->
--- ---