Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 15.06.2005, 15:08 Titel: Datei-entschlüsselung gesucht. |
|
|
Hi. Hab mal wieder ein Problem.
Ich möchte ein Savegame verändern(gta-sa), doch sobald ich dieses veränder, sieht das Spiel das Savegame als "Fehlerhafte Speicherdatei" an. Die Datei habe ich in QBASIC mit dem binary modus ausgelesen, und den speicherplatz für das Geld gefunden. Den wert hab ich verändert. Aber es klappt nicht(kann nicht geladen werden).Ich glaube, dass in dem Savegame gespeichert ist, wann es zuletzt verändert wurde. Wie kann ich diesen Wert finden?? Ich kenne die verschlüsselung nicht. Ich kann das savegame nacher mal posten.
Please help
Michael |
|
Nach oben |
|
 |
Jet X gesperrt

Anmeldungsdatum: 05.01.2005 Beiträge: 447
|
Verfasst am: 15.06.2005, 16:14 Titel: |
|
|
hmmm... wenn ich mich jetzt nicht irre und dich nicht falsch verstanden habe,
dann glaube ich das es aus dem Frund nicht möglich ist : Du sagtest , du hättest die Datei mit QBasic verändert ??? QBasic ist doch ne Dos anwendung
und GTA haöt ne neure Anwendung 32 Bit Anwendung oder sowas ... würde denken das es mit QBasic einfach nicht möglich ist Kann auch sein das das
totaller schwachsinn ist , dann verbessert mich  |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 15.06.2005, 16:32 Titel: |
|
|
Zitat: | Kann auch sein das das totaller schwachsinn ist , dann verbessert mich |
OK, daran liegts wohl nicht. Es ist so, dass Spielehersteller immer so gut wie möglich versuchen, die Spielstände gegen Manipulation zu schützen. Möglicherweise ist irgendwo im Spielstand eine Checksumme (Hashwert) der Geldmenge. Stimmt die Checksumme der eingegebenen Zahl nicht mit der Gespeicherten überein, wurde manipuliert. Ich vermute so einen Mechanismus.  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 15.06.2005, 17:44 Titel: |
|
|
Hab daran auch schon gedacht. Da sind 3 verschiedene Geld werte.(hab auch alle gleich verändert) Im arbeitsspeicher sind auch drei(mit ramcheat überprüft). Hab damit also alles richtig gemacht. Da hängt bestimmt was mit dem Datum zusammen. Beim Laden steht hinter der datei auch, wann sie gespeichert wurde. Das spiel überprüft bestimmt, ob das datum, wann gespeichert wurde, in der datei mit dem veränderungsdatum der datei (in windows) übereinstimmt. Wenn ich die datei mit dem editor öffne, NICHTS verändere und auf speichern klicke, dann kann der das nicht laden. Schwer zu erklären.
BEISPIEL:
Code: |
Datei gespeichert am 15.06.05 um 14:30:46 (datum in der datei gespeichert)
Datei verändert am 15.06.05 um 14:44:13 (datei-eigenschaften-datum)
Spiel überprüft datum a mit datum b. Sie sind in diesem Fall nicht gleich, also wird der Spielstand als beschädigt angegeben.
|
So. Jetzt müsste man das besser verstehen.
Mfg
Michael |
|
Nach oben |
|
 |
ChemicalWarfare

Anmeldungsdatum: 15.09.2004 Beiträge: 152
|
Verfasst am: 15.06.2005, 18:08 Titel: |
|
|
öffne mal ne exe im editor, speichere sie unter einem anderen namen ab, und öffne sie: du wirst sehen, es funzt net. mußt es schon mitm hexeditor versuchen _________________ Er ist ein Wunder!
Nein, er ist eine Missgeburt. |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 15.06.2005, 18:35 Titel: |
|
|
Danke, aber es ist ja keine exe datei. Das ist ja eine *.b datei. Ein Hex-editor hab ich auch. Ich versuchs mal.
Mfg
Michael |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 15.06.2005, 20:46 Titel: |
|
|
mein bewährtestes mittel:
dos-editor mit binärmodus, zeilenlänge automatisch 78! _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
Tomtitom

Anmeldungsdatum: 20.09.2004 Beiträge: 308
|
Verfasst am: 15.06.2005, 23:07 Titel: |
|
|
Also ich würde auch, wenn ich was verändere mit einem Hexeditor machen und nicht mit QB.
Woraus schließt du eigentlich, das die 3 Werte wirklich die Geld werte sind, doch nicht etwa nur, weil du den Geldwert in Hex umgerechnet hast?
Ich vermute mal kein modernes Spiel sichert so simpel seine Spielwerte ab. Wahrscheinlich gehören die Hexwerte zu was völlig anderen.
Wenn du wirklich cheaten willst, such lieber im Netz nach Programmen, die das für dich übernehmen.
MfG, Tomtitom |
|
Nach oben |
|
 |
helium

Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 16.06.2005, 10:00 Titel: |
|
|
anfänger hat Folgendes geschrieben: | Hab daran auch schon gedacht. Da sind 3 verschiedene Geld werte.(hab auch alle gleich verändert) Im arbeitsspeicher sind auch drei(mit ramcheat überprüft). Hab damit also alles richtig gemacht. Da hängt bestimmt was mit dem Datum zusammen. Beim Laden steht hinter der datei auch, wann sie gespeichert wurde. Das spiel überprüft bestimmt, ob das datum, wann gespeichert wurde, in der datei mit dem veränderungsdatum der datei (in windows) übereinstimmt. Wenn ich die datei mit dem editor öffne, NICHTS verändere und auf speichern klicke, dann kann der das nicht laden. Schwer zu erklären.
BEISPIEL:
Code: |
Datei gespeichert am 15.06.05 um 14:30:46 (datum in der datei gespeichert)
Datei verändert am 15.06.05 um 14:44:13 (datei-eigenschaften-datum)
Spiel überprüft datum a mit datum b. Sie sind in diesem Fall nicht gleich, also wird der Spielstand als beschädigt angegeben.
|
So. Jetzt müsste man das besser verstehen.
|
Du hast nicht vestanden, was Sebastian gesagt hat. Er meint (falls ich ihn richtig verstanden habe), dass aus allen Daten zusammen (nicht nur aus dem Geldwert, denn das wäre schwachsinn) ein Hash-Wert berechnet wird und der wird dann auch noch mitgespeichert. Wenn du die irgendwelche Daten veränderst passen sie nicht mehr zum Hash-Wert.
Wenn du nicht zufällig auch noch weißt wie der Hashing-Algorithmus aussieht, welche Daten er genau berücksichtigt und wo er steht, dann hast du pech gehabt (vorrausgesetzt es wird tatsächlich ein Hash-Wert verwendet).
Den selben Wert mehrfach zu speichern ist ziemlicher Unfug.
Und wie oft ein Wert im Arbeitsspeicher steht hat absolut nicht damit zu tun, wie oft er nachher in der Datei steht, des sei denn sie dumpen einfach einen Teil des RAMs, was IMO aber nicht sehr warscheinlich ist. _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 16.06.2005, 12:52 Titel: |
|
|
helium hat Folgendes geschrieben: | Du hast nicht vestanden, was Sebastian gesagt hat. Er meint (falls ich ihn richtig verstanden habe), dass aus allen Daten zusammen (nicht nur aus dem Geldwert, denn das wäre schwachsinn) ein Hash-Wert berechnet wird und der wird dann auch noch mitgespeichert. Wenn du die irgendwelche Daten veränderst passen sie nicht mehr zum Hash-Wert.
Wenn du nicht zufällig auch noch weißt wie der Hashing-Algorithmus aussieht, welche Daten er genau berücksichtigt und wo er steht, dann hast du pech gehabt (vorrausgesetzt es wird tatsächlich ein Hash-Wert verwendet). |
Ja, genau - das hab ich gemeint. _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
ChemicalWarfare

Anmeldungsdatum: 15.09.2004 Beiträge: 152
|
Verfasst am: 16.06.2005, 14:15 Titel: |
|
|
anfänger hat Folgendes geschrieben: | Danke, aber es ist ja keine exe datei. Das ist ja eine *.b datei. Ein Hex-editor hab ich auch. Ich versuchs mal.
Mfg
Michael |
Meinst du Notepad guckt nach der Endung und verändert die Datei absichtlich, wenn eine exe-Datei ist?
Ich wollte dir damit zeigen, dass Notepad nicht das geeignete Mittel dazu ist. _________________ Er ist ein Wunder!
Nein, er ist eine Missgeburt. |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 16.06.2005, 14:28 Titel: |
|
|
Achso. Jetzt verstehe ich das auch mit dem Hash wert. Das mit dem Datum stimmt auch nicht. Hab das mal überprüft. Hab das mit dem HEX editor geöffnet und dann gespeichert. Die datei kann noch geladen werden. Wie kann man denn den Hashwert herausfinden??? Ich kann 2 dateien vergleichen, in denen NUR das geld und die Uhrzeit im Spiel anders ist.Ich hab mal 2 dateien verglichen, und da gibt es 25 unterschiede. Kann ich so herausfinden, wie das funktioniert?? |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 16.06.2005, 14:46 Titel: |
|
|
Ist das ernst gemeint???? Wenn das klappt dann würde ich das sogar machen. Auch wenn ich dafür das komplette Prog durchsuchen müsste. Zeit hab ich genug. Wenn das ernst gemeint war, wo bekommt man einen dissambler???
Mfg
Michael |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 16.06.2005, 16:02 Titel: |
|
|
Das war durchaus ernst gemeint, eine andere Lösung, die ein wenig erfolgreich sein könnte, fällt mir da nicht ein, aber das Disassemblieren und Durchsuchen einer Software ist kein Zuckerschlecken, zumal du dazu sehr gut Assembler beherrschen solltest. Außerdem sind der DOS Assemblercode und das, was du aus einem Windowsspiel herausbekommst, zwei Paar Schuhe.  _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 16.06.2005, 16:15 Titel: |
|
|
Tomtitom hat Folgendes geschrieben: |
Ich vermute mal kein modernes Spiel sichert so simpel seine Spielwerte ab.
|
Mehr als man denkt. Ich habe schon oft Dateien mit etwa folgendem Inhalt gesehen:
Code: |
struct player
{
long money = 9999;
int live = 100;
[....]
};
|
Haha! Da kommt Freude auf!
jb |
|
Nach oben |
|
 |
Xolios aka Ray

Anmeldungsdatum: 07.12.2004 Beiträge: 589 Wohnort: Wildeshausen
|
Verfasst am: 16.06.2005, 16:58 Titel: |
|
|
Hallo.
Mal so eine Stumpfe Idee:
Stell die Uhrzeit/Datum zurück
Oder such dir cheats oder nen Trainer.
Gruß
Ray _________________ www.ray-earth.de
Anm.: Neue ICQ |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 16.06.2005, 19:04 Titel: |
|
|
Die einzige Sicherung die R*(Rockstar) gemacht hat, ist der Hash-Check(heißt das so??) Das mit dem Datum ist ja falsch. Das hab ich ja jetzt gemerkt. Also Muss ich entweder den Hashwert finden und den RICHTIG verändern, oder in der *.exe datei die überprüfung löschen. Ich glaub, die datei ist ca. 10mb groß. In den Ferien hab ich aber 4 wochen zeit. Ist der code nach dem dissamblieren mit nem c++ code vergleichbar??? Wenn ja, dann hab ich das schneller. Ich kenn ein Paar, die sehr gut c++ können. Ich hol mir bald mal borland c++.
Mfg
Michael
EDIT: Ein trainer möchte ich nicht. Ich will nacher vielleicht mal den Missions-status verändern. Das geht nicht mit Trainern. |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 16.06.2005, 19:29 Titel: |
|
|
anfänger hat Folgendes geschrieben: |
Ist der code nach dem dissamblieren mit nem c++ code vergleichbar???
|
Öhm, ich würde sagen eher nicht.
Hast du dir schonmal
unkommentiertes
Assembler angeschaut?
Viel Spaß
jb |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
|