PureBasic

Forums PureBasic
Nous sommes le Jeu 19/Sep/2019 3:27

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 14 messages ] 
Auteur Message
 Sujet du message: Cryptage vernam
MessagePosté: Dim 08/Sep/2019 13:24 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1655
Localisation: Belgique
Bonjour à tous,

Pour un site internet j'ai eu besoins de crypté des mots de passes, mais je devait également me garder la possibilité de pouvoir les décrypté (pour les envoyer par email).

J'ai trouvé la méthode de Vernam, qui me semble correcte.

Voici son principe de fonctionnement.

  • La clé de cryptage doit être aussi longue que le mot à crypter
  • On convertir les caractères de la clé et du mot caractère par caractère en code ascii
  • On effectue un xor en les deux code ascii

La méthode fonctionne dans les 2 sens.

Voici un code Pb pour le faire de 1 à 24 caractères, vous pouvez changer la clé comme bon vous semble.

Code:
Procedure.s vernam(code.s)
  Protected key.s="AsOfJvmzaNfDesFOmZpbNwKs"
  Protected lCode = Len(code)
  Protected result.s,i,c,ck
  If lCode > Len(key)
    MessageRequester("Error","The of this code can't be has len over "+Str(Len(key))+" !",#PB_MessageRequester_Error)
    ProcedureReturn ""
  EndIf
  For i = 1 To lCode
    c = Asc(Mid(code,i,1))
    ck = Asc(Mid(key,i,1))
    result + Chr(c ! ck)
  Next
  ProcedureReturn result
EndProcedure
Global code.s
Debug "CODE AVANT mh6589"
code = vernam("mh6589")
Debug "CODE CRYPTE "+code
Debug "CODE DECRYPTE "+vernam(code)
Debug "CODE AVANT nous somme tous pb"
code = vernam("nous somme tous pb")
Debug "CODE CRYPTE "+code
Debug "CODE DECRYPTE "+vernam(code)
Debug "CODE AVANT _gfgfgOpm_trtrtr"
code = vernam("_gfgfgOpm_trtrtr")
Debug "CODE CRYPTE "+code
Debug "CODE DECRYPTE "+vernam(code)

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Cryptage vernam
MessagePosté: Dim 08/Sep/2019 17:53 
Hors ligne

Inscription: Ven 29/Juin/2007 17:50
Messages: 3492
DANGEREUX.
microdevweb a écrit:
Bonjour à tous,

Pour un site internet j'ai eu besoins de crypté des mots de passes, mais je devait également me garder la possibilité de pouvoir les décrypté (pour les envoyer par email).

J'ai trouvé la méthode de Vernam, qui me semble correcte.

Voici son principe de fonctionnement.

  • La clé de cryptage doit être aussi longue que le mot à crypter
  • On convertir les caractères de la clé et du mot caractère par caractère en code ascii
  • On effectue un xor en les deux code ascii

La méthode fonctionne dans les 2 sens.

Voici un code Pb pour le faire de 1 à 24 caractères, vous pouvez changer la clé comme bon vous semble.

Code:
Procedure.s vernam(code.s)
  Protected key.s="AsOfJvmzaNfDesFOmZpbNwKs"
  Protected lCode = Len(code)
  Protected result.s,i,c,ck
  If lCode > Len(key)
    MessageRequester("Error","The of this code can't be has len over "+Str(Len(key))+" !",#PB_MessageRequester_Error)
    ProcedureReturn ""
  EndIf
  For i = 1 To lCode
    c = Asc(Mid(code,i,1))
    ck = Asc(Mid(key,i,1))
    result + Chr(c ! ck)
  Next
  ProcedureReturn result
EndProcedure
Global code.s
Debug "CODE AVANT mh6589"
code = vernam("mh6589")
Debug "CODE CRYPTE "+code
Debug "CODE DECRYPTE "+vernam(code)
Debug "CODE AVANT nous somme tous pb"
code = vernam("nous somme tous pb")
Debug "CODE CRYPTE "+code
Debug "CODE DECRYPTE "+vernam(code)
Debug "CODE AVANT _gfgfgOpm_trtrtr"
code = vernam("_gfgfgOpm_trtrtr")
Debug "CODE CRYPTE "+code
Debug "CODE DECRYPTE "+vernam(code)

Avant de mettre une astuce de sécurité, bien en discuter au préalable. C'est important. Désolé d'envoyer le gâteau de fête dans les bas de Mémé, mais on ne peut pas jouer avec ça. (Et je ne veux pas de débat).

C'est ton sujet donc tu pourras demander aux modos de virer mon message. Mais discute-en d'abord en public ou en privé. Et après, poste quelque chose, si tu juges que c'est nécessaire de le faire.

Désolé. Pas trop le temps d'être constructif.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Cryptage vernam
MessagePosté: Dim 08/Sep/2019 19:54 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 11/Fév/2005 17:34
Messages: 4223
Localisation: Arras, France
Oui, bon, ce n'est pas la méthode la plus fiable mais c'est une implémentation d'un algo très basique et archi connu et ça peut servir d'exemple aux débutants.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Cryptage vernam
MessagePosté: Dim 08/Sep/2019 19:59 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 10/Mar/2013 22:22
Messages: 33
Localisation: France
Alors oui le chiffrement par masque jetable peut être extrêmement sécurisé MAIS :
— Chaque clé doit impérativement être une suite aléatoire de niveau cryptographique (c’est-à-dire non généré par un générateur pseudo aléatoire)
— Chaque clé ne doit être utilisée qu’une seule fois
— Les clefs ne doivent PAS être stockées avec le contenu chiffré

Or dans ton code :
— tu utilises une chaine de caractère fixe comme clef…
— … pour tous les mots de passes
— et c’est encodé en dur sur le serveur (donc stocké avec les mots de passes ou les identifiants de la base de donnée ce qui revient au même)

Conclusion : Avec ta procédure c’est aussi PAS sécurisé qu’un chiffrement avec le code César : il suffit d’avoir 1 mot de passe et son résultat pour pouvoir déchiffrer tous les mots de passes.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Cryptage vernam
MessagePosté: Dim 08/Sep/2019 20:11 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 09/Nov/2005 9:53
Messages: 4066
... Je n'osais rien dire mais ta methode est archi faible... :?

Egalement, imagine que tu dois crypter un fichier de 10Mo. Où vas tu trouver une clé de 10Mo ?? (puisqu'il faut une clé de meme longueur) :x

_________________
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 5.70LTS - 32 bits


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Cryptage vernam
MessagePosté: Lun 09/Sep/2019 8:32 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 31/Mai/2016 9:06
Messages: 2065
SPH a écrit:
Egalement, imagine que tu dois crypter un fichier de 10Mo. Où vas tu trouver une clé de 10Mo ?? (puisqu'il faut une clé de meme longueur) :x



-----la clef > "Toto"
------------->"Message a chiffrer"
clef : ------> "TotoTotoTotoTotoT" <-- et voici comment faire qu'une clef de 4 lettres puisse chiffrer un fichier de 10Mo ....
;)

et a l'heure actuelle , (et je l'ai deja dit maintes fois ici) le Xor avec Clef aussi longue que le truc a chiffrer , est ... indéchifrable !!


on ne peut meme pas utiliser les Statistiques , puis un "R" par exemple, ne sera jamais codé de la meme façon !

bien sur , ne pas faire la connerie des magazine des années 90 qui distribuaient un CD avec des images XX ou il fallait appeler le 3617 pour avoir la clef
de dechifrage... ces idiots avaient cryptés toutes leur images avec une clef, plus petite que l'entete d'une image Jpg ...

or si caractere en clair XOR mot de passe = caractere Crypté

caractere Crypté
XOR caractere en clair = Mot de pass !!! il faut le savoir

comme on connaissait les premiers caracteres d'une image Jpg (toujours les meme a cause de l'entete )
il etait facile de trouver le mot de passe , et donc de déchiffrer toutes l'image :)


c'est pourquoi il est important d'avoir un mot de passe (une clef) aussi longue que possible.. et qu'elle soient répétée
et dans le cas d'une image, que la clef soit plus longue que l'entete LOL :)

_________________
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"


Dernière édition par Zorro le Lun 09/Sep/2019 8:42, édité 2 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Cryptage vernam
MessagePosté: Lun 09/Sep/2019 8:39 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 09/Nov/2005 9:53
Messages: 4066
Zorro a écrit:
-----la clef > "Toto"
------------->"Message a chiffrer"
clef : ------> "TotoTotoTotoTotoT" <-- et voici comment faire qu'une clef de 4 lettres puisse chiffrer un fichier de 10Mo ....


;)

Hahahahaha, il n'y a pas plus facile a casser !! :lol:

_________________
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 5.70LTS - 32 bits


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Cryptage vernam
MessagePosté: Lun 09/Sep/2019 8:43 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 31/Mai/2016 9:06
Messages: 2065
lis mon text jusqu'au bout ;)
plus la clef est longue, plus c'est secure ;)

j'ai pris 4 lettres, pour te montrer le principe d'encodage avec clef courte d'un texte bien plus long ....

mais si tu code un fichier en utilisant 10 pages de la bible , t'es pas pres de retrouver le texte en clair :)

mais.... je dirai meme avec un clef de 4 caractere, ce sera pas evident !!

prenons l'exemple suivant :

"le texte a coder"
clef ="loti"

ce code va faire le boulot :

Code:


a$="le texte a coder"
clef$="loti"

for i=1 to len(a$)
      m=m+1
      if m=len(clef$)+1:m=1:endif
      l_m$=mid(clef$,m,1)
      l_a$=mid(a$,i,1)
      encod=asc(l_m$)*2 ! asc(l_a$)*2
      if l_a$="e"
            debug "clef="+l_m$ +"  letr clair= "+l_a$+" encodé="+encod   +"<------------"
      Else
            debug "clef="+l_m$ +"  letr clair= "+l_a$+" encodé="+encod   
            
      Endif
Next i


j'ai souligné les "e" de la phrase , aucun ne donne le meme resultat :)
donc pas possible d'apres le crypter de savoir qu'elle lettre ça va donner :)

ne pas ooublier que 4 lettres (repetées) ça suffit pour coder l'ADN ;)

_________________
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"


Dernière édition par Zorro le Lun 09/Sep/2019 9:16, édité 1 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Cryptage vernam
MessagePosté: Lun 09/Sep/2019 9:04 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 29/Juin/2011 14:11
Messages: 1655
Localisation: Belgique
Je suis conscient que cette méthode n'est peut'être pas la plus efficace et q'un hachage doit l'être bien plus mais malheureusement à sens unique.

Je suis preneur d'autres possibilités et souhaite bon courage à celui qui voudrais décrypter ce type de sécurité sans la clé.

Maintenant il à toujours moyen de faire mieux ça c'est sure.

_________________
Windows 10 64 bits PB: 5.70 ; 5.71 beta 2


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Cryptage vernam
MessagePosté: Lun 09/Sep/2019 9:21 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 31/Mai/2016 9:06
Messages: 2065
oui on peut faire legerement mieux en y ajoutant justement du pseudo aléatoire :)


sachant qu'un random Seed , donne toujours la meme liste de chiffre aléatoire
on peut s'en servir pour encoder (et qu'on pourra aussi decoder) en plus .... vu que pour le decodage on pourra se servir du meme seed :)


dans l'exemple du Xor , on peut se servir du seed pour par exemple choisir un lettre de la clef :)

donc au lieu d'encoder XOR avec la clef "TURO" repétée a l'infini
(exemple trivial il faudra utiliser plus que 4 lettres quand meme )

tu peux utiliser le Seed pour utiliser l'une des lettres de la clef , donc au lieu d'encoder avec

T ,puis U , puis R , puis O , on utilise le Seed pour tirer aléatoirement la lettre a utiliser pour encoder

du coup, on encode avec une clef qui elle meme est encodé Pseudo aléatoirement :)
imagine qu'on fasse ça avec 10 ou 50 pages de la bible ou du coran ... LOL :) ça deviens de l’hébreu

_________________
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Cryptage vernam
MessagePosté: Lun 09/Sep/2019 13:19 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 10/Mar/2013 22:22
Messages: 33
Localisation: France
microdevweb a écrit:
Je suis conscient que cette méthode n'est peut'être pas la plus efficace et q'un hachage doit l'être bien plus mais malheureusement à sens unique.

Je suis preneur d'autres possibilités et souhaite bon courage à celui qui voudrais décrypter ce type de sécurité sans la clé.

Maintenant il à toujours moyen de faire mieux ça c'est sure.
Vu que tu n'a pas l'air de prendre conscience de l'absence de sécurité de ton code, voici un exemple.
(Je me suis permis de refaire la fonction de chiffrement pour externaliser la clef et la rendre fonctionnelle avec n'importe quel type de données)
Code:
EnableExplicit

Procedure UseMask(*data, *mask, size)
   Protected offset.i = 0
   Protected dataq.q, maskq.q
   
   ; On encode les permiers octets 8 par 8 (c'est plus rapide)
   While (offset + 8) <= Size
      dataq = PeekQ(*data + offset)
      maskq = PeekQ(*mask + offset)
      dataq ! maskq
      PokeQ(*data + offset, dataq)
      offset + 8
   Wend
   
   ; On termine les derniers octets 1 par 1 pour ne pas faire de dépassement de mémoire
   While offset <= Size
      dataq = PeekB(*data + offset)
      maskq = PeekB(*mask + offset)
      dataq ! maskq
      PokeB(*data + offset, dataq)
      offset + 1
   Wend
EndProcedure

Procedure Demo1()
   ; J'externalise la clef car elle n'a rien à faire dans la procédure de chiffrement
   Protected key.s="AsOfJvmzaNfDesFOmZpbNwKs"
   Protected code.s
   
   code = "mh6589"
   Debug "CODE AVANT <<"+code+">>"
   UseMask(@code, @key, StringByteLength(code))
   Debug "CODE CRYPTE <<"+code+">>"
   UseMask(@code, @key, StringByteLength(code))
   Debug "CODE DECRYPTE <<"+code+">>"
   
   code = "nous somme tous pb"
   Debug "CODE AVANT <<"+code+">>"
   UseMask(@code, @key, StringByteLength(code))
   Debug "CODE CRYPTE <<"+code+">>"
   UseMask(@code, @key, StringByteLength(code))
   Debug "CODE DECRYPTE <<"+code+">>"
   
   code = "_gfgfgOpm_trtrtr"
   Debug "CODE AVANT <<"+code+">>"
   UseMask(@code, @key, StringByteLength(code))
   Debug "CODE CRYPTE <<"+code+">>"
   UseMask(@code, @key, StringByteLength(code))
   Debug "CODE DECRYPTE <<"+code+">>"
   
   Debug "Attention c'est bogué si le mot de passe à un caractère en commun avec la clef :"
   code = "_sfgfgOpm_trtrtr"
   Debug "CODE AVANT <<"+code+">>"
   UseMask(@code, @key, StringByteLength(code))
   Debug "CODE CRYPTE <<"+code+">>"
   UseMask(@code, @key, StringByteLength(code))
   Debug "CODE DECRYPTE <<"+code+">>"
EndProcedure

Procedure Demo2()
   ; J'externalise la clef car elle n'a rien à faire dans la procédure de chiffrement
   Protected key.s="AsOfJvmzaNfDesFOmZpbNwgJqlP" ; J'ai légèrement allongé la clef pour cet exemple
   
   Debug "Voila pourquoi il ne faut pas réutiliser le même masque :"
   Protected code1.s = "Tu ne me trouveras pas"
   Debug "CODE1 AVANT <<"+code1+">>"
   UseMask(@code1, @key, StringByteLength(code1))
   Debug "CODE1 CRYPTÉ <<"+code1+">>"
   
   Protected code2clair.s = "nous allons vérifier ça..." ; code2clair ne doit pas être plus court que code1
   Protected code2crypt.s = code2clair
   Debug "CODE1 AVANT <<"+code2clair+">>"
   UseMask(@code2crypt, @key, StringByteLength(code2clair))
   Debug "CODE1 CRYPTÉ <<"+code2crypt+">>"
   
   Debug "CODE1 TOUJOURS CRYPTÉ <<"+code1+">>"
   UseMask(@code1, @code2crypt, StringByteLength(code2clair));
   UseMask(@code1, @code2clair, StringByteLength(code2clair));
   Debug "CODE1 HACKÉ <<"+code1+">>"
EndProcedure

Demo1()
Demo2()


Explications du bug :
Si la chaîne à encoder possède un caractère en commun avec la clé, cela donne le caractère nul (que des zéros). Or ce caractère sert à indiquer une fin de chaîne. Toutes les opérations suivantes voient donc la chaîne comme étant plus courte qu'elle ne devrait l'être.


Comment le hack fonctionne :
La fonction XOR binaire possède trois propriétés singulières :
- variableA XOR variableA = 0 (C'est ce qui cause le bug du dessus)
- variableA XOR 0 = variableA
- c'est une opération commutative

Dans notre cas on à :
- code1 (crypté) = code1 XOR clef
- code2crypt = code2clair XOR clef (<=> clef XOR code2clair)

Le hack fait :
- (code1 (crypté) XOR code2crypt) XOR code2clair
Si on remplace par les valeurs cela donne :
((code1 XOR clef) XOR (clef XOR code2clair)) XOR code2clair
Comme c'est une opération commutative, on peut faire sauter toutes les parentheses, mettre les opérandes dans l'ordre de notre choix et faire les opérations dans l'ordre que l'on veut:
code1 XOR (clef XOR clef) XOR (code2clair XOR code2clair)
Je vous laisse simplifier ;)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Cryptage vernam
MessagePosté: Lun 09/Sep/2019 16:08 
Hors ligne

Inscription: Jeu 05/Fév/2009 17:58
Messages: 904
Bonjour a tous
Le problème du codage d'un texte ou d'un mot de passe est un vaste sujet.
Tout dépend de la dureté a la tenue d'une éventuel tentative de décodage.
Si c'est pour donner rendez vous a ma maitresse pour le soir même , et que j’efface ou quelle efface le code dans l'heure qui suit. Un code césar un peu amélioré suffit .
Si c'est la protection du mot de passe de mon compte en banque qui ne contient que 5€. Un xor suffit
Si le même compte contient plusieurs million € (Le rêve) un Xor simple ne suffit plus.
Si vous fixer un RV ultra secret et que le texte peut être lu que dans quelques jours Un Xor même complexe ne suffira pas
Quant a un message secret de type militaire ultra top secret , il faudra penser a un code que les plus gros ordis du monde mettrons 100 ans a déchiffrer. Je n'est même pas idée d'un tel code. (Pourtant il parait que cela existe au USA.)
Amuser vous bien cela est passionnant.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Cryptage vernam
MessagePosté: Lun 09/Sep/2019 17:27 
Hors ligne
Avatar de l’utilisateur

Inscription: Mar 31/Mai/2016 9:06
Messages: 2065
comme ça , ça corrige le probleme eventuel qu'une lettre soit = a une lettre du mot de passe

autre point positif, on ne gere pas le mot de passe !! c'est le code qui le genere via Random ...

apres, pour decoder un truc comme ça , il faut connaitre(et ne pas oublier ) le Seed !!

un seed de 10 codera la ligne ou le text d'une certaines façon
un seed , de 1575986523456 le codera d'une autre ....
perdre le seed , c'est perdre la possibilité de decoder le texte :)

il faudra juste faire une interface, qui demande le seed avant de lancer le codage ou le décodage :)
chaque seed genere une liste infini de numero aléatoire, tu peux toujours courrir pour avoir le texte en clair si tu ne connais pas le seed
(seed qui peut avoir une longueur.... tres.... longue :) )

Code:

Declare.s encode_xor(text.s,seed)
Declare.s decode_xor(text.s,seed)

text.s="le texte a coder"
seed=130

encode.s= encode_xor(text.s,seed)   
debug encode.s
;
decode.s=encode_xor(encode.s,seed)   
debug decode.s


Procedure.s encode_xor(text.s,seed)      
      ;by Dobro
      RandomSeed(seed)
      for i=1 to len(text.s)
            car_clef.s=chr(random(90,65  ))
            l_a$=mid(text.s,i,1)
            if car_clef.s=l_a$ :    car_clef.s="" :endif  ; cas ou la lettre du mot = la lettre de la clef
            sortie.s=sortie.s+chr(asc(car_clef.s) ! asc(l_a$))      
      Next i      
      ProcedureReturn sortie.s
EndProcedure

Procedure.s decode_xor(text.s,seed)   
      ;by Dobro
      RandomSeed(seed)
      for i=1 to len(text.s)
            car_clef.s=chr(random(90,65))   
            l_a$=mid(text.s,i,1)
            if car_clef.s=l_a$ :    car_clef.s=""  :endif  ; cas ou la lettre du mot = la lettre de la clef
            sortie.s=sortie.s+chr(asc(car_clef.s) ! asc(l_a$))   
      Next i      
      ProcedureReturn sortie.s
EndProcedure

_________________
Image
Image
Site: http://michel.dobro.free.fr/
Devise :"dis moi ce dont tu as besoin, je t'expliquerai comment t'en passer"


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Cryptage vernam
MessagePosté: Lun 09/Sep/2019 17:42 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 09/Nov/2005 9:53
Messages: 4066
"Les meme causes donnent les meme consequences" : FAUX

Est ce qu'un fichier "x" crypté avec le mdp "toto" peux donner un resultat different a chaque fois ?
Oui, je l'ai fait :

https://www.purebasic.fr/french/viewtopic.php?f=3&t=17780&p=205005&hilit=mutante#p205005

Je crypte tous mes mots de passe avec et je les mets sur internet car je suis sur de mon coup. Seul le brute force attack peux le vaincre (mais ca prendrait des tas d'annees)

8)

_________________
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 5.70LTS - 32 bits


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 14 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
cron

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye