Input/Output Deserialisierung (Manipulation der Objekte möglich?)

El_Rabbit

Mitglied
Hi,

ich beschäftige mich momentan mit den verschiedenen Bausteinen, die nötig sind um ein kleines Spiel in Java zu programmieren.

Angenommen wir haben ein Objekt "Spielfigur" mit z.B. der Eigenschaft "Erfahrung".
Dieses Objekt wird serialisiert wenn das Spiel beendet wird und wieder deserialisiert wenn das Spiel gestartet wird.

Das habe ich schon ausprobiert und funktioniert super.
Jetzt wird dabei ja aber eine Datei "spielfigur.ser" im Filesystem erzeugt. Frage: Lässt sich hier der Erfahrungswert manipulieren - ist also so ein Cheaten möglich?

Ich hab die Datei mal in einem Texteditor geöffnet und man sieht teilweise die Strings, sensible Informationen wie Passwörter unverschlüsselt zu speichern scheint also schonmal keine gute Idee zu sein.

Mir geht es aber hier weniger um die Sichtbarkeit von Informationen, der Spieler kann sich seine Erfahrung in der Datei meinetwegen gerne anschauen. Aber kann er sie auch manipulieren?
Habe das gerade versucht aber mein Texteditor sagt mir, die Datei enthält jetzt ungültige Zeichen und geht beim Speichern vermutlich kaputt. Java kann dieses Objekt dann auch nicht mehr laden und wirft mir eine Exception.

Gibt es irgendeine Möglichkeit, dass das doch funktioniert? Habe ich es nur falsch gemacht?
Wie muss ich vorgehen, damit eine Manipulation nicht möglich ist aber der Spielfortschritt auch nicht verloren geht?

Danke für die Hilfe und Gruß
 

Final_Striker

Top Contributor
Frage: Lässt sich hier der Erfahrungswert manipulieren - ist also so ein Cheaten möglich?
Ja.

Mir geht es aber hier weniger um die Sichtbarkeit von Informationen, der Spieler kann sich seine Erfahrung in der Datei meinetwegen gerne anschauen. Aber kann er sie auch manipulieren?
Ja, sicher. Ist doch einfach nur eine Textdatei.

Habe das gerade versucht aber mein Texteditor sagt mir, die Datei enthält jetzt ungültige Zeichen und geht beim Speichern vermutlich kaputt. Java kann dieses Objekt dann auch nicht mehr laden und wirft mir eine Exception.
Würde mal darauf tippen, dass du die Datei in einer anderen Kodierung geöffnet/gespeichert hast.

Gibt es irgendeine Möglichkeit, dass das doch funktioniert? Habe ich es nur falsch gemacht?
Wie muss ich vorgehen, damit eine Manipulation nicht möglich ist aber der Spielfortschritt auch nicht verloren geht?
100% sicher bekommst du es nicht hin, aber du könntest die Daten z.B. verschlüsseln oder irgendwo auf einem Server ablegen.
 
E

El.Rabbit

Gast
Danke für die Antwort.

Alles klar.

Ich dachte da steckt noch ein bisschen mehr dahinter als eine normale Textdatei. Das mit dem Zeichensatz kann sehr gut sein, die beiden die 'gedit' mir vorgeschlagen hat habe ich ausprobiert und beide gingen nicht, aber vermutlich liegt es genau daran.

Dann versuch ich mal rauszufinden, wie ich Objekte verschlüsselt serialisieren kann.

Ich hätte noch die Idee den MD5 Hash beim einlesen des Objekts zu vergleichen, aber den Original MD5 Hash müsste ich ja auch irgendwo ablegen, wo er nicht manipuliert werden kann.

100%ige Sicherheit brauche ich nicht, es ist nur ein "Spaß Projekt" um Java ein bisschen zu lernen.
Falls das Spiel aber wenn's fertig ist doch von zwei oder drei Freunden ausprobiert wird wäre es schön, wenn man nicht durch das simple Editieren einer Textdatei sämtliche Spielmechanismen umgehen könnte. Insbesondere weil ich später eine Online Highscore realisieren möchte.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Deserialisierung scheint nicht zu stattzufinden Java Basics - Anfänger-Themen 13
O Erkennt Objekt nach dem Deserialisierung nicht Java Basics - Anfänger-Themen 5
R Objekt deserialisierung schlägt fehl... Java Basics - Anfänger-Themen 2
F Deserialisierung von Objekten Java Basics - Anfänger-Themen 4
G Object deserialisierung in ein Object Array Java Basics - Anfänger-Themen 5
V JSON-Objs aus JSON-Obj filtern und löschen (Manipulation ohne Kenntnis der vollst. Struktur) Java Basics - Anfänger-Themen 12
D Erste Schritte Operatoren zur Manipulation von Bits "~" Java Basics - Anfänger-Themen 5
D HTML Manipulation Navigation Java Basics - Anfänger-Themen 1
T Manipulation der Initialisierungsvariable einer Zählschleife Java Basics - Anfänger-Themen 5
W Datei vor Manipulation schützen Java Basics - Anfänger-Themen 5
B String manipulation Java Basics - Anfänger-Themen 4
B Array Manipulation Problem Java Basics - Anfänger-Themen 11
G Map manipulation Java Basics - Anfänger-Themen 6
I Zapier -> wie werden Objekte gespeichert? Java Basics - Anfänger-Themen 10
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
K Hab ich dass so richtig erklärt (Objekte und Referenzen)? Java Basics - Anfänger-Themen 5
J Objekte in JSON speichern?? Java Basics - Anfänger-Themen 1
I Objekte in ShareProject speichern um später zu nutzen Java Basics - Anfänger-Themen 4
J Objekte Java Basics - Anfänger-Themen 22
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
Hzrfa Objekte, Referenz Java Basics - Anfänger-Themen 5
T 3D Objekte verarbeiten Java Basics - Anfänger-Themen 2
N Welche Objekte kann man zu einem Set hinzufügen Java Basics - Anfänger-Themen 4
I XML einlesen und Objekte bekommen Java Basics - Anfänger-Themen 2
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
Encera Zugriff auf Map-Objekte Java Basics - Anfänger-Themen 3
E Objekte löschen Java Basics - Anfänger-Themen 9
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
B Objekte verschwinden beim Übersetzen Java Basics - Anfänger-Themen 5
D Zwei verschiedene Intellij Projekte, wie benutze ich wechselseitig objekte Java Basics - Anfänger-Themen 8
E Rekursiv Objekte erzeugen - geht das? Java Basics - Anfänger-Themen 2
T Collections Sind Subklassen-Objekte in Listen mit Generics erlaubt? Java Basics - Anfänger-Themen 16
F Aus eingelesener Datei korrekt Objekte erzeugen Java Basics - Anfänger-Themen 5
G Übergeordnete Objekte abrufen Java Basics - Anfänger-Themen 9
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
B Objekte, bspw. konkret Arraylists,manuell aus Speicher löschen? Java Basics - Anfänger-Themen 70
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
D Wie Objekte im JFrame frei bewegen lassen? Java Basics - Anfänger-Themen 3
Spandeli8 Erzeugte Objekte gegenüber Bildern hervorheben in Java Processing Java Basics - Anfänger-Themen 1
J Zwei Objekte vergleichen Java Basics - Anfänger-Themen 8
L Werte von Objekte addieren Java Basics - Anfänger-Themen 14
U Objekte in LinkedList löschen und editieren Java Basics - Anfänger-Themen 14
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
G Methoden Informationen aus zwei Objekte bekommen? Java Basics - Anfänger-Themen 6
P Globale Objekte Java Basics - Anfänger-Themen 2
C Nachträglich neue grafische Objekte hinzufügen Java Basics - Anfänger-Themen 7
D Interaktion zweier Objekte Java Basics - Anfänger-Themen 5
M Objekte in Array speichern und ausgeben Java Basics - Anfänger-Themen 17
S Objekte indiziert erstellen Java Basics - Anfänger-Themen 27
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
N Typebound Objekte einer Arraylist hinzufügen Java Basics - Anfänger-Themen 7
A (Objekte Java Basics - Anfänger-Themen 6
Y Klassen Klassen und Objekte Java Basics - Anfänger-Themen 3
Y Klassen Klassen und Objekte mit set und get Java Basics - Anfänger-Themen 0
U Objekte in einer LinkedList sortieren Java Basics - Anfänger-Themen 5
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
G Java Objekte auf Duplikate testen Java Basics - Anfänger-Themen 4
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
M Implementieren einer Datenstruktur, welche nur 5 Objekte speichert Java Basics - Anfänger-Themen 3
M Objekte miteinander vergleichen Java Basics - Anfänger-Themen 18
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
J Java GUI- Objekte Position per Quelltext bestimmen Java Basics - Anfänger-Themen 4
G Objekte in Methoden? Java Basics - Anfänger-Themen 13
H Auf Objekte bzw Variabeln aus einer anderen Methode zugreifen Java Basics - Anfänger-Themen 7
S Frage Klasse und Objekte Java Basics - Anfänger-Themen 2
K Boolean in einer Methode um 2 Objekte zu vergleichen Java Basics - Anfänger-Themen 12
I Objekte Hilfe Java Basics - Anfänger-Themen 8
G Klassen und Objekte Java Basics - Anfänger-Themen 2
W Verschachtelte Objekte wieder auspacken Java Basics - Anfänger-Themen 3
R Attribute mehrerer Objekte ausgeben Java Basics - Anfänger-Themen 3
C Objekte und Konstruktoren Java Basics - Anfänger-Themen 2
F Erstellen zweier Objekte mit dem selben Inhalt Java Basics - Anfänger-Themen 1
O ObjectOutputStream Anzahl Objekte festhalten Java Basics - Anfänger-Themen 17
R Objekte aus Array als String + kommasepariert speichern Java Basics - Anfänger-Themen 12
X Objekte einer ArrayList richtig ausgeben? Java Basics - Anfänger-Themen 8
J Best Practice Dateiinhalte validieren und auf Objekte mappen Java Basics - Anfänger-Themen 3
B Automatisch Objekte erzeugen mit verschiedenen Namen Java Basics - Anfänger-Themen 4
der_Schokomuffin Hilfe gesucht beim Thema Objekte übergeben! Java Basics - Anfänger-Themen 2
S Konstruktor, Objekte Java Basics - Anfänger-Themen 4
PaperHat Objekte in Array vergleichen Java Basics - Anfänger-Themen 9
B HTML Code / Seite auslesen und JAVA Objekte erstellen Java Basics - Anfänger-Themen 12
PaperHat Programmieraufgabe - Objekte in Objekten Java Basics - Anfänger-Themen 2
E Methode mit Parametern um Objekte zu übergeben Java Basics - Anfänger-Themen 4
V Collections Objekte einer ArrayList in der main() ausgeben Java Basics - Anfänger-Themen 9
T Klassen Klassenübergreifende Objekte erstellen lassen Java Basics - Anfänger-Themen 5
A Objekte verknüpfen Java Basics - Anfänger-Themen 2
M Objekte mit einer Schleife mehrmals erzeugen Java Basics - Anfänger-Themen 17
B Klassen Alle Unter-Objekte durchlaufen in der Hauptklasse Java Basics - Anfänger-Themen 10
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
S Zählen der Zeiger auf Objekte Java Basics - Anfänger-Themen 35
J Methoden Equals Methode für Integer und Objekte überschreiben? Java Basics - Anfänger-Themen 9
B Erste Schritte Objekte von JFrame der Fenstergröße anpassen Java Basics - Anfänger-Themen 3
M Klassen und Objekte Java Basics - Anfänger-Themen 2
J Objekte und Abstrakte Klassen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben