TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
Le problème de ce sujet a été résolu
| Page : 1 | |||||||
| Auteur | Message | ||||||
|---|---|---|---|---|---|---|---|
| 1 visiteur sur ce sujet (1 anonyme) | |||||||
| Page : 1 | |||||||
BioH
|
# Posté le 16/05/2008 à 02:45:21 | ||||||
Je te vois...![]() Groupe : Membres |
Bonjour à vous amis zéros !
Malgré quelques recherches je n'ai pas trouvé de réponses qui me satisfasses totalement. Après avoir terminé le chapitre sur lecture / écriture dans un fichier je me pose donc cette question : Comment empêcher un utilisateur d'accèder et aussi de lire simplement le contenu d'un fichier que l'on créé. J'ai bien essayé en mettant une extension kikoo-lol (un fichier secret.chuuuut) mais on peux toujours accèder et modifier le contenu en "sélectionnant un éditeur de texte dans la liste". Donc j'aimerais savoir si vous auriez un moyen simple pour empêcher la lecture et l'écriture des fichiers créés ou à la limite les coder pour empêcher la modification sauvage ! Merci d'avance
Édité
le 16/05/2008 à 02:47:02
par BioH
Citation : Homer Simpson La ménopause, c'est quand la cigogne qui apporte les bébés se fait tirer par des chasseurs bourrés. ![]() |
||||||
nepser
|
# Posté le 16/05/2008 à 03:08:04 | ||||||
░░░![]() Groupe : Membres |
Tu ne peux rien cacher totalement.
Tu peux chiffrer avec n'importe quel algo de chiffrement. Mais tu devras bien sur à la lecture décrypter ton fichier. Sous Windows tu peux utiliser les ADS (alternative data stream) mais c'est pas super conseillé. Toujours sous windows tu peux créer un fichier caché. Si tu veux juste bloquer le kikoo editing, renomme ton fichier en .exe. |
||||||
-ed-
|
# Posté le 16/05/2008 à 03:18:32 | ||||||
C is a sharp tool![]() Groupe : Membres |
Citation : BioH
Comment empêcher un utilisateur d'accèder et aussi de lire simplement le contenu d'un fichier que l'on créé. Qu'as-tu donc de si confidentiel à cacher ? Tout ce qu'on peut faire, c'est encrypter le fichier selon une méthode connue de toi seul. En principe, ça retarde le décryptage. Par exemple, cryptage simple à XOR avec clé privée : Soit le fichier data.txt : Code : Autre
et la clé "sesame". Ca donne (normal, crypté, normal) Code : Console
Secret (cliquez pour afficher) Code : C
je te laisse jouer avec remove() et rename() ...
Édité
le 16/05/2008 à 11:27:06
par -ed-
Emmanuel Delahaye. ![]() Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://mapage.noos.fr/emdel/ |
||||||
Vhann
|
# Posté le 16/05/2008 à 04:51:41 | ||||||
|
VIM Has Anything u Need, Nerd Groupe : Membres |
Le cryptage XOR est vraiment simple à implémenter et est plutôt efficace (contre la plupart des utilisateurs disons). Pour réaliser un cryptage XOR, il faut utiliser des valeurs binaires (donc les valeurs binaires des nombres).
Supposons que l'octet à encrypter est 10100111 et que la clé est 00001111. Le cryptage par XOR compare chaque bit à celui de la clé lui correspondant (l'opérateur binaire XOR (ou exclusif) donne 1 si les deux bits comparés sont différents ou 0 autrement) . Donc, pour les nombres cités plus haut, on a donc: Octet original: 10100111 Mot de passe: 00001111 Ce qui donne: 10101000 Mot de passe: 00001111 Octet original: 10100111 P.S.: L'opérateur XOR en C est '^' (accent circonflexe) Cordialement, Vhann. "root@darkstar:~# fortune Saisir du texte avec SDL facilement? C'est ici (SDL_Input)There once was an old man from Esser, Who's knowledge grew lesser and lesser. It at last grew so small, [He knew nothing at all, And now he's a College Professor" ![]() Vous voulez rire? -Internet Explorer ne plante jamais -Google WTF?!? -BSOD, le meilleur jeu sous Windows Amusez-vous |
||||||
1337833K
|
# Posté le 16/05/2008 à 07:43:16 | ||||||
|
fgsfds Groupe : Membres |
Et il est censé y avoir quoi dans ce fichier ? Si tu as des trucs à cacher, c'est surement un problème de conception ...
|
||||||
Jaloyan1
|
# Posté le 16/05/2008 à 07:45:33 | ||||||
Choisir = se priver du reste.![]() Groupe : Membres |
euh juste comme ca, ca sert a rien comme sécurité, mais tu peux très bien mettre l'attribut fichier caché.
Si quelqu'un vous dit : "Je me tue à vous le répéter", laissez-le mourir. ![]() ![]() ![]() Chef du fan club de jaloyan1 |
||||||
Vhann
|
# Posté le 16/05/2008 à 08:00:01 | ||||||
|
VIM Has Anything u Need, Nerd Groupe : Membres |
@1337833K: Ça pourrait être utile pour stocker les mots de passe des utilisateurs/joueurs et/ou ralentir la triche des joueurs.
@Celui-dont-la-tête-ne-semble-pas-avoir-finit-d'enfler: Citation : Jaloyan1 euh juste comme ca, ca sert a rien comme sécurité, mais tu peux très bien mettre l'attribut fichier caché. Voilà monsieur-qui-sait-tout qui s'y met. Du temps où j'utilisais encore Windows, j'affichais toujours extensions, fichiers cachés et fichiers système (options des dossiers->affichage puis tu coches les cases correspondantes me semble-t-il). Sans compter que c'est P-O-R-T-A-B-L-E (tu devrais consulter un dictionnaire informatique sur ce mot). Ce type de cryptage est employé pour coder les signaux de ton récepteur de télévision (c'est pourquoi tu as besoin d'un décodeur). C'est assurément plus sécuritaire que de créer un fichier à l'installation que tu supprimes lors du premier lancement du programme par exemple (c.f. le sujet où tu crois révolutionner le monde par "la méthode George-Axel Jaloyan"). Tu nous sors de ces conneries parfois plus souvent qu'autrement... Enfin, après c'est certain qu'il existe des algorithmes plus performants et tout et tout... Vhann. "root@darkstar:~# fortune Saisir du texte avec SDL facilement? C'est ici (SDL_Input)There once was an old man from Esser, Who's knowledge grew lesser and lesser. It at last grew so small, [He knew nothing at all, And now he's a College Professor" ![]() Vous voulez rire? -Internet Explorer ne plante jamais -Google WTF?!? -BSOD, le meilleur jeu sous Windows Amusez-vous |
||||||
1337833K
|
# Posté le 16/05/2008 à 08:19:57 | ||||||
|
fgsfds Groupe : Membres |
Citation : Vhann
Ce type de cryptage est employé pour coder les signaux de ton récepteur de télévision (c'est pourquoi tu as besoin d'un décodeur). Euh, t'es sur ? Le XOR régulier (pas un masque jetable) peut être facilement outrepassé si on connait une partie du message original (facile avec certains types de fichiers comme le JPEG, le PNG, ou l'ELF qui mettent une signature au début). Ça m'étonnerait que ce soit employé pour le transfert crypté à la téloche. Citation : Vhann C'est assurément plus sécuritaire que de créer un fichier à l'installation que tu supprimes lors du premier lancement du programme par exemple (c.f. le sujet où tu crois révolutionner le monde par "la méthode George-Axel Jaloyan"). C'est sur, le XOR reste beaucoup mieux.
Édité
le 16/05/2008 à 08:20:37
par 1337833K
|
||||||
BioH
|
# Posté le 16/05/2008 à 11:34:49 | ||||||
Je te vois...![]() Groupe : Membres |
Citation : -ed-
Qu'as-tu donc de si confidentiel à cacher ? Rien de bien méchant A vrai dire j'avais fait une recherche sur le forum et j'avais trouver plusieurs sujets ou la méthode XOR était conseillée, mais disons que pour le niveau de sécurité que je voudrais donner à mes fichiers c'est peut-être un peu exagéré. J'avais plutôt pensé a un césar ou une option / fonction à utiliser lors de la compilation qui transforme mon fichier en plein de petits caractères sournois comme je le vois souvent dans les fichiers aux extensions fantaisistes et dont je force l'ouverture avec un bloc note (souvent ça vire presque a l'art moderne ), mais le problème est pour lire dans le fichier après quoi...Si XOR semble la meilleure solution qui décourage les petits malins qui souhaiteraient modifier les fichiers comme des sauvages j'irais bosser le tuto. Mais par exemple pour un petit jeu en SDL pas bien méchant, juste pour empêcher le joueur de modifier son high-score, ça me parait un peu mettre les petits plats dans les grands non ? C'est pour ca que je demandais une méthode simple, sans forcement avoir quelque chose de décodable uniquement par la nasa ! (quoi que peut-être que les ingénieurs de la nasa joueront a mon ptit pong en 2D qui sais )
Citation : Homer Simpson La ménopause, c'est quand la cigogne qui apporte les bébés se fait tirer par des chasseurs bourrés. ![]() |
||||||
-ed-
|
# Posté le 16/05/2008 à 11:52:01 | ||||||
C is a sharp tool![]() Groupe : Membres |
Citation : BioH
C'est pour ca que je demandais une méthode simple, <...> J'ai montré un exemple de codage, c'est extrêmement simple, léger et efficace. (la partie dump(), fdump() ne sert qu'à l'affichage du fichier, pas au cryptage). Emmanuel Delahaye. ![]() Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://mapage.noos.fr/emdel/ |
||||||
moi281184
|
# Posté le 16/05/2008 à 11:54:46 | ||||||
|
Groupe : Membres |
Si c'est pour un high score, le XOR me parrait peu adapté.
Les joueurs connaissant leur high score, ils pourront très facilement identifier le mot de passe et casser ta sécurité. Le XOR me parrait plus approprié pour le chiffrage d'un fichier de sauvegarde par exemple, contenant beaucoup de valeurs sans que le joueur ne sache à quoi correspond chacune de ces valeurs. Sinon j'ai une petite astuce que j'ai déjà utilisé dans des cas presque similaires : pour un high score, tu n'as pas besoin d'empêcher le joueur de voir son score, tu dois juste l'empêcher de le modifier. Pour ça tu peux rajoutter des nombres dans ton fichier, de manière à ce que la somme du score avec le premier nombre donne un nombre multiple de 73, la somme avec le second un multiple de 93, etc. (en utilisant des nombres premiers). Lors de la lecture du fichier par ton programme, tu vérifies que rien n'a été modifié en vérifiant que les sommes sont toujours multiples de ce qu'il faut. Si ça ne correspond pas, le fichier à été modifié par le joueur, donc tu n'as plus qu'à l'effacer et remettre sans pitié son high score à zéro, lol. |
||||||
-ed-
|
# Posté le 16/05/2008 à 11:58:37 | ||||||
C is a sharp tool![]() Groupe : Membres |
Citation : moi281184
Sinon j'ai une petite astuce que j'ai déjà utilisé dans des cas presque similaires : pour un high score, tu n'as pas besoin d'empêcher le joueur de voir son score, tu dois juste l'empêcher de le modifier. Pour ça tu peux rajoutter des nombres dans ton fichier, de manière à ce que la somme du score avec le premier nombre donne un nombre multiple de 73, la somme avec le second un multiple de 93, etc. (en utilisant des nombres premiers). Lors de la lecture du fichier par ton programme, tu vérifies que rien n'a été modifié en vérifiant que les sommes sont toujours multiples de ce qu'il faut. Si ça ne correspond pas, le fichier à été modifié par le joueur, donc tu n'as plus qu'à l'effacer et remettre sans pitié son high score à zéro, lol. La méthode du checksum. Oui, c'est une bonne idée. Emmanuel Delahaye. ![]() Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://mapage.noos.fr/emdel/ |
||||||
BioH
|
# Posté le 16/05/2008 à 13:06:42 | ||||||
Je te vois...![]() Groupe : Membres |
Hum je suis désolé moi281184 mais je ne comprends pas bien la technique... :s
Tu saurais me donner un exemple ? En ce qui concerne le XOR je vais laisser de coté pour le moment je reprendrais ça après la SDL. Citation : Homer Simpson La ménopause, c'est quand la cigogne qui apporte les bébés se fait tirer par des chasseurs bourrés. ![]() |
||||||
moi281184
|
# Posté le 16/05/2008 à 13:32:51 | ||||||
|
Groupe : Membres |
Un exemple ? ok, tu vas voir c'est très simple :
Tu veux enregistrer par exemple les valeurs 10 20 et 30 dans un fichier. Donc ton fichier de sauvegarde ressemblera à ça : Code : Autre
Pour le moment n'importe qui peut l'éditer et le modifier. Maintenant si tu prends pour clé 73 par exemple, tu vas rajouter un nombre x à la fin du fichier de sorte que la somme des 4 nombres soit multiple de 73 : 10 + 20 + 30 = 60, donc il suffit de rajouter x = 13 Ton fichier va donc ressembler à ça : Code : Autre
Imaginons qu'un tricheur souhaite le modifier en mettant 40 à la place de 30 par exemple. Lors du chargement des données, tu fais la vérification suivante : 10 + 20 + 40 + 13 = 83 83 n'est pas multiple de 73, donc le fichier a été modifié par quelqu'un ne connaissant pas la clé. Ainsi tu peux détecter une modification dans ton fichier non faite par ton programme. Une des failles de cette technique est que l'on ne peut pas déceler si la modification est "compensée", c'est à dire si on met 40 à la place de 30, puis 10 à la place de 20. Autre problème, si le tricheur remarque l'utilisation de cette méthode, il pourra facilement trouver la clé, ou en tout cas effectué une "compensation" sur la clé pour conserver la même somme totale. Si la protection des données est peu importante, cette méthode peut être suffisante. Si tu as besoin d'une meilleure sécurité, tu peux t'amuser à trouver des variantes, par exemple : mettre deux nombres à la fin, le premier devant être sommé avec tous les nombres des lignes paires, et l'autre avec les lignes impairs : ainsi, une "compensation" entre une ligne paire et une impaire sera tout de même détectée (doublement d'ailleur). Tu peux étendre le principe avec au maximum N nombres rajoutés pour N nombre à protéger. |
||||||
BioH
|
# Posté le 16/05/2008 à 13:42:43 | ||||||
Je te vois...![]() Groupe : Membres |
Ah oui d'accord. Cette fois c'est compris merci beaucoup
Je pense que je vais m'amuser a faire ça @-ed- Merci pour ton code, je l'enregistre et je le garde sous le coude ! Ça va m'occuper un bout de temps cette affaire
Citation : Homer Simpson La ménopause, c'est quand la cigogne qui apporte les bébés se fait tirer par des chasseurs bourrés. ![]() |
||||||
Vhann
|
# Posté le 16/05/2008 à 16:56:19 | ||||||
|
VIM Has Anything u Need, Nerd Groupe : Membres |
@bioH: Selon moi, tu es mieux avec un cryptage binaire comme XOR plutôt que de grossir tes fichiers cryptés sans les rendre illisibles. L'intérêt avec un cryptage binaire comme XOR, c'est que les caractères du fichier (lorsque affiché en mode texte) ne correspondront pas nécessairement à des caractères visibles (des caractères de contrôle de la table ASCII seraient probablement affichés). Je crois que c'est de ce genre de choses dont tu voulais parler lorsque tu parlais de fichiers illisibles.
@1337833K: Citation : 1337833K Citation : Vhann Ce type de cryptage est employé pour coder les signaux de ton récepteur de télévision (c'est pourquoi tu as besoin d'un décodeur). Euh, t'es sur ? Le XOR régulier (pas un masque jetable) peut être facilement outrepassé si on connait une partie du message original (facile avec certains types de fichiers comme le JPEG, le PNG, ou l'ELF qui mettent une signature au début). Ça m'étonnerait que ce soit employé pour le transfert crypté à la téloche. Oui, le codage par XOR est suffisant parce que, si on prend en compte qu'on utilise un octet pour chaque couleur RGB (donc 3 octets par pixel) et que ta télévision fait 1500x1500 (et encore, c'est vraiment minuscule comme télévision ça qui plus est, on ne parle même pas de la Haute Définition ici). Si on dit que la clé utilisée fait donc 3 octets pour s'ajuster à chaque pixel, ça nous fait donc 2^(8*3) soit 1,6777216e7 possibilités pour un seul pixel. Même si un ordinateur pouvait tester toutes ces valeurs une à une en moins de 1 secondes, il lui resterait toujours 1500x1500 - 1 autres pixels à décoder .Ensuite, je sais que la clé est enregistrée dans le récepteur/décodeur et que les câblo-distributeurs s'amusent parfois à la changer (disons juste avant le Super Bowl aux États-Unis par exemple). Ce qui fait que les gens qui ont piraté doivent retrouver la nouvelle clé. Bref, c'est certain que ce n'est pas infaillible, mais le système n'est pas mauvais non plus. Nota: je parle ici du cryptage de câblo-distributeurs canadiens, je ne sais pas si c'est identique partout dans le monde, mais je crois que oui. Cordialement, Vhann. "root@darkstar:~# fortune Saisir du texte avec SDL facilement? C'est ici (SDL_Input)There once was an old man from Esser, Who's knowledge grew lesser and lesser. It at last grew so small, [He knew nothing at all, And now he's a College Professor" ![]() Vous voulez rire? -Internet Explorer ne plante jamais -Google WTF?!? -BSOD, le meilleur jeu sous Windows Amusez-vous |
||||||
Retour au forum "Langage C" ou à la liste des forums
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
RSS tutoriels |
RSS news |
XHTML 1.0 |
CSS 2.0
Édité par Simple IT SARL :
Nous contacter
| Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
627 Zéros connectés |
8 requêtes |
0.048s (0.0272s)
