Decryption
Verfasst: Di Feb 17, 2015 10:06 pm
Guten Abend an alle! 
Habe mich mal mit einem Hack für ein Spiel (Final Fantasy VII, falls das jemandem was sagt) beschäftigt, so weit hat es geklappt.
Jetzt bin ich vorhin auf ein "Savegame Editor" (Spielstand Bearbeiter) gestoßen, es kommt schon einige davon zum Download, die auch funktionieren, jedoch wollte ich mich selbst daran versuchen (habe noch nicht soo viel Ahnung, programmiere inaktiv seit 2013).
Hab also erst mal ein Savegame über einen Hex-Editor geöffnet, jetzt will ich versuchen einige Werte zu decrypten (derzeit an der Spielzeit, für mich am einfachsten), mein Problem ist jetzt:
Der Hex-Editor zeigt mir an dass Position 2E den Hex-Wert 81 hat, unten rechts in einem kleinen Hilfe Fenster steht die Zahl "116865" (Spielzeit in s), Hex Wert 80 hat somit 116864, Hex-Wert 7F also 116863.
Jetzt zu meiner eigentlichen Frage:
Wie komme ich von dem Hex-Wert 81 auf 116865? Dass ich sowas wie ein Decryption-Key brauche denke ich mir schon, aber wie kann ich ihn (ohne auf einen schon fertigen Source-Code gucken zu wollen) rausbekommen?
Ich dachte an etwas wie FE55 (Begründung: Oben Links steht Position 2E / FE55 , sprich Hex 81), aber ich habe keine Ahnung ob er das ist, oder wie ich ihn einbringen soll?
Derzeitiger Code:
Egal ob ich nun:
oder
noch wenn ich
bringen mich dem Wert irgendwie näher :/
(0x2E nehme ich aus der Position des HexWertes 81)
Ích hoffe ihr könnt mir helfen!
Grüße,
Shortyoo

Habe mich mal mit einem Hack für ein Spiel (Final Fantasy VII, falls das jemandem was sagt) beschäftigt, so weit hat es geklappt.
Jetzt bin ich vorhin auf ein "Savegame Editor" (Spielstand Bearbeiter) gestoßen, es kommt schon einige davon zum Download, die auch funktionieren, jedoch wollte ich mich selbst daran versuchen (habe noch nicht soo viel Ahnung, programmiere inaktiv seit 2013).
Hab also erst mal ein Savegame über einen Hex-Editor geöffnet, jetzt will ich versuchen einige Werte zu decrypten (derzeit an der Spielzeit, für mich am einfachsten), mein Problem ist jetzt:
Der Hex-Editor zeigt mir an dass Position 2E den Hex-Wert 81 hat, unten rechts in einem kleinen Hilfe Fenster steht die Zahl "116865" (Spielzeit in s), Hex Wert 80 hat somit 116864, Hex-Wert 7F also 116863.
Jetzt zu meiner eigentlichen Frage:
Wie komme ich von dem Hex-Wert 81 auf 116865? Dass ich sowas wie ein Decryption-Key brauche denke ich mir schon, aber wie kann ich ihn (ohne auf einen schon fertigen Source-Code gucken zu wollen) rausbekommen?
Ich dachte an etwas wie FE55 (Begründung: Oben Links steht Position 2E / FE55 , sprich Hex 81), aber ich habe keine Ahnung ob er das ist, oder wie ich ihn einbringen soll?

Derzeitiger Code:
Code: Alles auswählen
void DecryptSavegame(){
cout << "Dateiname: ";
cin >> ersteS;
ifstream ifE(ersteS.c_str(), ios::binary|ios::in);
if(!ifE){cout << "ifE konnte nicht geoffnet werden. Schliesse nach Tastendruck"; getch();}
else{
ofstream ofZ(Ziel.c_str(), ios::binary|ios::out);
if(ifE.get(cE)){
dwordHexString = cE;
cout << cE << " " << dwordHexString << endl;
stringstream ss(dwordHexString);
ss>>hex>>dword;
cout << dword;
ofZ.put(dword);
}
}
}
Code: Alles auswählen
dwordHexString = "0xFE55"+cE;
Code: Alles auswählen
dwordHexString = cE+"0xFE55
Code: Alles auswählen
dwordHexString = "0x2E"+cE
dwordHexString = dwordHexString + "FE55"
(0x2E nehme ich aus der Position des HexWertes 81)
Ích hoffe ihr könnt mir helfen!

Grüße,
Shortyoo