Identifiant:
Mot de passe:
Accueil
Devblogs
Voir tous les devblogs
Obtenir un devblog
Fiches Homebrews
Chat (IRC)
NoPaste
Lexique
Wikis
NDS/GBA
PSP
Wii
Forum
Accéder au forum
Messages non lus
Réponses non lues
Au secours !!!
Options
Rechercher
Se Connecter
Inscrivez-vous
Développement Amateur Francophone
|
Nintendo DS/GBA
|
Aide au développement
|
[Résolu/NDS] Crypter sauvegarde
Pages: [
1
]
Bas de page
Imprimer
Auteur
Fil de discussion: [Résolu/NDS] Crypter sauvegarde (Lu 1089 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Risike
Mega Member
Messages: 1387
Disciple Alekmaulo-Copperien !
[Résolu/NDS] Crypter sauvegarde
« 25 Février 2008, 14:48:26 »
Je voulais savoir si quelqu'un connaissait un moyen de crypter de manière simple une sauvegarde de high score (un simple int) pour que l'utilisateur ne puisse par aucun moyen éditer le fichier sauvegarde ou directement la ROM dans le cas de l'EFS.
Journalisée
Le travail y'en a pas beaucoup, faut le laisser à ceux qu'aiment ça !
(Coluche)
Bobiwan
Full Member
Messages: 184
Core
Re : [NDS] Crypter sauvegarde
«
Réponse #1 :
25 Février 2008, 15:17:00 »
tu fais un xor dessus
et pour decrypter tu fais la même chose.
au moins c'est pas facile a lire. et donc protege de ma la majorité des gens.
Une solution plus touchy, et d'utilisé les 32-x premier bit pour ton score auxquel tu additionnes un magic number en dur dans ton applis, et tu utilses les x derniers bit comme "bits de signature" pour veifier que le code est pas modifié a la main.
pour decoder tu verifiés si ton code est bien signé (genre que la somme des bit pair et impaire = 0) et tu soustrais ton magic number.
Comme ca tu as un entier pas lisible et verifiable avec une proba de 1/(2^x)
Journalisée
--
std::cout << "Zbob" << std::endl
PypeBros
Hero Member
Messages: 707
Posez-vous les bonnes questions
Re : [NDS] Crypter sauvegarde
«
Réponse #2 :
25 Février 2008, 15:19:19 »
en crypto, il n'y a jamais de solution simple, et presque jamais de solution parfaite.
Première chose, c'est de crypter *plus* que juste un int. P.ex. un int et un nombre magique qui sera vérifié.
Deuxième chose, c'est de bien cacher la clé qui servira au décryptage. Elle doit figurer dans ton programme (forcément), mais ça peut être un p'tit byte par-ci, un p'tit byte par-là. Garde en tête que quoi que tu fasses, quelqu'un d'un peu motivé pourra toujours analyser ton programme étape par étape dans un émulateur, malheureusement ...
Troisième chose, sois créatif dans la manière de sauver tes scores. Si le fichier s'appelle "machin.sav", c'est presque trop simple.
Bref, c'est beaucoup de soucis sans véritable garantie de résultat. Moi, je ne me prendrais pas la tête à ce point-là.
Journalisée
j'ai besoin de vous 2 minutes pour mes recherches sur le SPaM
Cid2Mizard
Super Mega Member
Messages: 4064
Disciple Kukulcanien
Re : [NDS] Crypter sauvegarde
«
Réponse #3 :
25 Février 2008, 15:26:28 »
Sinon l'EFS est la meilleur solution
pas acces, pas de modification possible
ICI
«
Dernière édition: 25 Février 2008, 15:28:14 par Cid2Mizard
»
Journalisée
Mon Blog
Risike
Mega Member
Messages: 1387
Disciple Alekmaulo-Copperien !
Re : [NDS] Crypter sauvegarde
«
Réponse #4 :
25 Février 2008, 16:02:10 »
Il suffit de modifier le fichier .nds avec un éditeur hexadécimal et le score est modifié.
Actuellement ce que je fais :
- Je stock un int pour le score et un long pour la "signature"
- Je transforme donc le score (int) en signature par l'intermédiare d'une clé (un long string)
- Au chargement je peux vérifier si le score est bien signé
Vu que je distribuerais les sources, l'algo de cryptage sera connu. Il resterait la clé à trouver. Et pour quelqu'un qui connait l'algo se sera vraiment très facile à trouver la clé en éditant la Rom avec un éditeur hexadécimal...
Journalisée
Le travail y'en a pas beaucoup, faut le laisser à ceux qu'aiment ça !
(Coluche)
PypeBros
Hero Member
Messages: 707
Posez-vous les bonnes questions
Re : [NDS] Crypter sauvegarde
«
Réponse #5 :
25 Février 2008, 16:43:21 »
'faut voir quel modèle de distribution de tes sources tu envisages. si l'idée est de pouvoir reproduire le jeu tel quel à partir du contenu opensource, alors toute tentative de protection est futile: je peux juste éditer les source de ton jeu pour y intégrer n'importe quel cheat.
Par contre, tu pourrais envisager d'avoir un moteur de jeu open source (p.ex. LPGL) mais le véritable jeu (y compris les graphismes, sons, etc. et une partie plus "sensible" du code) qui n'est pas disponible en-dehors du binaire distribué. Dans ce cas-là, tu peux toujours mettre tes fonctions de manipulation de score (y compris chiffrement/déchiffrement) hors de la partie open source...
Journalisée
j'ai besoin de vous 2 minutes pour mes recherches sur le SPaM
Risike
Mega Member
Messages: 1387
Disciple Alekmaulo-Copperien !
Re : [NDS] Crypter sauvegarde
«
Réponse #6 :
25 Février 2008, 16:58:09 »
C'est ce que je vais faire.
En fait si je ne veux pas qu'on puisse bidouiller les scores par les sources ou les binaires c'est parce qu'il y a un sysytème de high score en ligne.
Je distribue les sources par SVN. Je vais voir si on peut enlever un fichier du "checkout public".
Journalisée
Le travail y'en a pas beaucoup, faut le laisser à ceux qu'aiment ça !
(Coluche)
Pages: [
1
]
Haut de page
Imprimer
Aller à:
Merci de choisir une destination:
-----------------------------
Compos
-----------------------------
=> Compo Débile Dev-Fr !
-----------------------------
Les News
-----------------------------
=> News
=> Vos News
-----------------------------
Général
-----------------------------
=> Discussion générale
=> Demande de blogs
=> Evolution du site
-----------------------------
Articles
-----------------------------
=> Interviews
=> Tests
===> Vos Tests
=> Démos Techniques
=> Pimp My Code
=> Tutoriaux
=> Le HS total du dimanche
-----------------------------
Divers Developpement
-----------------------------
=> Idées de Projets
=> Codes et Optimisations
=> Emulation
=> Graphismes
=> Game Design / Level Design
=> Musiques
=> Autre
-----------------------------
Dev-FR Coding Compo 2007
-----------------------------
=> International Section
===> Apps
===> Games
=> Section Francophone
===> Applications
===> Jeux
-----------------------------
Nintendo DS/GBA
-----------------------------
=> Projets
=> Aide au développement
=> Résolu via IRC
-----------------------------
PSP
-----------------------------
=> Projets
=> Aide au développement
-----------------------------
iPhone / iTouch
-----------------------------
=> Projets
=> Aide au développement
=> Tutoriels
-----------------------------
Android
-----------------------------
=> Projets
=> Aide au développement
=> Tutoriels
-----------------------------
Dingoo
-----------------------------
=> Projets
=> Aide au développement
-----------------------------
Wii/NGC
-----------------------------
=> Projets
=> Aide au développement
-----------------------------
PS3/Linux
-----------------------------
=> Projets
=> Divers
-----------------------------
Xbox 360
-----------------------------
=> Projets
=> Aide au développement
=> Tutoriels
-----------------------------
Windows/Mac/Linux
-----------------------------
=> Projets
=> Aide au developpement
-----------------------------
PocketPC
-----------------------------
=> Projets
-----------------------------
Matériel
-----------------------------
=> Consoles
=> Ordinateurs
=> UltraPortables