Page 1 sur 2
proteger...
Publié : lun. 24/oct./2005 10:09
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
Re: proteger...
Publié : lun. 24/oct./2005 10:24
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
ok!
Publié : lun. 24/oct./2005 10:46
par gadjet35
oui c'est vrai! mais bon ce n'est pas grave et comment le trouve-tu?
Re: proteger...
Publié : lun. 24/oct./2005 10:47
par Gillou
Oui c'est une bonne idée
Re: proteger...
Publié : lun. 24/oct./2005 11:01
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
Publié : lun. 24/oct./2005 11:24
par gadjet35
oui je l'ai tester sa marche! mais il y a certain trucs un peu compliquer
Publié : lun. 24/oct./2005 11:26
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?
Publié : lun. 24/oct./2005 11:35
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!
Publié : lun. 24/oct./2005 11:40
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
Publié : lun. 24/oct./2005 17:39
par venom
salut gillou le code
c vraiment ton code de carte bancaire ou pas

. sa peut interesser du monde et moi aussi

.
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

.
@++
Publié : mar. 25/oct./2005 15:20
par Gillou
Salut venom, mais non, c'est pas mon code, c'est juste pour l'exemple.

Publié : mar. 25/oct./2005 15:43
par Progi1984
Encore mieux, crypter le code de l'utilisateur via MD5 !
Publié : mar. 25/oct./2005 16:00
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

)
Mais bon c'est vrai qu'avec le mds il ya plus de probs mais bon
vous en pensez quoi?
Publié : mar. 25/oct./2005 16:57
par Backup
Le problem c'est que en faisant
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 !

Publié : mar. 25/oct./2005 17:00
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
J'ai corrigé ci-dessus