Quelles sont les options pour sauvegarder les données de jeu de manière sécurisée? Je suis intéressé par les solutions spécialement conçues pour C ++.
Je cherche quelque chose qui soit rapide et facile à utiliser. Je ne suis préoccupé que par le stockage d'informations simples telles que
Quels niveaux sont et ne sont pas débloqués
Le score de l'utilisateur pour chaque niveau
Je suis à nouveau curieux de savoir ce qu'il y a à utiliser, toutes les bonnes bibliothèques à utiliser qui me donnent de beaux fichiers de données de jeu sécurisés que le joueur moyen ne peut pas jouer.
Je viens de trouver ceci ici qui a l'air très bien, mais ce serait bien d'avoir quelques opinions sur d'autres bibliothèques / options potentielles.
Réponses:
Tout d'abord, disons que puisque vous avez un fichier de sauvegarde très simple, vous pouvez utiliser un fichier texte.
Une des idées les plus simples consiste à utiliser une clé de chaîne pour verrouiller / déverrouiller des données:
mais après une petite recherche sur Google, j'ai trouvé ces liens, qui pourraient être utiles:
Modifier:
Si le caractère signé correspond au "comportement non défini" indiqué par @ v.oddou, je suppose que l'utilisation de XOR ou la transposition sur un caractère non signé donneront lieu à un code plus sûr / multiplateforme. quelque chose comme ça:
la source
XOR
instead of increment/decrement, as you might end up with corrupt data if you exceed the bounds of the data-type you're dealing with (char
I assume)Nothing can be considered secure client side; anyone who tells you it is, is lying.
You can use any encryption and scramble method you want, but since the client must be also able to decode it, and the user has access to the client itself, if he is resourceful enough he'll have access to the decryption key / algorithm.
You can only add layers of annoyances to someone willing to crack it, but given enough time it will be cracked, and you can't do anything about that.
la source
You can definitely leave your save file unencrypted but add a checksum that is calculated through all the values that you want to "guard".
The cracker would therefore be able to re-produce the hashing (which you off course will use with proper salt) and therefor will have a happy time trying to re-produce.
This would still not be %100 secure but, probably the best time effective solution.
la source
This provided some simple XOR encryption:
And how to use it:
The output of this code is this:
la source
Here are a few programs (free ones anyway) that could help you, they both basically combine all you resources into a single exe.
NBinder, now a commercial product, this is an old but functional version.
Enigma Virtual Box, another tool with similar features.
la source