Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

n0_0ne

1x Contest-Sieger

  • »n0_0ne« ist der Autor dieses Themas
  • Private Nachricht senden

11

14.08.2010, 11:49

ahh, bei Offset habe ich an eine Verschiebung der variablem im Speicher gedacht, nicht an eine verschiebung der werte selbst :D

Gut, dann werde ich wohl die exe packen, den highscore mit offsets verstecken und die übertragung verschlüsseln. Ich denke das wird dann wohl für diesen Fall genügen... bzw. das Kosten/Nutzen verhältnis einfach zu gering sein, als dass es die Mühe wert wäre :)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

12

14.08.2010, 13:26

Darf man erfahren was für ein Projekt das sein soll und warum dieser Aufwand notwendig ist? :P
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

13

14.08.2010, 14:50

Ich denke gerade im Freeware/Hobby-Bereich ist es relativ unwahrscheinlich, dass sich jemand (mal von mir abgesehen, ich halte das fast für 'ne Art persönlichen e-Sport) diese Mühe macht und da reicht es vermutlich beim Senden eine simple Verschlüsselung zu benutzen, damit der einfachste Weg des online-Highscore-Cheatens (nämlich Fake-Pakete an den Server) erschwert wird.

Das dachte ich eben zuerst auch, dass das für einen kleinen Tetrisklon reicht, aber schau ja zu, dass das keine Informatiker in die Hände bekommen. ;)
Hab den eben eigentlich zur für ne Übung für die Uni geschrieben und dann im Forum der Uni raufgeladen. Ging natürlich nicht sehr lange, bis es die ersten gecrackt haben, da ich am Anfang überhaupt keinen Schutz hatte.
Offsets und Verschlüsselung habe ich dann mit eingebaut, aber gepackt habe ich die exe nicht, weil ich den Code ja sowieso mitgeliefert habe (auch wenn ich den Teil mit dem Offset und der Verschlüsselung da raus gelassen habe).

n0_0ne

1x Contest-Sieger

  • »n0_0ne« ist der Autor dieses Themas
  • Private Nachricht senden

14

14.08.2010, 15:11

Ich habe vor ein recht altes Spiel, das ich früher viel gespielt habe einmal nachzuprogrammieren. Handelt sich dabei um "Swing" (http://en.wikipedia.org/wiki/Swing_%28video_game%29) von Software 2000 (gibts nicht mehr). Ist ein Spiel mit Kugeln verschiedener Farbe (und Boni) bei dem es darum geht eben möglichst viele Punkte zu sammeln. Hört sich jetzt einfacher an, als es ist, aber es gibt einige Spielmechanismen, die das Spielprinzip recht komplex machen.

Es existiert bereits ein Java-Remake, das auch immer noch weiterentwickelt ist, aber selbst nach knapp 3 Jahren gibt es da noch so gut wie keine Boni und andere wichtige Spielmechaniken wurden da immer noch nicht implementiert. Habe dann eben vor das Ganze auch übers Internet laufen zu lassen, sodass man dann mit (neuer Koop modus) oder gegen Freunde spielen kann.

Alles in allem streift es einige Bereiche, was die Programmierung angeht und da ich seit gut 1,5 Jahren kein C++ mehr geschrieben habe, und auch ansonsten kaum programmiert habe (jaja, lustiges Informatikstudium xD) wollte ich das Projekt nutzen mal wieder ein bisschen "reinzukommen".

Und in einer idealen Welt wären meine Sicherheitsvorkehrungen natürlich nicht nötig, aber da es natürlich immer Leute gibt (wie z.B. dich ^^) deren Hobby es ist, sowas zu knacken und sich selbst auf Platz 1 zu setzen, muss ich mir da was überlegen. Das Spiel macht eben am meisten Spaß, wenn man versucht den Highscore von anderen zu knacken. Und wenn sich dann natürlich ständig ein cheater auf platz 1 setzen kann, wann immer er will, wäre das ein ziemlicher Spielspaßkiller.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

15

14.08.2010, 16:14

Ich setz mich höchstens einmal in die Highscore. Ist das geschafft, dann is die Lust raus. Ich muss nicht immer überall ganz oben stehen ;) Aber da helfen meist auch schon sehr einfache Mechanismen, mit Asm & Co fang ich bei sowas gar nicht erst an, das mach ich nur bei anderen Sachen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

16

14.08.2010, 16:19

Zitat von »"BlueCobold"«

Ich muss nicht immer überall ganz oben stehen ;)

Es soll Leute geben, die da Ehrgeiziger sind ;)

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

17

15.08.2010, 12:51

Schon mal als kleine Ankündigung (auch wenn es nicht zum Thema beiträgt): In der nächsten Version von meinem Spiel Breakanoid 2 gibts einen Cheatschutz, da 2 Spezialisten (evtl. hier aus dem Forum) es lustig finden sich auch immer ganz oben in die Highscore zu setzen.

Daraus habe ich auch gelernt, dass so ein Schutz auf jeden Fall auch für kleine Projekte notwendig ist, da man nicht sehr viel Vertrauen in die Menschen haben kann, was das betrifft.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

18

15.08.2010, 14:32

Daraus habe ich auch gelernt, dass so ein Schutz auf jeden Fall auch für kleine Projekte notwendig ist, da man nicht sehr viel Vertrauen in die Menschen haben kann, was das betrifft.

Genau diese Erfahrung habe ich auch gemacht. ;)

fkrauthan

Supermoderator

Beiträge: 979

Wohnort: Vancouver

Beruf: Software engineer

  • Private Nachricht senden

19

18.08.2010, 22:53

Naja man kann auch eine warscheinlichkeitsrechnung nutzen um krasse cheater zu finden. Einfach sich Gedanken machen was ist die Maximale Punktzahl nach wie langer Spielzeit die man erreichen kann. Außerdem beim übertragen einfach mit Prüfsummencheck usw einbauen. Das speichern der Punkte in mehreren Variablen verhindet dann noch simples memory hacking. Das sind natürlich nur rudimentäre schutzsysteme aber für ein kleines Hobby Moorhuhn oder was auch immer vollkommen ausreichend. Wenn man was knacken will kriegt man es immer hin auch bei Server Client berechnung.
Homepage: fkrauthan.de | Browser-game: flowergame.net

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

20

18.08.2010, 23:55

Ich habs den Cheatern ehrlich gesagt auch sehr einfach gemacht, nämlich habe ich eine Funktion eingebaut, mit der man Level überspringen kann (zum Testen). Wenn man diese Funktion nun nutzt bekommt man trotzdem Punkte. Das Problem wird aber in der nächsten Version behoben sein.

(Und wenn das jetzt jemand als Aufforderung zum Cheaten sieht, denjenigen lösche ich eh wieder aus der Liste...)

Werbeanzeige