Playstation 4 DVD/ BlueRay DRM
Wenn Du schon einmal eine Blu-ray oder PS4-Spiele-Disc in der Hand gehalten hast, war Dir vielleicht gar nicht bewusst, dass sich in der Spirale der Datenspur winzige „Wackelbewegungen“ (Wobble) verbergen. Diese Wobble-Mark ist eine von mehreren Sicherheitsschichten gegen unbefugtes Kopieren und sorgt gleichzeitig für stabilere Rotation und Synchronisation im Laufwerk. In diesem Artikel erkläre ich zunächst ganz einfach, was diese Wobble-Spur tut, und steige danach in einen Geek-Modus ab, wo wir uns anschauen, wie man das Prinzip rechnerisch modelliert und sogar in C-Code simuliert. Es gehört aber noch mehr DRM wie AACS (AES-Verschlüsselung mit MKB/VUK) dazu.
Was ist die Wobble-Mark?
- Für Einsteiger:
Stelle Dir vor, die Daten auf der Disc liegen auf einer Spirale ähnlich einer Schallplatte. Normalerweise wäre diese Spirale perfekt rund – bei Blu-ray-Discs wird die Spirale aber absichtlich ganz leicht hin und her verschoben (ge „wobbelt“), sodass sie eine minimale sinusförmige Abweichung besitzt. Diese Abweichung nennt man „Wobble Groove“ oder „Wobble-Mark“. - Zweck:
- Disc-Authentifizierung: Nur echte, gepresste Discs weisen dieses feine Wobble-Muster auf, das man mit einem normalen Blu-ray-Brenner nicht nachbilden kann.
- Timing & Synchronisation: Das Laufwerk kann über die Wobble-Frequenz seine Geschwindigkeit regeln („CLV“: konstante lineare Geschwindigkeit) und so Datenraten stabil halten.
Wie funktioniert die Wobble-Mark?
- Physikalisches Prinzip:
- Die Spirale verläuft nicht exakt auf einem Kreisradius r, sondern auf r(θ)=r0+A⋅sin(2πfwobble θ) r(θ) = r_0 + A \cdot \sin\bigl(2π f_{wobble}\, θ\bigr)r(θ)=r0+A⋅sin(2πfwobbleθ) wobei
- r₀ der mittlere Spurabstand ist,
- A die Amplitude des Wobbles (einige Nanometer),
- f<sub>wobble</sub> die Wobble-Frequenz pro Umdrehung (ca. 140 kHz bei Blu-ray).
- Die Spirale verläuft nicht exakt auf einem Kreisradius r, sondern auf r(θ)=r0+A⋅sin(2πfwobble θ) r(θ) = r_0 + A \cdot \sin\bigl(2π f_{wobble}\, θ\bigr)r(θ)=r0+A⋅sin(2πfwobbleθ) wobei
- Erkennung im Laufwerk:
- Ein Laserlesekopf tastet die Spirale ab und wandelt Höhenunterschiede in ein elektrisches Signal um.
- Über elektronische Filter wird die Wobble-Frequenz ausgekoppelt und mit einer Referenz verglichen.
- Stimmen Amplitude und Frequenz mit den erwarteten Werten überein, gilt die Disc als „echt“.
Technischer Deep Dive für Geeks
1. Signalmodell
Wir modellieren den Datentrack im Polarkoordinatenbereich. Per Umdrehungswinkel θ (in Radiant) ergibt sich der Krümmungsradius: r(θ)=r0+A⋅sin(2π⋅fwobble⋅θ)r(θ) = r_0 + A · sin(2π · f_wobble · θ) r(θ)=r0+A⋅sin(2π⋅fwobble⋅θ)
Um vom diskreten Radialmesswert m[n] zur Frequenzbestimmung zu kommen, nutzt man typischerweise einen digitalen Bandpassfilter und misst den Frequenzgang.
2. C-Code zur Simulation der Wobble-Erzeugung und -Erkennung
#include <stdio.h>
#include <math.h>
// Parameter
#define TWO_PI (2.0 * M_PI)
#define F_WOBBLE 140000.0 // Wobble-Frequenz in Hz
#define SAMPLE_FS 2000000.0 // Abtastrate in Hz
#define AMPLITUDE 10e-9 // Amplitude in Meter (10 nm)
#define R0 25e-3 // mittlerer Spurabstand in Meter (25 mm)
#define BUFFER 1024 // Anzahl Samples
int main(void) {
double signal[BUFFER];
double dt = 1.0 / SAMPLE_FS;
// 1) Erzeugen des Wobble-Signals
for (int n = 0; n < BUFFER; n++) {
double t = n * dt;
// Der Winkel θ = ω·t, ω = TWO_PI * Drehzahl_in_Ups
// Zur Simulation nehmen wir hier θ direkt proportional zu t
double theta = TWO_PI * (t * F_WOBBLE);
signal[n] = R0 + AMPLITUDE * sin(theta);
}
// 2) Einfache Frequenzschätzung per Zero-Crossing
int crossings = 0;
for (int n = 1; n < BUFFER; n++) {
if (signal[n-1] < R0 && signal[n] >= R0) {
crossings++;
}
}
// Jede Periode überquert die Mittellinie zweimal (steigend + fallend)
double estimated_freq = (crossings / 2) * (SAMPLE_FS / (double)BUFFER);
printf("Erwartete Wobble-Freq: %.2f Hz\n", F_WOBBLE);
printf("Geschätzte Wobble-Freq: %.2f Hz\n", estimated_freq);
return 0;
}
Erklärung des Codes
- Signalerzeugung:
- Wir simulieren BUFFER Abtastwerte eines radialen Wobble-Signals mit f<sub>wobble</sub>=140 kHz.
- Zero-Crossing Methode:
- Zählt, wie oft das Signal die Mittellinie R₀ mit positiver Steigung kreuzt.
- Aus Anzahl und Abtastrate berechnen wir eine einfache Frequenzschätzung.
In echten Laufwerken kommen natürlich raffiniertere digitale Filter (FIR, IIR) und Phasendetektoren zum Einsatz, aber dieses Demo-Programm zeigt das Grundprinzip: Sinus-Modulation erzeugen und daraus die Frequenz erkennen.
Kann man das mit einem DVD Brenner kopieren?
Nein, dieses findet bei einer Pressung der DVD oder BlueRay statt und ist nicht mit einem Brenner kopierbar, nur mit dem Originalen Master möglich.



