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")**
|
**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!
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user