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

1

10.07.2006, 11:34

Cheats/Trainer

Hallo,

ich hätte da mal ein paar fragen bzgl. oben genannter programme

cheats/trainer (ich beziehe mich damit nicht direkt auf die onlinecheats) tauchen oft keine zwei tage nach erscheinen des spiel´s im www auf.
wie funktioniert das prinzip dahinter? wie greift das programm ins spiel ein? (ich möcht nicht den genauen code dahinter wissen, sondern nur das prinzip wie ein cheat grob vom aufbau her funktioniert)

was sind das eigentlich für programmierer, die es in der kurzen zeit schaffen ein spiel zu cracken und/oder ein cheat dafür zu programmieren oder ist das tatsächlich einfacher als man annimmt?

2

10.07.2006, 11:38

Beim cracken wird meist versucht die exe du disassemblieren und dann die stelle versucht zu finden, an der das Programm meckern würde... ist ja im Normalfall ne if... die man auch vertauschen kann ;)

Cheats kann man nciht "programmieren" ... das sind Schlüsselwörter die von den Programmierern eingebaut wurden, um so schneller ein Ziel im Spiel zu erreichen um etwas testen zu können ;) Oder so ähnlich :D

Ein Trainer hat verschiedene möglichkeiten ... rel. beliebt ist hier auch die Daten im Speicher zu "bearbeiten"...
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Thunder Storm

Treue Seele

Beiträge: 297

Wohnort: fragt einfach per pm nix da ;)

Beruf: Ausbildung (Technischer Assistent für Software Technologie)

  • Private Nachricht senden

3

10.07.2006, 11:44

also trainer werden im grunde entwickelt in dem sie auf eine bestimmte position im ram zugreifen und diese verändern. vorher werden die jeweiligen stellen gesucht.

cheats ansich werden meist von den entwicklern selbst rausgerückt. manche verkaufen sie sogar. ansonsten kann ich mir aber nicht vorstellen das einer sich hinsetzt und zig verschiedene sachen testet bis er nen cheat hat oder das programm selbst decompiliert. würde einfach zu lange dauern.

zu cracks

hm ich denke da wird unter anderm decompiliert. bei manchen wirkt vieleicht auch der erfahrungswert in sachen hex code mit ein. ich würd zwecks hex code einfach die demo und die vollversion (exe) mit einander vergleichen.

selbst hab ich sowas noch nicht gemacht ausser einmal zufällig bei nem alten dos tool. da war nur eine datei zu löschen und die sache war erleditg. kann man aber nicht wirklich cracken nennen.
Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, daß Sie sie äußern dürfen.

Voltaire

4

10.07.2006, 12:39

im Hexcode stehen die if abfragen auch ;) kann man da aber nicht so eindeutig identifizieren...
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

5

10.07.2006, 13:09

"disassemblieren" .. "bestimmte position im speicher" .. lasst mich raten, mit einfachen c++ kentnissen wird man den qauderwelsch im speicher wohl kaum identifizieren können oder? :D

Lemming

Alter Hase

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

6

10.07.2006, 15:59

hab mir mal nen tutorial durchgelesen wie man seine programme für cracker besonders schwierig gestaltet.
Also, vorsicht Halbwissen ;)

und zwar ist ein sehr wichtiger punkt, dass jeder string, der als constante irgendwo im source drin steht in aller regel in das daten segment reinkommt. ein cracker muss hierbei also lediglich die exe im hex editor ansehen und findet schon alles was er braucht. sowohl den key, als auch cheats etc.
man sollte also sensible strings nicht einfach so in den code reinhauhen, sondern quer durch das proggie verteilen. natürlich macht es das nur mühsamer die daten zu finden, aber es ist schonmal ein anfang.

außerdem geht der cracker normalerweise bei und disassembliert die anwendung und lässt sie dann mit nem debugger laufen. dabei sieht er sich die speicherbereiche an, auf die zugegriffen wird. besonders während zB dem einlesen des cd key. irgendwo müssen zum vergleich die entsprechenden daten ja auch mal im ram landen und abgefragt werden, da kann der cracker die daten dann einfach ablesen.
um das zu verhindern kann man solche key tests und ähnliches in verzwickte berechnungen zerlegen und die am besten mit assembler quer über das gesamte programm verteilen....

sind zwar alles nur erschwerungsmethoden, aber mehr is idr sowieso nicht machbar...

Falls hier drinnen irgendwo tierischer Schwachsinn steht bitte ich darum mich drauf hinzuweisen... hab mich mit dem thema noch nicht allzu genau auseinander gesetzt.
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

Beneroth

Alter Hase

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

7

11.07.2006, 08:49

Ich frag mich nur warum Entwickler Cheats in ihre Spiele einbauen, auch solche die dann auch im evtl. vorhandenen Online-modus und Wettbewerb funktionieren. Was das testen angeht gehe ich denke ich dass doch für die Entwickler kein Aufwand sein müsste mal kurz nen Spielstand direkt zu erstellen (evtl. mit nem kleinen Zusatzproggie), die kennen die Datei ja genaustens. Warum also Cheats einbauen? Zum verkaufen würde ja noch sinn machen, aber die Begründung mit dem Testen leuchtet mir nicht ein.


@Lemming: werd ich mir merken :D

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

8

11.07.2006, 09:18

@Beneroth wir reden hier nicht von kleinen niftel Programmen, sondern von Projekten mit mehr als 5 Mitarbeiter. Also es hat nicht jeder Kenntnis über alles und jedesmal einen neuen Spielstand selbst zusammen zu stellen, der vielleicht dann selbst die Fehlerquelle sein könne, um etwas zu testen, ist da nicht gerade effektiv.
Wenn ihr meint, dass ihr was schützenwertes habt, könnte ihr euch ja von MS das code obscure Tool an(sry atm kann ich nicht den genauen Namen rausfinden).
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Lemming

Alter Hase

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

9

11.07.2006, 22:45

Beneroth
Außerdem gibt es unabhängige Tester, für die Cheats sehr hilfreich seien können.
Ich kann mir nicht vorstellen, dass die von der Game Star jedes Spiel mit jedem möglichen Verlauf selber durchspielen, um das ganze bewerten zu können. Die werden sicherlich bei gehen und in der ein oder anderen situation einfach mal im god mode durchrennen um spätere levels erkunden zu können, falls ein gegner einfach zu schwer ist....
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

Anonymous

unregistriert

10

11.07.2006, 22:49

Re: Cheats/Trainer

Zitat von »"renado"«

was sind das eigentlich für programmierer, die es in der kurzen zeit schaffen ein spiel zu cracken
Ich, aber cracken tu ich nicht - nicht mein Fall.

Ich hab oft nur etwas langeweile und versuche Speicherbereiche des Programms mehrfach zu prüfen um einen bestimmten Speicherbereich zu selektieren und dort einen Wert zu verändern.

Mit etwas KnowHow in der WinAPI (Edel ;)) geht das relativ schnell (So ca. 2 Stunden) und ma kann z. B. sich einen Trainer schreiben der die Lebenspunkte jede Sekunde wieder auf 100 setzt.

Cheats sind etwas anderes als Trainer. Trainer sind externe Programme um einen Speicherbereich zu verändern im Programm. Cheats sind Erfindungen von Programmierern um das Programm schneller zu testen.

Werbeanzeige