Lade Inhalt...

Urheberrechtliche Zulässigkeit von Drittanbietersoftware in Online-Spielen

von Matthias Mörike (Autor:in)
©2021 Dissertation 280 Seiten

Zusammenfassung

Der Markt für Computerspiele und insbesondere Online-Spiele wächst ununterbrochen. In den letzten Jahren treten vermehrt Anbieter auf, die keine eigenen Online-Spiele, sondern Zusatzprodukte für die Spiele anderer Hersteller anbieten. Die Hersteller reagieren darauf, indem sie versuchen, dass Urheberrecht als Abwehrmittel gegen solche Drittanbietersoftware in Stellung zu bringen. Der Autor geht der Frage nach, inwieweit Drittanbietersoftware urheberrechtlichen Grenzen unterliegt. Neben den genauen technischen Abläufen, die dabei in den Blick zu nehmen sind, ist die zentrale Herausforderung, die verschiedenen Interessen, die das Urheberecht zum Ausgleich bringen will, auch in einer Welt voller digitaler, multimedialer Produkte angemessen in Ausgleich zu bringen.

Inhaltsverzeichnis

  • Cover
  • Titel
  • Copyright
  • Autorenangaben
  • Über das Buch
  • Zitierfähigkeit des eBooks
  • Vorwort
  • Inhaltsverzeichnis
  • A. Problemstellung
  • I. Zielsetzung
  • II. Gang der Darstellung
  • B. Gegenstand der Untersuchung
  • I. Online-​Spiele
  • 1. Online-​Spiele als Computerspiele
  • 2. Technischer Aufbau
  • a) Grundstrukturen
  • b) Entwicklung und Beteiligte
  • c) Bestandteile eines Online-​Spiels
  • II. Grundlagen der Rechnerarchitektur
  • 1. Hardware, insbesondere Prozessor und Arbeitsspeicher
  • 2. Betriebssystem und Anwendungsprogramme
  • 3. Programmcode und Programmiersprachen
  • 4. Schnittstellen, Interoperabilität und sonstige Interaktionen
  • III. Drittanbietersoftware
  • 1. Begriffsbestimmung
  • 2. Beispiele
  • a) Virtuelle Trainer
  • b) Bedienungserleichterungen (Makros und Hacks)
  • c) Mods und Add-​ons
  • d) Automatische Avatarsteuerung (Bots)
  • e) Nachbau des Online-​Spiels
  • f) Hilfsprogramme bei der Herstellung
  • 3. Techniken bei Einsatz und Herstellung von Drittanbietersoftware
  • a) Allgemeine Techniken des Software Reverse Engineering
  • aa) System Monitoring
  • bb) Debugging
  • cc) Disassemblierung
  • dd) Dekompilierung
  • ee) Portieren und Emulieren
  • b) Spezielle Techniken beim Game Hacking
  • aa) Memory Searching
  • bb) Memory Writing
  • cc) Code Injection
  • dd) Hooking and NoPing
  • 4. Gegenmaßnahmen bei Drittanbietersoftware
  • a) Codeverschlüsselung und -​verschleierung
  • b) Zugriffsberechtigungen
  • c) Kopierschutz
  • d) Digital Rights Management (DRM)
  • e) Anti-​Bot-​Maßnahmen
  • 5. Ökonomische Bedeutung von Drittanbietersoftware
  • a) Verfügbare Marktdaten zu Drittanbietersoftware
  • b) Ökonomische Effekte des Bot-​Einsatzes in Online-​Spielen
  • c) Ökonomische Effekte des Software Reverse Engineering
  • d) Zwischenergebnis
  • IV. Rechtsgrundlagen
  • C. Urheberrechtliche Zulässigkeit
  • I. Rechtfertigungen des Urheberrechts
  • 1. Moralische Rechtfertigung
  • a) Kollektivistische Begründungen
  • b) Individualistische Begründungen
  • c) Zwischenergebnis
  • 2. Grundrechtliche Rechtfertigung
  • a) Verhältnis von europäischen und nationalen Grundrechten
  • aa) Abgrenzung anhand des Umsetzungsspielraums
  • bb) Verwertungsrechte (§§ 15 ff. UrhG; § 69c UrhG)
  • cc) Technische Schutzmaßnahmen (§ 95a UrhG; § 69f Abs. 2 UrhG)
  • dd) Schranken (§§ 44a ff. UrhG; §§ 69d, e UrhG)
  • ee) Zwischenergebnis
  • b) Beteiligte im Urheberrecht
  • c) Urheber
  • aa) Betroffene Grundrechte
  • bb) Eigentum
  • d) Rechteverwerter
  • e) Nutzer
  • aa) Eigentum
  • (1) Sozialpflichtigkeit
  • (2) Nutzungsrecht
  • (a) Ausschließliches Nutzungsrecht
  • (b) Einfaches Nutzungsrecht
  • (3) Neues Eigentum
  • bb) Forschung
  • f) Allgemeinheit
  • g) Zwischenergebnis
  • 3. Ökonomische Rechtfertigung
  • a) Grundlagen
  • b) Kritik an der ökonomischen Analyse
  • c) Praktischer Nutzen der ökonomischen Rechtfertigung
  • d) Ökonomische Rechtfertigung des Urheberrechts
  • aa) Verwertungsrechte
  • bb) Schranken
  • cc) Technische Schutzmaßnahmen
  • dd) Drittanbietersoftware
  • e) Zwischenergebnis
  • 4. Zwischenergebnis
  • II. Geschützte Elemente eines Online-​Spiels
  • 1. Anforderungen an die urheberrechtliche Schutzfähigkeit
  • a) Schutzvoraussetzungen
  • aa) Persönliche geistige Schöpfung
  • bb) Wahrnehmbarkeit
  • cc) Individualität und Schöpfungshöhe
  • dd) Konkrete Ausgestaltung
  • b) Besonderheiten beim Schutz von Computerprogrammen (§§ 69a ff. UrhG)
  • c) Besonderheiten bei digitalen Werken
  • d) Leistungsschutzrechte
  • e) Gesamtwerk und einzelne Elemente
  • 2. Online-​Spiel als Gesamtwerk
  • a) Relevanz der Einordnung in eine Werkkategorie
  • b) Schutzgegenstand
  • c) Ausdruck des Computerprogramms
  • d) Filmwerk, filmähnliches Werk
  • e) Multimediawerk
  • f) Zwischenergebnis
  • 3. Schutz der einzelnen Elemente
  • a) Audiovisuelle Inhalte
  • b) Spielfiguren und Avatare
  • c) Spielsoftware
  • d) Datenbanken
  • aa) Begriffsbestimmung und Schutzgegenstand
  • bb) Verhältnis zu Computerprogrammen
  • cc) Spielinterne Datenbanken
  • dd) Datenbanken über Spielperformance
  • ee) Zwischenergebnis
  • e) Handlung des Spiels
  • f) Spielkonzept
  • g) Spielregeln
  • h) Balancing
  • aa) Begriffsbestimmung und Schutzgegenstand
  • bb) Abgrenzungen zu anderen Werken
  • cc) Einheitliche Formgebung
  • dd) Wahrnehmbarkeit
  • ee) Persönliche geistige Schöpfung
  • ff) Individualität und Schöpfungshöhe
  • gg) Konkrete Ausgestaltung
  • hh) Zwischenergebnis
  • 4. Zwischenergebnis
  • III. Rechte des Urhebers
  • 1. Urheberpersönlichkeitsrechte
  • a) Beeinträchtigung
  • b) Eignung zur Interessengefährdung
  • c) Interessenabwägung
  • d) Entstellung im Falle von Drittanbietersoftware
  • aa) Spielsoftware
  • bb) Gesamtwerk und sonstige einzelne Bestandteile
  • e) Zwischenergebnis
  • 2. Verwertungsrechte
  • a) Vervielfältigung (§ 16 UrhG)
  • aa) Begriffsbestimmung
  • bb) Anzeigen auf dem Bildschirm
  • cc) Arbeitsspeicher
  • dd) Caches
  • ee) Grafikspeicher
  • ff) Zwischenergebnis
  • b) Vervielfältigung (§ 69c Nr. 1 UrhG)
  • aa) Begriffsbestimmung
  • bb) Programmablauf
  • cc) Anzeigen auf dem Bildschirm
  • dd) Arbeitsspeicher
  • ee) Caches
  • ff) Nutzen von Schnittstellen
  • gg) Nachahmung
  • hh) Zwischenergebnis
  • c) Bearbeitung (§ 23 UrhG)
  • aa) Rechtsnatur
  • bb) Begriffsbestimmung
  • cc) Abgrenzungen
  • (1) Entstellung (§ 14 UrhG)
  • (2) Änderung (§ 39 UrhG)
  • (3) Vervielfältigung (§ 16 UrhG)
  • dd) Änderungscharakter
  • ee) Änderungen bei Multimediawerken
  • ff) Zwischenergebnis
  • d) Umarbeitung (§ 69c Nr. 2 UrhG)
  • aa) Begriffsbestimmung
  • bb) Abgrenzungen
  • (1) Bearbeitung (§ 23 UrhG)
  • (2) Vervielfältigung (§ 69c Nr. 1 UrhG)
  • cc) Erforderlichkeit eines Eingriffs in die Programmsubstanz
  • (1) Technische Gegebenheiten
  • (2) „Andere Umarbeitung“
  • (3) Umfassender Schutz vor Beeinflussung
  • (4) Widerspruch zum Schutzgegenstand
  • (5) Gefährdung der Interaktion, Interoperabilität und weiterer Innovationen
  • (6) Schutz der Nutzerinteressen
  • (7) Zwischenergebnis
  • dd) Auswirkungen auf Drittanbietersoftware
  • ee) Zwischenergebnis
  • e) Rechte des Datenbankherstellers (§ 87b UrhG)
  • f) Zwischenergebnis
  • 3. Schranken der Rechte
  • a) Zweck von Schranken
  • b) Grundrechtskonforme Auslegung
  • c) Relevante Schranken
  • aa) Freie Benutzung (§ 24 UrhG)
  • (1) Einordnung als Schranke
  • (2) Europarechtskonforme Auslegung
  • (3) Freie Benutzung
  • (4) Zwischenergebnis
  • bb) Vorübergehende Vervielfältigungshandlungen (§ 44a UrhG)
  • cc) Bestimmungsgemäße Nutzung (§ 69d Abs. 1 UrhG)
  • (1) Bedeutung für Drittanbietersoftware
  • (2) Rechtsnatur
  • (3) Berechtigter
  • (4) Notwendigkeit
  • (5) Bestimmungsgemäße Nutzung
  • (6) Umfasste Handlungen
  • (a) Fehlerberichtigung
  • (b) Sonstige Programmanalysen
  • (c) Entfernung von Programmschutzmechanismen
  • (d) Anpassungen und Erweiterungen
  • (e) Portieren und Emulieren
  • (f) Indirekte Nutzung
  • (7) Abredefester Kern
  • (8) Zwischenergebnis
  • dd) Programmuntersuchungen (§ 69d Abs. 3 UrhG)
  • (1) Bedeutung für Drittanbietersoftware
  • (2) Keine neuen Befugnisse
  • (3) Umfasste Handlungen
  • (4) Zweck der Analyse
  • (5) Zwischenergebnis
  • ee) Dekompilierungen (§ 69e UrhG)
  • (1) Bedeutung für Drittanbietersoftware
  • (2) Umfasste Handlungen
  • (3) Zur Herstellung der Interoperabilität
  • (4) Unabhängig geschaffenes Computerprogramm
  • (5) Unerlässlich und keine anderweitige Zugänglichkeit
  • (6) Notwendige Programmteile
  • (7) Eingeschränkte Informationsverwendung
  • (8) Interessenabwägung
  • (9) Zwischenergebnis
  • ff) Zwischenergebnis
  • d) Anwendbares Schrankenregime bei Multimediawerken
  • aa) Anwendbarkeit der §§ 24, 44a ff. UrhG auf reine Computerprogramme
  • bb) Anwendbarkeit der §§ 69d, e UrhG auf Nicht-​Computerprogramme
  • cc) Anwendbarkeit der §§ 24, 44a ff. UrhG auf Multimediawerke
  • dd) Anwendbarkeit der §§ 69d, e UrhG auf Multimediawerke
  • (1) Keine Anwendbarkeit
  • (2) Würdigung
  • (a) Systematik der InfoSoc-​ und der Software-​Richtlinie
  • (b) Systematik des UrhG
  • (c) Ausreichender Schutz der audiovisuellen Bestandteile
  • (d) Ökonomische Relevanz
  • (e) Bedeutung von multimedialer Software
  • (f) Faktische Disponibilität der Schranken
  • (g) Alternatives Schutzregime
  • (h) Grundrechtliche Relevanz
  • (i) Andere Rechtsordnungen
  • (j) Zwischenergebnis
  • (3) Lösungsvorschlag für Anwendbarkeit
  • e) Zwischenergebnis
  • 4. Schutz technischer Maßnahmen und technische Programmschutzmechanismen
  • a) Relevanz
  • b) Rechtsnatur
  • c) Schutz technischer Programmschutzmechanismen (§ 69f Abs. 2 UrhG)
  • aa) Technische Programmschutzmechanismen
  • bb) Allgemeines Umgehungsverbot
  • cc) Schutzgegenstand
  • dd) Umgehungsmittel
  • ee) Urheberrechtlicher Bezug des Schutzmechanismus
  • ff) Fehlende Erlaubnis
  • (1) Vorrang des Schutzmechanismus
  • (2) Vorrang der Schranken
  • (3) Differenzierung nach Schranke
  • (a) Bestimmungsgemäße Benutzung (§ 69d Abs. 1 UrhG)
  • (b) Sicherungskopie (§ 69d Abs. 2 UrhG)
  • (c) Programmuntersuchungen und Dekompilierungen (§ 69d Abs. 3, § 69e UrhG)
  • (d) Erschöpfung
  • (4) Bewertung und Lösungsvorschlag
  • (5) Schrankennutzung bei Umgehungsmitteln
  • (6) Zwischenergebnis
  • gg) Verhältnismäßigkeit
  • hh) Zwischenergebnis
  • d) Schutz technischer Maßnahmen (§ 95a Abs. 1, 2 UrhG)
  • aa) Technische Maßnahme
  • bb) Schutzgegenstand
  • (1) Urheberrechtlich geschützter Gegenstand
  • (2) Mischschutz
  • cc) Betreffende Handlungen
  • (1) Urheberrechtlich irrelevante Handlungen
  • (2) Handlungen im Rahmen von Schranken
  • (a) Vorrang der technischen Schutzmaßnahmen
  • (b) Erschöpfungsgrundsatz
  • (c) Kein Recht auf Selbsthilfe
  • dd) (Zweck-​) Bestimmung
  • ee) Im normalen Betrieb
  • ff) Wirksamkeit
  • (1) Allgemein
  • (2) Beurteilungszeitpunkt
  • (3) Beurteilungsmaßstab
  • (4) Verfügbarkeit von Hilfsmitteln
  • (5) Zwischenergebnis
  • gg) Umgehungshandlung
  • hh) Keine Zustimmung des Rechtsinhabers
  • ii) Kenntnis oder Kennenmüssen
  • jj) Verhältnismäßigkeit
  • (1) Herleitung
  • (2) Würdigung
  • (a) Maßstab
  • (b) Berechtigte Interessen
  • (c) Bedeutung der §§ 69d, e UrhG und des Erschöpfungsgrundsatzes
  • kk) Vorbereitungshandlungen (§ 95a Abs. 3 UrhG)
  • (1) Schutzgegenstand
  • (2) Umgehungsmittel
  • (3) Verbotene Handlungen
  • (4) Qualifikationstatbestände
  • (5) Erbringung von Dienstleistungen
  • (6) Verhältnismäßigkeit
  • ll) Zwischenergebnis
  • e) Vergleich der Rechtsregime
  • f) Anwendbares Rechtsregime
  • aa) Spezialität des § 69f UrhG
  • bb) Vorrang des § 95a UrhG
  • cc) Schwerpunkt
  • dd) Parallele Anwendung
  • ee) Andere Rechtsordnungen
  • ff) Würdigung
  • g) Zwischenergebnis
  • 5. Zwischenergebnis
  • IV. Nutzungsrechteeinräumung
  • 1. Nutzungsrechteeinräumung
  • 2. Beschränkung der Nutzungsrechte
  • a) Dingliche Beschränkungen
  • aa) Beschränkung auf Nutzung zu privaten Zwecken
  • bb) Beschränkung auf Nutzung ohne Drittanbietersoftware
  • b) Schuldrechtliche Beschränkungen
  • 3. Zwischenergebnis
  • V. Eingriffe in Urheberrechte
  • 1. Allgemeine Techniken des Software Reverse Engineerings
  • 2. Spezielle Techniken beim Game Hacking
  • 3. Einsatz von Drittanbietersoftware
  • a) Virtuelle Trainer
  • b) Bedienungserleichterungen
  • c) Mods und Add-​ons
  • d) Bots
  • e) Nachbau des Online-​Spiels
  • 4. Hilfsmittel als Umgehungsmittel
  • 5. Zwischenergebnis
  • D. Ergebnis
  • Literaturverzeichnis

←22 | 23→

B. Gegenstand der Untersuchung

Drittanbietersoftware kann bei allen Computerspielen eingesetzt werden. Sie tritt allerdings besonders bei Online-​Spielen in Erscheinung, da ihr Einsatz von anderen Spielern oder dem Spielbetreiber bemerkt und ggf. unterbunden wird. Aus diesem Grund sind Online-​Spiele Gegenstand dieser Untersuchung. Diese werden im ersten Schritt genauer definiert (B.I). Für die genaue Beschreibung des Phänomens Drittanbietersoftware als zweiten Schritt müssen zunächst einige Grundlagen des allgemeinen Aufbaus eines Rechners erläutert werden (B.II). Anschließend kann Drittanbietersoftware definiert werden (B.III). Im letzten Abschnitt werden die relevanten Rechtsgrundlagen skizziert (B.IV).

I. Online-​Spiele

Online-​Spiele lassen sich als Computerspiele begreifen (B.I.1). Sie weisen allerdings einen besonderen technischen Aufbau auf (B.I.2), der sich an mehreren Stellen auf die rechtliche Bewertung auswirkt und daher verdeutlich werden muss.

1. Online-​Spiele als Computerspiele

Der Duden definiert ein Computerspiel als ein Spiel, das mithilfe eines Bildschirms, der mit einem Personal Computer verbunden ist und der als Spielfeld dient, gespielt werden kann.18 Demnach ist die Eigenschaft als Spiel und der Einsatz eines Bildschirms und eines PCs entscheidend. Online-​Spiele lassen sich nach dieser Definition als Computerspiele einordnen. Allerdings gehen sie über dieses Begriffsverständnis hinaus, als dass sie nicht zwangsläufig über einen PC gespielt werden müssen, sondern eine Vielzahl von Endgeräten zur Verfügung stehen. Dazu gehören neben PCs vor allem Spielkonsolen wie die Playstation oder Xbox, aber auch Smartphones.19 Insofern gehören Online-​Spiele zu den Videospielen. Bei diesen ist nicht entscheidend, ob sie auf einem PC oder einem anderen Rechner ablaufen. Online-​Spiele im Sinne dieser Untersuchung sind ←23 | 24→ebenso völlig unabhängig vom technischen Endgerät, über das sie gespielt werden, solange dieses auf das Internet zugreifen kann.

Das konkrete Endgerät soll ohnehin immer unwichtiger werden, sodass Online-​Spiele zukünftig sowohl unterwegs auf dem Smartphone als auch zuhause über eine Konsole gespielt werden können.20 Bereits jetzt besteht die Möglichkeit, Spiele hardwareunabhängig vollständig auf Cloud-​Servern ablaufen zu lassen.21 Aus diesem Grund ist eine weniger hardwareorientierte Begriffsbestimmung, wie beispielsweise Videospiele, vorzugswürdig. Alternativ bietet sich der Begriff digitale Spiele an. Anderie definiert digitale Spiele prägnant als Programme, die primär der spielerischen Unterhaltung des Nutzers dienen.22 Diese Definition des Begriffs digitale Spiele liegt auch der vorliegenden Untersuchung zugrunde. Die Begriffe Computerspiel und Videospiel werden allerdings ebenfalls genutzt, da die bisherige rechtliche Diskussion vor allem anhand dieser Spiele geführt wurde. Es führt in dieser Untersuchung zu keinen rechtlich relevanten Unterschieden, ob es sich um ein Computerspiel oder Videospiel bzw. digitales Spiel handelt.

Online-​Spiele stellen eine spezielle Untergruppe der digitalen Spiele dar, da sie internetbasiert sind und das Endgerät daher in der Lage sein muss, über das World Wide Web zu kommunizieren. Dieser Aspekt steht einer Einordnung als Spiel jedoch nicht im Wege. Im Gegenteil wird dadurch das Spielen mit oder gegen andere menschliche Spieler deutlich erleichtert. Bei Online-​Spielen geht es wie bei allen digitalen Spielen um den spielerischen Wettkampf, sei es gegen programmierte Gegner, die bereits im Spiel enthalten sind, oder andere menschliche Mitspieler. In letzterem Fall sind auch soziale Interaktionen von Bedeutung. Das Sammeln von Erfahrungen und Freischalten bestimmter Zusatzfunktionen ist ein weiteres typisches Merkmal für Online-​Spiele. Dadurch wird Spielfortschritt generiert und ein Anreiz gesetzt, das Spiel weiter zu spielen.

Online-​Spiele im Sinne dieser Untersuchung umfassen alle Arten von internetbasierten digitalen Spielen. Rollenspiele sind davon ebenso umfasst wie Strategiespiele, Actionspiele oder Gelegenheitsspiele, die über einen Browser oder ←24 | 25→eine App ablaufen. Da es für die urheberrechtliche Bewertung nicht auf das spezielle Genre ankommt, wird auf eine genauere Definition der einzelnen Genres23 verzichtet. Von Relevanz ist hingegen der technische Aufbau eines Online-​Spiels.

2. Technischer Aufbau

Der spezifische technische Aufbau von Online-​Spielen unterscheidet sie zum einen von anderen digitalen Spielen. Zum anderen wird daran deutlich, dass verschiedene Fähigkeiten und Leistungen erforderlich sind, um ein erfolgreiches Spiel zu erstellen.

a) Grundstrukturen

Auf grundlegender und abstrakter Ebene werden für ein Online-​Spiel Hardwareelemente, darunter irgendeine Art von Bildschirm als Ausgabegerät, ein Eingabegerät sowie Softwareelemente benötigt. Das Endgerät, welches zumindest eine Ein-​ und Ausgabefunktion haben muss, muss darüber hinaus internetfähig sein. Die Internetverbindung ermöglicht in erster Linie die Verbindung mit anderen Spielern. Dies ist eine wesentliche Eigenschaft, die den Reiz von Online-​Spielen ausmacht. Darüber hinaus bringt die Internetverbindung aus Sicht des Herstellers den Vorteil, relativ einfach Updates und Erweiterungen ausliefern zu können. Zudem können dadurch komplexe und detailreiche Spielwelten erschaffen und ohne physischen Versand von Datenträgern an die Kunden ausgeliefert werden.

Charakteristisch für Online-​Spiele ist die Server-​Client-​Struktur. Ein Online-​Spiel ist nicht vollständig auf dem Endgerät des Nutzers installiert. Dort befindet sich nur ein Client, wobei die Frage, welche Inhalte der Client beinhaltet und welche auf dem Server liegen, vom konkreten Online-​Spiel abhängt. Es besteht bei clientbasierter Software generell die Möglichkeit, entweder sogenannte Fat oder sogenannte Thin Clients einzusetzen.24

Aus dieser Server-​Client-​Struktur folgt bereits eine wichtige Stellschraube für Drittanbietersoftware, sofern diese Veränderungen im Spiel herbeiführen will:25 Spielserver sind aufwändiger zu hacken als Clients, da Server geschützt sind und beständig kontrolliert werden, sodass es ein einfacherer und damit effizienterer Weg ist, auf den Client zuzugreifen, der auf dem Endgerät des Nutzers installiert ←25 | 26→ist.26 Ein Client auf einem Endgerät kann im Gegensatz zu einem Server ohne Störung von außen und unter kontrollierten Bedingungen untersucht werden. Der Client auf dem Rechner ist daher der primäre Ansatzpunkt für Drittanbietersoftware. Aus diesem Grund ist erforderlich, sich sogleich näher mit der Struktur eines Rechners, wie er vom Nutzer eingesetzt wird, zu beschäftigen.27 Ausgangspunkt ist dabei ein Personal Computer, da hier am häufigsten Hacks vorkommen. Die Ausführungen lassen sich aber auch auf andere Endgeräte und damit alle digitalen Spiele übertragen, da diese nach ähnlichen Prinzipien funktionieren.

b) Entwicklung und Beteiligte

Klassischerweise wird ein digitales Spiel von einem Entwicklungsstudio (Developer) erstellt und anschließend von einem Publisher vertrieben, der das Spiel ggf. in Auftrag gegeben hat, das Projekt finanziert28 und häufig Mitspracherechte hat.29 Diese klassische Rollenverteilung von Entwickler und Publisher verändert sich aber zunehmend,30 es bestehen auch zahlreiche Mischformen.31

Abhängig von der Komplexität des geplanten Spiels32 benötigt der Entwickler die Kompetenzen von Programmierern, Game Designern und verschiedenen Artists.33 Aufwändige Online-​Spiele werden heutzutage im Hinblick auf die eingesetzte Software nicht vollständig neu entwickelt, vielmehr beinhalten moderne Online-​Spiele neben individuell entwickelten Komponenten verschiedene vorgefertigten Programmteile (z. B. Programmbibliotheken und Game Engines).34

c) Bestandteile eines Online-​Spiels

Computerprogramme reichen nicht aus, damit ein Online-​Spiel ein ansprechendes Spielerlebnis bietet. Es kommen verschiedene Elemente hinzu:35 In erster ←26 | 27→Linie sind dies Grafiken, Sounds und Filmsequenzen. Daneben sind aber auch spannende Handlungsstränge, ein individuelles Charakterdesign, ein ausgefeiltes Levelsystem und ausgeglichene Kräfteverhältnisse zwischen den Gegnern sowie eine möglichst intuitive Bedienbarkeit wichtig. All diese Komponenten werden zwar von der Spielsoftware gesteuert und teilweise umgesetzt. Das Programm könnte allerdings theoretisch ohne diese Elemente ablaufen, sodass sie kein integraler Bestandteil des Programms sind. Der entscheidende Befund an dieser Stelle, der sich auch entscheidend auf die rechtliche Einordnung niederschlägt,36 ist daher, dass ein Online-​Spiel neben einem Computerprogramm aus weiteren kreativen Elementen besteht.37

II. Grundlagen der Rechnerarchitektur

Für das Verständnis von Drittanbietersoftware ist zunächst ein allgemeiner Überblick über Aufbau und Funktion eines Rechners (B.II.1) und der ablaufenden Software (B.II.2) erforderlich. Anschließend werden die erforderlichen Grundlagen der Softwareprogrammierung dargestellt (B.II.3). Ein spezieller Fokus liegt auf dem Bereich der Softwareinteraktion (B.II.4), da dieser für Drittanbietersoftware von großer Bedeutung ist.

Grundlegend kann bei einem Rechner zwischen der physischen Hardware und der nicht-​physischen Software unterschieden werden. Ein etwas genaueres und klassisches Modell ist die Von-​Neumann-​Architektur:38 Demnach besteht ein Rechner aus einem Steuerwerk, einem Rechenwerk (beide zusammen bilden den Prozessor), einem Speicher und einem Ein-​ und Ausgabe-​System sowie einem sogenannten Bussystem zwischen den verschiedenen Komponenten zur Kommunikation.

1. Hardware, insbesondere Prozessor und Arbeitsspeicher

Die Hardware sind alle physisch wahrnehmbaren Komponenten eines Rechners.39 Dazu zählen Prozessor, Arbeitsspeicher sowie Peripheriegeräte.40 Letztere sind alle Ein-​ und Ausgabegeräte wie z. B. Tastaturen, Touchscreens, Scanner, ←27 | 28→Drucker etc. Software hingegen sind alle nicht wahrnehmbaren Komponenten eines Rechners, d. h. Programme und Daten.41

Der Prozessor ist identisch mit der Central Processing Unit (CPU) eines Computers.42 Ein moderner Rechner kann neben der CPU noch andere Prozessoren haben,43 z. B. auf der Grafikkarte.44 Die CPU wiederum besteht aus dem Rechenwerk und dem Steuerwerk.45 Jeder Prozessor hat einen Maschinenbefehlssatz.46 Über die CPU werden die Befehle eines Programms umgesetzt und an die Hardware weitegegeben.47

Der Arbeitsspeicher eines Rechners dient der schnellen Verarbeitung von Daten und Befehlen.48 Alle Programme, die auf einem Rechner gestartet werden, werden vom Prozessor zumindest teilweise von der Festplatte in den Arbeitsspeicher kopiert, da so eine schnellere Verarbeitung durch den Prozessor möglich ist.49 Zudem werden dort alle Daten zwischengespeichert, die ein Programm benötigt oder erzeugt.50 Der Arbeitsspeicher verliert als temporärer Speicher in der Regel seine Inhalte, wenn der Rechner heruntergefahren wird.51 Der Arbeitsspeicher untergliedert sich in verschiedene Segmente.52 Dies ist ein Mittel der virtuellen Speicherverwaltung. Häufig ist der virtuelle Speicherbereich, der einem Programm vom Betriebssystem zugewiesen wird, in folgende Segmente aufgeteilt:53 Code-​ bzw. Text-​, BSS-​, Data-​, Heap-​ und Stacksegment. Das Codesegment enthält den vom Programmierer vorgegebenen Satz an Befehlen, die nur gelesen und nicht geändert werden können.54 Dies ist eine kompilierte Version des Original-​Programmcodes. Im BSS-​ und Data-​Segment sind Programmvariablen abgelegt.55 Diese sind ein wichtiger Teil zu Verbindung ←28 | 29→verschiedener Befehlsfolgen. Der Stack-​Speicher ist relevant für das Aufrufen von Unterfunktionen.56 Im Heap-​Segment werden dynamische Speicherbereiche für Programmabläufe verwaltet und zur Verfügung gestellt.57

2. Betriebssystem und Anwendungsprogramme

Das Betriebssystem ist abstrakt gesprochen die Verbindung zwischen Hardware und Benutzeranwendungen.58 Es verwaltet die Hardwareressourcen59 und stellt die technische Schnittstelle für Anwendungsprogramme bereit.60 Insofern spielt es eine zentrale Rolle bei der Interaktion mit den Anwendungsprogrammen. Die meisten Betriebssysteme stellen zudem eine grafische Benutzeroberfläche für den Nutzer bereit.61 Die bekanntesten Betriebssysteme für PCs sind Microsoft Windows, macOS und Linux, für Smartphones ist Android weit verbreitet.62 Anwendungsprogramme können beispielsweise Textverarbeitungsprogramme, Browser oder auch digitale Spiele sein.

3. Programmcode und Programmiersprachen

Programme können in verschiedenen Programmiersprachen geschrieben sein. Die bekanntesten sind derzeit C, C++ und Java. Manche sind universell einsetzbar, manche sind nur in bestimmten Situationen einsetzbar.63 Programme, die in diesen Sprachen geschrieben sind, sind für den Menschen mit entsprechendem Wissen lesbar. Diese Form von Programmcode wird als Quellcode bezeichnet.64 Programmcode allgemein meint die in einer Programmiersprache festgehaltenen Befehle, unabhängig von der konkreten Programmiersprache.

Ein Prozessor arbeitet diese Programmbefehle ab. Er versteht allerdings nur Maschinensprache, welche aus Nullen und Einsen besteht.65 Das ist der ←29 | 30→sogenannte Objektcode bzw. Maschinencode.66 Damit der Prozessor die Befehle umsetzen kann, müssen die Befehle aus dem Quellcode in Maschinensprache übersetzt werden. Diese Aufgabe übernimmt ein Compiler. Compiler optimieren die Übersetzung, was die Rückübersetzung schwieriger macht.67

Theoretisch kann ein Programm auch in Maschinensprache programmiert werden. Das ist aber außerordentlich aufwändig und daher unpraktikabel. Ein Befehl in einer höheren Programmiersprache ersetzt hingegen zahlreiche Befehle in der Maschinensprache,68 sodass komplexe Anwendungen mit vergleichsweise geringem Aufwand geschrieben werden können. Auf der anderen Seite kann über Maschinensprache unmittelbar das Hardwareverhalten bestimmt werden.69

Maschinensprache wird häufig mit Assemblersprache gleichgesetzt, was allerdings nicht ganz präzise ist. Assemblersprache ist eine maschinenbezogene Programmiersprache, die für den Menschen lesbar ist. Maschinenbefehle werden abgekürzt und in einer lesbaren Form dargestellt.70 Ein Assembler kann ein Programm in Assemblersprache in Maschinenbefehle übersetzen. Assemblersprache hat den Vorteil, präzisere Anweisungen an einen Prozessor geben zu können, hat gleichzeitig aber den Nachteil, plattformabhängig zu sein.71 Beispielsweise verwendet ein 32-​bit-​Prozessor eine andere Assemblersprache als ein 64-​bit-​Prozessor.72 Demgegenüber sind die oben erwähnten Programmiersprachen plattformunabhängig und können mithilfe eines Compilers vom Prozessor umgesetzt werden.

4. Schnittstellen, Interoperabilität und sonstige Interaktionen

Für Drittanbietersoftware sind Schnittstellen von elementarer Bedeutung. Allgemeinen gesprochen findet über Schnittstellen die Kommunikation zwischen verschiedenen Programmen oder Systemen statt.73 Dabei gibt es unterschiedliche Arten von Schnittstellen. Hardwareschnittstellen sind alle physikalischen Anschlüsse für beispielweise externe Speicher oder sonstige Peripheriegeräte.74←30 | 31→Softwareschnittstellen können entweder dem reinen Datenaustausch oder der Bereitstellung von Funktionalitäten dienen.75 Eine spezielle und besonders wichtige Softwareschnittstelle ist das Application Programming Interface (API) des Betriebssystems,76 über welches die Anwendungsprogramme an das Betriebssystem angeschlossen werden können.77 Mitunter wird auch die grafische Benutzeroberfläche als Benutzerschnittstelle bezeichnet.

Die Informationen zur Nutzung einer Schnittstelle können offen verfügbar sein, sodass ein Programmierer in der Lage ist, ein Programm anzubinden oder die Daten zu nutzen. Daneben gibt es auch verdeckte Schnittstellen, die nur nach einer intensiven Programmanalyse genutzt werden können.78

Schnittstellen dienen der Interoperabilität. Damit ist nach Erwägungsgrund 10 der Software-​RL die Fähigkeit zweier unterschiedlicher Systeme gemeint, miteinander zu kommunizieren. Schnittstellen sind der dafür vorgesehene Weg. Interoperabilität und Schnittstellen sind damit unverzichtbar für den Softwarebereich,79 da auf wenigen Betriebssystem Anwendungen von unterschiedlichen Herstellern ablaufen, welche angebunden werden müssen.80 Aber auch bei der Kommunikation von Anwendungsprogrammen untereinander ist Interoperabilität ein wichtiges Thema. Zwei Programme sind beispielsweise interoperabel, wenn sie die gleichen Dateiformate öffnen und bearbeiten können.81 Programme können darüber hinaus noch auf andere, indirekte Arten interagieren. Beispielsweise können über den Arbeitsspeicher Prozesse von Programmen gescannt oder Daten ausgelesen werden. Schließlich kann auch die Benutzerschnittstelle genutzt werden, indem Eingaben des Nutzers von einem Programm simuliert werden. Bei diesen Methoden handelt es sich um indirekte Softwareinteraktionen.

III. Drittanbietersoftware

Drittanbietersoftware kann in sehr unterschiedlichen Formen auftreten. Dementsprechend ist auch die Funktionsweise sehr unterschiedlich. Nach einer ←31 | 32→Begriffsbestimmung (B.III.1) und den wichtigsten Beispielen von Drittanbietersoftware bei digitalen Spielen (B.III.2) werden deshalb die technischen Abläufe genau geschildert (B.III.3). Anschließend werden einige Gegenmaßnahmen vorgestellt (B.III.4) und abschließend die ökonomische Bedeutung von Drittanbietersoftware erläutert (B.III.5).

1. Begriffsbestimmung

Der Begriff Drittanbietersoftware in Online-​Spielen umfasst jedes Programm, das ein Dritter, das heißt nicht der Spielbetreiber, hergestellt hat und das entweder vom Spieler im Spiel eingesetzt wird, um sich einen Vorteil zu verschaffen, oder als Werkzeug bei der Analyse des Spiels zur Vorbereitung oder der Durchführung der Herstellung von Drittanbietersoftware eingesetzt wird. Der Spielebetreiber bzw. -​hersteller hat diese Programme nicht genehmigt.

Es ist der Regelfall, dass der Hersteller von Drittanbietersoftware bei Online-​Spielen gleichzeitig auch Nutzer bzw. Spieler ist, da er das Spiel erwerben und nutzen muss, um es zu analysieren. Insofern wird bei der Frage, ob die Herstellung solcher Software Urheberrechte verletzt, zu berücksichtigen sein, dass der Hersteller der Drittanbietersoftware als Spieler gegebenenfalls Nutzungsrechte erworben hat. Der Einsatz solcher Programme wird ebenfalls unter der Prämisse untersucht, dass der Einsetzende Nutzungsrechte erworben hat.

Davon ausgehend ist festzuhalten, dass zu Drittanbietersoftware zum einen die fertigen Endprodukte (B.III.2) zählen und zum anderen auf Ebene der Herstellung (B.III.3.a)) bestimmte Hilfsmittel eingesetzt werden, die selbst Drittanbietersoftware sind und bestimmte Handlungen vornehmen. Beide Arten werden sogleich näher untersucht.

Drittanbietersoftware bedeutet zudem, dass irgendeine technische Interaktion zwischen dem Spiel und der Drittanbietersoftware erfolgen muss. Diese Interaktion kann sehr unterschiedlich ausfallen. Sie reicht von Beobachtungen des Spiels über Datenabgriffen bis hin zu Programmveränderungen. Die Einzelheiten werden bei der jeweiligen Maßnahme erläutert.82 Verschriftliche Spielanleitungen (Tipps, Strategien, Walk-​Through etc.), wie man sie in unterschiedlicher Detailtreue auf zahlreichen Webseiten findet, sind hingegen nicht erfasst, da auf Softwareebene keine Interaktion stattfindet. Hier hat der Spieler seine Spielerfahrung lediglich festgehalten. Das ist nicht Gegenstand der vorliegenden Untersuchung.

←32 | 33→

Gleiches gilt für sogenannten Let’s play-​Filme. Dabei zeichnet ein Spieler sein Spielerlebnis auf und veröffentlich diese Aufnahme. Dabei stellen sich einige urheberrechtliche Fragen.83 Für die vorliegende Untersuchung ist dieses Phänomen aber nicht relevant, da keine besondere Interaktion mit der Spielsoftware stattfindet, sondern lediglich die Bildschirm-​ und Lautsprecheraushabe am Endgerät aufgezeichnet und später veröffentlicht wird. Dabei handelt es sich um keinen Fall von Drittanbietersoftware im Sinne dieser Untersuchung.

2. Beispiele

Drittanbietersoftware in Online-​Spielen kann sehr unterschiedliche Funktionen erfüllen. Neben Tipps für eine bessere Spielperformance (virtuelle Trainer, siehe a)) kann das Ziel auch eine völlig veränderte Spielumgehung sein (Mods, siehe c)). Auch hinsichtlich der Komplexität reicht die Spannweite von automatisierten Tastenprogrammen (z. B. Makros, siehe b)) bis hin zu vollautomatischen Bot-​Programmen (siehe d)).

a) Virtuelle Trainer

Speziell im professionellen Elektronischen Sport (Esport) sind Programme, die die Leistung des Spielers auswerten und verbessern wollen, keine Seltenheit mehr.84 Diese Programme erheben eine Vielzahl von Daten über das Spielverhalten eines Spielers, sammeln diese in Datenbanken und versuchen durch eine strukturierte Auswertung und Vergleiche mit vorhandenen Daten, individuelle Schwächen aufzuzeigen, bessere Spielstrategien vorzuschlagen und spezifische Trainingsmöglichkeiten anzubieten. Die Interaktion des Analyseprogramms mit der Spielesoftware beschränkt sich auf das Abrufen von Daten, die vom Betreiber zur Verfügung gestellt werden. Allerdings kann es auch erforderlich sein, das Verhalten des Computerspiels genau zu untersuchen und zu verstehen (z. B. im Hinblick auf die Programmphysik), um gezielte Verbesserungsvorschläge erteilen zu können.

b) Bedienungserleichterungen (Makros und Hacks)

Zu den Bedienungserleichterungen zählen alle softwaregestützten Mittel, mit deren Hilfe ein Spieler ein Spiel einfacher bedienen kann, als eine normale ←33 | 34→Ausstattung und Spieleinstellung es erlauben würden. Makros sind Kurzbefehle als Ersatz für mehrere Befehle. Die Software wird dahingehend programmiert, dass bei einem Tastendruck am Eingabegerät nicht eine, sondern eine ganze Folge von Anweisungen übermittelt wird. Es bestehen verschiedene Möglichkeiten, Makros zu implementieren: Erstens kann das Eingabegerät bereits spezielle Tasten integriert haben, auf denen sich Befehle kombinieren lassen. Zweitens kann das Betriebssystem oder ein bestimmtes Anwendungsprogramm die Definition von Makros vorsehen. Drittens kann die Kommunikation zwischen Betriebssystem und Anwendungsprogramm dahingehend abgefangen und manipuliert werden, dass mehrere Befehle übermittelt werden.

Eine weitere Kategorie von Bedienungserleichterungen wird umgangssprachlich als Hacks bezeichnet. Mittels eines Wallhacks in einem Shooter lassen sich Gegner, die hinter Wänden versteckt sind, sichtbar machen. Durch einen Maphack wird die Position der Gegner dauerhaft auf dem Radar dargestellt. Bei Strategiespielen gehört es zur Spielherausforderung, dass die Karte für den Spieler nicht vollständig offen liegt, sondern erkundet werden muss („fog of war“). Wird die Karte mittels eines Maphacks aufgedeckt, ergeben sich daraus Vorteile im Spiel. Alle diese Hacks machen es sich zunutze, dass die Spielsoftware die Position der Gegner kennen muss, um den Spielablauf zu gewährleisten. Die Informationen werden dann vor dem Spieler verborgen, um das Spiel anspruchsvoll zu gestalten. Werden diese Beschränkungen durch Hacks ausgehebelt, gelangt die Information doch zum Spieler und er kann sie zu seinem Vorteil nutzen.

c) Mods und Add-​ons

Unter Mods und Add-​ons sind Erweiterungen oder Veränderungen eines digitalen Spiels zu verstehen. Es kann sich dabei um ganz neue Spielregionen handeln oder um Änderungen der bestehenden Spielwelt, beispielsweise durch das Hinzufügen neuer Personen, Quests oder Gegenstände oder durch grafische Änderungen der bestehenden Welt. Teilweise werden sie vom Spielhersteller selbst entwickelt oder zumindest ermöglicht und gestattet. Diese Fälle sind aufgrund der Zustimmung des Betreibers für die vorliegende Untersuchung nicht von Bedeutung. Hier sollen nur nicht-​autorisierte Mods und Add-​ons betrachtet werden. Auf technischer Ebene müssen dafür, je nach Umfang und Art der Änderung, fremde Daten oder fremder Code eingeschleust werden.

←34 | 35→
d) Automatische Avatarsteuerung (Bots)

Für die meisten größeren Online-​Spielen finden sich inzwischen sogenannte Bots von verschiedenen Anbietern.85 Dabei handelt es sich um Programme von unterschiedlicher Komplexität.86 Simple Bot-​Programme führen lediglich einzelne Befehlskombinationen (z. B. Zielen und Schießen) aus, andere steuern die Spielfigur völlig selbständig.87 Entscheidend ist, dass der Spieler an der Ausführung der Handlung(en) nicht beteiligt ist, sondern das Bot-​Programm diese ausführt. Es handelt sich um (Teil-​) Automatisierung.

Aimbots bzw. Triggerbots werden in Shootern eingesetzt und übernehmen für den Spieler das genaue Zielen oder Schießen. Dabei wird fremder Code in das Spiel eingeschleust. Zunächst muss, vereinfacht gesprochen, irgendein Charakteristikum für Gegner im Spielcode gefunden werden. Sofern die Codezeilen dann vom Spielprogramm aufgerufen werden, um einen Gegner auf dem Bildschirm darzustellen, erkennt der fremde Code diese anhand des definierten Charakteristikums, bewegt das Fadenkreuz dorthin und tätigt ggf. die Eingabe zum Schießen.88

Ein komplexerer Bot war das Programm „Glider“. Mit dessen Hilfe konnte ein Charakter im Online-​Spiel „World of Warcraft“ selbständig gesteuert werden, ohne dass der Spieler am Rechner sein musste.89 Allerdings konnten nur einfache Aufgaben, wie zum Beispiel das Einsammeln von Ressourcen, von „Glider“ übernommen werden. Ähnlich verhielt es sich auch mit dem Bot-​Programm „Stormbuddy“ der deutschen Bossland GmbH. Dieser Bot, ebenfalls für „World of Warcraft“, konnte neben Ressourcen sammeln sogar Kampfhandlungen vornehmen, wodurch der Spieler Erfahrungspunkte erhielt.90

Bots können auf technischer Ebene sehr unterschiedlich funktionieren. Es handelt sich aber immer um Programme, für deren Herstellung das Zielspiel genau analysiert werden muss. Abhängig von den gewünschten Funktionen liest ←35 | 36→das Botprogramm beim Einsatz dann das Spielprogramm aus, verändert den Codeablauf und/​oder schleust eigenen Code ein.91

e) Nachbau des Online-​Spiels

Ein Online-​Spiel kann auch mit der Intention und dem Ergebnis untersucht werden, das Spiel möglichst genau nachzubauen. Die Motivation dafür kann die Umgehung von Zugangsbeschränkung beim Originalspiel, eine unbefriedigende Spielperformance oder schlichtweg das Weiterleben eines eingestellten Spiels sein. Teilweise sollen auch Abonnementsgebühren abgegriffen werden. Technisch gesehen kann der Nachbau einer Spielwelt entweder durch das Kopieren des Originals oder durch eigenständiges Erschaffen einer identischen Spielwelt erreicht werden.

f) Hilfsprogramme bei der Herstellung

Um Drittanbietersoftware wie die genannten Beispiele herzustellen, werden zahlreiche Hilfsprogramme benötigt, vor allem um das digitale Spiel zu analysieren. Dabei handelt es sich um klassische Software Reverse Engineering Tools. Sie werden sogleich näher beschrieben. Da sie selbst ebenfalls mit dem Hauptprogramm interagieren, stellen sie eine eigene Gruppe von relevanter Drittanbietersoftware dar.

3. Techniken bei Einsatz und Herstellung von Drittanbietersoftware

Urheberrechtliche Ansprüche eines Spielbetreibers gegen Drittanbieter können sich auch auf den Vorwurf stützen, der Drittanbieter habe bei der Herstellung seiner Software Rechte des Betreibers verletzt. Diesen Weg ging beispielsweise auch der BGH, als er über mögliche Rechtsverletzungen im Zusammenhang mit der Herstellung von Bots entschied.92 Sofern eine Verletzung feststeht, kann der Betreiber nach § 97 Abs. 1 und 2 UrhG gegen den Drittanbieter vorgehen. Aus diesen Gründen müssen die typischen Handlungen bei der Herstellung und ihr Eingriffspotential untersucht werden. Einige dieser Handlungen sind gängige Methoden der Softwareanalyse und Fehlerbehebung (Software Reverse Engineering), andere sind spezielle Methoden im Falle des Game Hackings.

←36 | 37→
a) Allgemeine Techniken des Software Reverse Engineering

Generell kann Software Reverse Engineering bezüglicher fremder Software aus verschiedenen Gründen durchgeführt werden. Es kann um die Herstellung von Interoperabilität mit eigenen Produkten gehen, um Qualitäts-​ und Sicherheitstests93 von erworbenen Programmen sowie um Know-​How-​Gewinnung für Konkurrenzprodukte.94 Die spezifischen Techniken des Software Reverse Engineering hängen vom zu untersuchenden System ab.95 Bei Open-​Source-​Produkten, also Software, deren Quellcode offen liegt, ist es hingegen überflüssig, diese Techniken anzuwenden,96 da alle Informationen im offenen Quellcode zu finden sind.

aa) System Monitoring

System Monitoring bedeutet, die Kommunikation (Input/​Output) zwischen Programmen und dem Betriebssystem zu beobachten.97 Dies findet während des Programmablaufs und mittels Tools, die die Kommunikation aufzeichnen, statt. Ein spezieller Unterfall ist das Black-​Box-​Testing. Das untersuchte Programm gleicht einer Black Box, weil der Analyst keine Kenntnis von den inneren Abläufen des Programms, insbesondere vom Programmcode, hat.98 Er untersucht das Programm lediglich dadurch, dass er gültige und ungültige Programmeingaben vornimmt und das Ergebnis auswertet.99 Dadurch kann festgestellt werden, ob ein Programm bestimmte Funktionen hat oder nicht und wie schnell diese ausgeführt werden. Häufig ist diese Art der Untersuchung nur der erste Schritt in einem Analyseverfahren.100 Beispielsweise können dadurch interessante Programmteile identifiziert werden und dadurch der Untersuchungsgegenstand präzisiert werden.101 Black-​Box-​Testing ist darüber hinaus beim Entdecken von Sicherheitslücken relevant.102 Für diese Methode ist, wie beim gesamten System Monitoring, lediglich der Ablauf des zu untersuchenden ←37 | 38→Programms erforderlich. Es gibt Tools, die das Black Box Testen automatisieren.103 Diese automatisieren aber lediglich die Programmeingaben und zeichnen die Ergebnisse systematisiert auf. Im Gegensatz dazu hat der Analyst beim White-​Box-​Testing Kenntnis vom Programmcode. Diese Methode findet bei der Softwareerstellung Anwendung, um frühzeitig Fehler zu erkennen. Es ist häufig der Programmierer selbst, der auf diese Weise „sein“ Produkt untersucht.

bb) Debugging

Debugging wird mittels spezieller Programme, sogenannter Debugger vorgenommen. Diese sind essenzielle Werkzeuge bei der Analyse eines fremden Programms.104 Sie dienten ursprünglich vor allem dazu, Fehler in Programmen zu identifizieren. Inzwischen spielen sie als Analysewerkzeug aber auch speziell bei der Herstellung von Drittanbietersoftware in Online-​Spielen eine wichtige Rolle.105 Die genauen Funktionen hängen von der jeweiligen Programmierumgebung und dem konkreten Debugger ab. In der Regel können Debugger den Programmablauf steuern, indem sie Haltepunkte setzen.106 Daneben können Daten inspiziert und Speicher modifiziert werden.107 Häufig verfügen Debugger auch über einen Disassembler.108 Einige sind sogar in der Lage, Assembly Code hinzuzufügen.109 Gängige Beispiele für Debugger sind OllyDbg, WindDbg oder IDA Pro.

cc) Disassemblierung

Hierbei wird der Prozess, den der Assembler vornimmt,110 umgekehrt. Der Objektcode eines Programms wird in Assemblersprache rückübersetzt.111 Assembler sind plattformabhängig.112 Sie stellen ein wichtiges Werkzeug im Software Reverse Engineering dar.113 Durch Disassemblierung wird Maschinensprache ←38 | 39→für einen menschlichen Nutzer lesbar, was die Voraussetzung für weitere Handlungen, insbesondere Codeänderungen, ist.

dd) Dekompilierung

Dekompilieren bedeutet, den Prozess des Kompilierens114 umzukehren. Ein in Maschinensprache vorliegendes Programm wird in eine höhere Programmiersprache rückübersetzt.115 Dabei handelt es sich um ein schwieriges und sehr aufwändiges Verfahren.116 Zahlreiche Zusatzinformationen gehen verloren,117 sodass als Ergebnis streng genommen nur ein dem ursprünglichen Quellcode sehr ähnliches Programm entsteht.118

Details

Seiten
280
Jahr
2021
ISBN (PDF)
9783631850046
ISBN (ePUB)
9783631850053
ISBN (MOBI)
9783631850060
ISBN (Hardcover)
9783631844168
DOI
10.3726/b18171
Sprache
Deutsch
Erscheinungsdatum
2021 (März)
Schlagworte
Urheberrecht Interessenausgleich Schranken Multimediawerke Softwareinteraktion Reverse Engineering
Erschienen
Berlin, Bern, Bruxelles, New York, Oxford, Warszawa, Wien, 2021. 280 S.

Biographische Angaben

Matthias Mörike (Autor:in)

Matthias Mörike studierte Rechtswissenschaften an der Westfälischen Wilhelms-Universität Münster. Danach war er am dortigen Institut für Informations-, Telekommunikations- und Medienrecht als wissenschaftlicher Mitarbeiter und Doktorand tätig.

Zurück

Titel: Urheberrechtliche Zulässigkeit von Drittanbietersoftware in Online-Spielen
book preview page numper 1
book preview page numper 2
book preview page numper 3
book preview page numper 4
book preview page numper 5
book preview page numper 6
book preview page numper 7
book preview page numper 8
book preview page numper 9
book preview page numper 10
book preview page numper 11
book preview page numper 12
book preview page numper 13
book preview page numper 14
book preview page numper 15
book preview page numper 16
book preview page numper 17
book preview page numper 18
book preview page numper 19
book preview page numper 20
book preview page numper 21
book preview page numper 22
book preview page numper 23
book preview page numper 24
book preview page numper 25
book preview page numper 26
book preview page numper 27
book preview page numper 28
book preview page numper 29
book preview page numper 30
book preview page numper 31
book preview page numper 32
book preview page numper 33
book preview page numper 34
book preview page numper 35
book preview page numper 36
book preview page numper 37
book preview page numper 38
book preview page numper 39
book preview page numper 40
282 Seiten