proteger...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
gadjet35
Messages : 190
Inscription : ven. 21/oct./2005 7:49
Localisation : Quelque part en france !

proteger...

Message par gadjet35 »

voici un code pour proteger une partie des codes par un mot de passe ou des fichiers (si vous utiliser includefile "..."):

Code : Tout sélectionner

OpenWindow(0,0,0,500,500,#PB_Window_SystemMenu,"code")
  nb1 = ;inserer ici votre code (valeur numerique)
  CreateGadgetList(WindowID(0))
   StringGadget(1,250,250,100,50,"",#PB_String_Password)
   ButtonGadget(2,250,400,100,50,"valider")
  
 Repeat
  Select EventGadgetID()
    Case 2
     If nb1 = Val(GetGadgetText(1))
      ;inserer ici le code a proteger ou les fichiers a proteger
     EndIf
  EndSelect
  
  If EventGadgetID() = 2
    If nb1 = Val(GetGadgetText(1))
      quit = 1
    EndIf
  EndIf
  
 Until WaitWindowEvent()=#PB_Event_CloseWindow Or quit = 1
Gillou
Messages : 373
Inscription : sam. 28/août/2004 17:35
Localisation : Bretagne, 22
Contact :

Re: proteger...

Message par Gillou »

Jutse une question il n'y aurait pas des choses en trop dans ton code ?

Code : Tout sélectionner

OpenWindow(0,0,0,500,500,#PB_Window_SystemMenu,"code")
CreateGadgetList(WindowID(0))
StringGadget(1,250,250,100,50,"",#PB_String_Password)
ButtonGadget(2,250,400,100,50,"valider")
nb1=25

Repeat
  Select WaitWindowEvent()
    Case #PB_EventGadget
      Select EventGadgetID()
        Case 2
          If Val(GetGadgetText(1))=nb1
          
          EndIf
      EndSelect
    Case #PB_Event_CloseWindow
      quit=1
  EndSelect
Until quit = 1 
gadjet35
Messages : 190
Inscription : ven. 21/oct./2005 7:49
Localisation : Quelque part en france !

ok!

Message par gadjet35 »

oui c'est vrai! mais bon ce n'est pas grave et comment le trouve-tu?
Gillou
Messages : 373
Inscription : sam. 28/août/2004 17:35
Localisation : Bretagne, 22
Contact :

Re: proteger...

Message par Gillou »

Oui c'est une bonne idée
Gillou
Messages : 373
Inscription : sam. 28/août/2004 17:35
Localisation : Bretagne, 22
Contact :

Re: proteger...

Message par Gillou »

Un petit code dans le même style, pour apprendre

Code : Tout sélectionner

OpenWindow(1,0,0,210,80,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Mot de passe")
CreateGadgetList(WindowID(1))
StringGadget(2,60,10,90,24,"",#PB_String_Password)
ButtonGadget(3,10,44,90,24,"Valider")
ButtonGadget(4,110,44,90,24,"Annuler")

Repeat
Select WaitWindowEvent()
Case #PB_EventGadget
Select EventGadgetID()
Case 3
pass$=GetGadgetText(2)
If pass$="2506"
MessageRequester("Information", "Le mot de passe est valide!!"+Chr(13)+Chr(13)+"Carte acceptée")
Else
a.l=a+1
If a=3
MessageRequester("Information","Votre carte bancaire a été aspirée par la machine",#MB_ICONERROR)
End
Else
MessageRequester("Information","Plus que "+Str(3-a)+" essai(s)",#MB_ICONEXCLAMATION)
EndIf
EndIf
Case 4
quit=1
EndSelect
Case #PB_Event_CloseWindow
quit=1
EndSelect
Until quit=1
gadjet35
Messages : 190
Inscription : ven. 21/oct./2005 7:49
Localisation : Quelque part en france !

Message par gadjet35 »

oui je l'ai tester sa marche! mais il y a certain trucs un peu compliquer
Gillou
Messages : 373
Inscription : sam. 28/août/2004 17:35
Localisation : Bretagne, 22
Contact :

Message par Gillou »

gadjet35 a écrit :oui je l'ai tester sa marche! mais il y a certain trucs un peu compliquer
J'ai fait une connerie?
gadjet35
Messages : 190
Inscription : ven. 21/oct./2005 7:49
Localisation : Quelque part en france !

Message par gadjet35 »

pas vraiment il y a juste quelques erreurs (vite rectifiées) tes
calcules comme a.1 = a+1 sont un peu compliquer mais quand meme compréhensible!
Gillou
Messages : 373
Inscription : sam. 28/août/2004 17:35
Localisation : Bretagne, 22
Contact :

Message par Gillou »

le a.l=a+1 (a.l : c'est pour dire que a est une variable de type long)

c'est juste pour calculer le nombre de fois qu'une personne essaie d'entrer le code

et puis c'est cliar que y a plein de truc à améliorer (c'est un de mes collègues qui apprends à programmer qui a pondu ce code apres cinq heures, moi je dis c'est plutot pas mal
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

salut gillou le code

Code : Tout sélectionner

If pass$="2506"
c vraiment ton code de carte bancaire ou pas :lol: . sa peut interesser du monde et moi aussi :lol: .
n'importe quoi ces jeunes c.. Encore un message dans le vide, mais j'aime bien ce code sa peut servir si on fait un programme avec une version demo :) .

@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Gillou
Messages : 373
Inscription : sam. 28/août/2004 17:35
Localisation : Bretagne, 22
Contact :

Message par Gillou »

Salut venom, mais non, c'est pas mon code, c'est juste pour l'exemple.

:lol:
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Encore mieux, crypter le code de l'utilisateur via MD5 !
Gillou
Messages : 373
Inscription : sam. 28/août/2004 17:35
Localisation : Bretagne, 22
Contact :

Message par Gillou »

Voilà c'est mieux?

Code : Tout sélectionner

OpenWindow(1,0,0,210,80,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"Mot de passe")
CreateGadgetList(WindowID(1))
StringGadget(2,60,10,90,24,"",#PB_String_Password)
ButtonGadget(3,10,44,90,24,"Valider")
ButtonGadget(4,110,44,90,24,"Annuler")
Buffer=AllocateMemory(#MAXWORD)
PassMD5$="87682805257e619d49b8e0dfdc14affa"  ; (LE PASS est toujours 2506)

Repeat
Select WaitWindowEvent()
Case #PB_EventGadget
Select EventGadgetID()
Case 3
pass$=GetGadgetText(2)
PokeS(Buffer,pass$)
If PassMD5$=MD5Fingerprint(Buffer,MemoryStringLength(pass$))
MessageRequester("Information", "Le mot de passe est valide!!"+Chr(46)+Chr(13)+"Carte acceptée")
quit=1
Else
a.l=a+1
If a=3
MessageRequester("Information","Votre carte bancaire a été aspirée par la machine",#MB_ICONERROR)
End
Else
MessageRequester("Information","Plus que "+Str(3-a)+" essai(s)",#MB_ICONEXCLAMATION)
EndIf
EndIf
FreeMemory(Buffer)
Buffer=AllocateMemory(#MAXWORD)
Case 4
quit=1
EndSelect
Case #PB_Event_CloseWindow
quit=1
EndSelect
Until quit=1
MessageRequester(":)", "La suite du programme")
End
; Pour générer le pass : Les lignes ci-dessous sont a supprimé dans le prog final
pass$="2506"
Buffer=AllocateMemory(#MAXWORD)
PokeS(Buffer, pass$)
Debug MD5Fingerprint(Buffer,MemoryStringLength(pass$))
On dit que pour vérifier qu'un compilateur est 'sécuritaire', il faut modifier l'extension du programme générer par ".txt" par exemple et ensuite il faut rechercher le pass dans l'exe (si on le retouve c'est balo :cry: )

Mais bon c'est vrai qu'avec le mds il ya plus de probs mais bon
vous en pensez quoi?
Dernière modification par Gillou le mar. 25/oct./2005 17:18, modifié 1 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Le problem c'est que en faisant

Code : Tout sélectionner

 pass$="2506" 
tu as le code en clair dans ton source !

pour t'amuser compille ton prg , et charge le dans ollydbg
m'ettonerai pas que ce code apparaisse en clair ! :D
Gillou
Messages : 373
Inscription : sam. 28/août/2004 17:35
Localisation : Bretagne, 22
Contact :

Message par Gillou »

Je sais mais il faut enlever les lignes après (;pour générer le pass$) c'est juste pour montrer comment j'ai générer le pass

:lol:

J'ai corrigé ci-dessus
Dernière modification par Gillou le mar. 25/oct./2005 17:19, modifié 3 fois.
Répondre