fix magic numbers slide: clarify ascii vs non-printable bytes, update lookup table link
This commit is contained in:
@@ -404,13 +404,17 @@ Jede Hex-Ziffer = 4 Bits
|
||||
**Jede Hex-Ziffer = 4 Bits (ein "Nibble")**
|
||||
0-9, A-F (10=A, 11=B, ..., 15=F)
|
||||
|
||||
**ASCII Character Chart:**
|
||||
[https://www.eso.org/~ndelmott/ascii.html](https://www.eso.org/~ndelmott/ascii.html)
|
||||
**ASCII Tabelle (0-127):**
|
||||
[https://www.asciitable.com](https://www.asciitable.com)
|
||||
|
||||
<!--
|
||||
|
||||
"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?
|
||||
- Binär ist zu lang: 01001101 (8 Zeichen für 1 Byte)
|
||||
- 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**
|
||||
|
||||
| Format | Magic Number (Hex) | ASCII |
|
||||
|--------|-------------------|-------|
|
||||
| PNG | `89 50 4E 47 0D 0A 1A 0A` | `.PNG` |
|
||||
| JPEG | `FF D8 FF` | `ÿØÿ` |
|
||||
| PDF | `25 50 44 46` | `%PDF` |
|
||||
| ZIP/DOCX/ODT | `50 4B 03 04` | `PK` |
|
||||
| Format | Magic Number (Hex) | Lesbar? |
|
||||
|--------|-------------------|---------|
|
||||
| PNG | `89 50 4E 47` | ✗ P N G |
|
||||
| JPEG | `FF D8 FF` | ✗ ✗ ✗ |
|
||||
| PDF | `25 50 44 46` | % P D F ✓ |
|
||||
| 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
|
||||
Wozu? Betriebssystem erkennt Dateityp unabhängig von Dateiendung
|
||||
"Warum findet ihr 89 nicht in der ASCII-Tabelle?"
|
||||
|
||||
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)
|
||||
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
|
||||
→ Diese sind reiner Text, kein binäres Format
|
||||
→ Werden anhand Inhalt/Endung erkannt
|
||||
→ Reiner Text, kein binäres Format
|
||||
|
||||
Sicherheits-Aspekt:
|
||||
virus.exe → bild.jpg umbenennen täuscht nur Menschen
|
||||
Windows vertraut der Endung, aber Tools wie "file" (Linux) lesen Magic Number
|
||||
→ Nie Dateien von Fremden öffnen, nur weil sie harmlos aussehen!
|
||||
Windows vertraut der Endung, aber "file" (Linux) liest Magic Number
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user