Ergebnis 1 bis 8 von 8

Thema: Wie leicht ist es zu schummeln?

  1. #1

    Wie leicht ist es zu schummeln?

    Guten Abend.

    Heute plagt mich eine kleine Frage welche ich aus reiner Neugierde hier stellen werde.
    Es geht um folgenden Sachverhalt:

    Wenn der RPG-Maker XP einen Speicherstand anlegt, dann werden in dieses .rxdata file verschiedene Klassen nacheinander geschrieben.
    Game_System, Switches, Variables, Actors, Party, und dergleichen.

    Beim versuch ein Spiel zu laden werden diese Klassen aus dem Speicherstand in eben dieser Reihenfolge wieder geladen und in den entsprechenden Variablen gespeichert.

    Dadurch, dass man in der Lage ist genau zu sehen in welcher Form und Reihenfolge ein Speicherstand in einem normalen RPG-Maker XP Spiel angelegt wird kann man sehr leicht ein Script schreiben mit welchem man diese Speicherstände laden und verändern kann.

    Nehmen wir an diese Reihenfolge in welcher die Daten gespeichert werden würden verändert werden.
    In diesem Fall könnten die zum Verändern der Daten geschriebene Scripte, welche für unveränderte RPG-Maker XP Spiele konzipiert sind, ihre Funktion nichtmehr erfüllen.

    Nun zu meiner Frage:
    Wie leicht, beziehungsweise Schwer, ist es heraus zu finden wie die Speicherstände angelegt sind und ein dafür zugeschneidertes Programm zu schreiben um sie zu verändern?
    Und um die Schwierigkeit zu erhöhen, es werden nicht die standard Klassen des RPG-Makers verwendet sondern ausschließlich selbstgeschriebene, wie einfach ist soetwas zudurchschauen?


    Mir fällt gerade auf, die Frage kann wohl recht komisch klingen und mein anliegen vielleicht in das falsche Licht rücken. Der Grund warum ich dies Frage ist folgender:

    Ich arbeite seit einer gewissen Zeit schon an einem kleinen eigenen Projekt. Ich sehe mich in der Lage es vielleicht bald veröffentlichen zu wollen. Ich würde den Code selbst gerne öffentlich zugänglich machen damit jeder wer die Scripte verwenden möchte dies tuen kann oder diejenigen welche mir helfen wollen ein Script zu verbessern es leichter haben.

    Allerdings bietet mein Projekt den Spielern die Möglichkeit ihre Fortschritte und Erfolge miteinander zu vergleichen. Es soll anspornen sich gegenseitig zu übertrumpfen.

    Falls ich den gesamten Code veröffentlichen würde wäre es kein Problem für jedermann einen Speicherstand zu manipulieren um sich damit eine hohe Wertung zu erschummeln.
    Jedöch bin ich mir sicher, dass es auch möglich ist dies zu tuen wenn ich den Code nicht veröffentliche. Einen Profi würde soetwas nicht aufhalten.

    Daher frage ich mich ob es überhaupt Sinn macht sich dagegen wehren zu wollen. Und ganz nebenbei bin ich einfach neugierig darauf die Antwort zu hören.

    Ich danke für jede Antwort.
    Cornix.

  2. #2
    den speicherstand direkt zu verändern ist schwer (zumindest wüsste ich nicht wie das ginge)
    aber es gibt ja die möglichkeit es direkt im maker zu machen , also das spiel direkt zu verändern.
    aber das machen nur die wenigsten denk ich. bzw im Testspielmodus kann man vorhandene variablen verändern.

    deshalb verschlüssen viele ihre projekte. bringt imo aber nicht viel.

    ein verschlüsseltes projekt muss erst geknackt werden um es verändern zu können. um zu wissen wie das geht muss man nicht mal ein profi sein.

    von daher ist es eigentlich egal ob man es verschlüsselt oder nicht, es würde das knacken nur erschweren.

    man kann aber noch einen stolperstein hinlegen, indem man die Namen die man für variablen und switches vergeben hat einfach löscht. es sei denn du willst den code zugänglich machen.
    somit müsste man den ganzen code durchforsten um es ändern zu können. aber es macht es nicht unmöglich.


    aber einen nachteil hat es auch für den spieler: es kann zu bugs kommen die das spielen unmöglich machen und sich somit den spaß verdirbt.
    wie bei jedem andern spiel auch

  3. #3
    Grundsätzlich ist schummeln immer möglich, ein Profi kann sich mit etwas Zeit auch die nötigen Informationen besorgen, die er braucht, um sich in deine selbstdefinierten Klassen reinzufinden. Vor allem, wenn die Skripte selbst auch öffentlich zugänglich sind, aber auch selbst wenn nicht. Allerdings stellt sich eher die Frage, warum jemand sowas tun sollte, denn Makerspiele sind ja sowieso frei (oder willst dus vermarkten? xD) und dienen lediglich dem Vergnügen des Spielens und solche Hacker werden sowieso früher oder später enttarnt.

  4. #4
    Einen Speicherstand eines normalen RPG-Maker XP spiels durch ein selbst kreiertes Script zu schleusen um somit jegliche Werte nach belieben setzen zu können ist nichts schweres. Das sollte jeder Anfänger mit wenig Übung schaffen. Dafür muss das Projekt nichteinmal entschlüsselt werden. Die Speicherstände werden nicht verschlüsselt, diese sind ganz einfach zu öffnen.

    Es ging mir eigentlich wie bereits gesagt eher um die eigene Neugierde. Den theoretischen Hintergrund wie soetwas anzustellen ist. Ich interessiere mich einfach dafür.

  5. #5
    Zitat Zitat von Cornix Beitrag anzeigen
    Wie leicht, beziehungsweise Schwer, ist es heraus zu finden wie die Speicherstände angelegt sind und ein dafür zugeschneidertes Programm zu schreiben um sie zu verändern?
    Und um die Schwierigkeit zu erhöhen, es werden nicht die standard Klassen des RPG-Makers verwendet sondern ausschließlich selbstgeschriebene, wie einfach ist soetwas zudurchschauen?
    Eine Sache von wenigen Minuten.
    Zum einen sind die Daten relativ einfach gespeichert. Objekte werden für gewöhnlich in der Form <Klassenname @variable1=wert1 @variable2=wert2 ...> gespeichert (natürlich in einer etwas kompakteren binärschreibweise). Du musst im Hexeditor, um z.B. die aktuelle HP deines Helden zu ändern, lediglich nach dem String "@hp" suchen und den dahinterstehenden Wert entsprechend verändern.
    Dazu kommt, dass Ruby opensource ist. Es reicht dir die C-Implementierung der Marshal-Funktionen, die für das Abspeichern verantwortlich sind, anzuschauen. Die sind im Internet frei einsehbar.

    Wenn du so etwas erschweren willst, würde ich erstmal den Spielstand verschlüsseln und ihn danach noch mit einem Hash-Schlüssel versehen. Solange der Programmcode einsehbar ist, dürfte ein Informatiker aber trotzdem in der Lage sein, den Spielstand beliebig abzuändern.

  6. #6
    Wirklich so einfach? Das hätte ich mir zumindest ein klein wenig schwieriger vorgestellt. Nein, ich werde dann wohl den gesammten Code mit Spielspeichern- und Spielladen-Funktion veröffentlichen. Es hat ja so wie es scheint sowieso keinerlei Sinn so viel Arbeit in das Verschlüsseln zu stecken.

    Vielen Dank.

  7. #7
    Pack es alles in eine große .exe, das erschwert sehr vielen das ganze ( cryptest du das ganze werden ein paar AntiViruse anspringen, würde dein spiel jedoch vom entpacken bewahren )
    Den Code kannst du ja extra dazu packen lassen, halt ohne Speichern/Laden.
    Wirklich sicher ist das spiel eigendlich nie, mit CheatEngine oder anderen kann man die werte auch nach eigenen belieben im RAM verändern, hiergegen würde ein Hackshield abhilfe schaffen was jedoch ein wenig zu viel des guten wäre für ein einfaches RPG Maker spiel ^^
    Manipuliert man die Daten wie HP usw. verdirbt man sich sowieso nur den spielspaß, ich glaub nicht das dass so viele wollen.

    mfg. <3

    Geändert von Genocide (24.10.2010 um 22:02 Uhr)

  8. #8
    Ich werde wohl auch nicht weiter gegen solcherlei Angriffe vorgehen. Ich denke es macht wohl einfach keinen Sinn in soetwas viel Arbeit zu stecken, zumal, wer interessiert sich schon für mein kleines Projekt? Es wäre schon ein Wunder wenn sich mehr als drei oder vier Personen finden lassen würden denen es gefallen wird.
    Außerdem können Anfänger vielleicht gut daran lernen sich den Code meines Projektes an zu schauen, ich denke ich wäre glücklich gewesen wenn ich zu manch einem Zeitpunkt ein bereits fertiges und funktionierendes Script als Beispiel gehabt hätte an dem ich mich orientieren kann.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •