Parce que j'en ai marre de voir des soi-disant trainers avec mot de passe, qui sont découverts en moins de 10s, je vais vous expliquer COMMENT protéger des fonctions par mot de passe sans que celui-ci sois découvert.
Tout d'abord créez une Form avec Koda, en plaçant un Input (où on insère du texte), une ou 2 checkbox et un bouton.
Bien, que çela va-t-il nous faire ? Lorsque l'utilisateur cliquera sur le bouton, le programme vérifiera le HASH du mot de passe entré !
Hash ? kézako ?
Un hash, est une chaine de caractères irréversibles. Le plus connu des algorithmes, et le plus utilisés à ce jour, est le MD5, un de ses proches s'appele aussi le SHA-1
Exemple ?
Mot de passe : JeSuisUnProgrammeur
Hash : fc54d6a4062d075c7d4dacbeee4c11d0
Donc préparons notre fonction pour connaitre le hash de notre mot de passe
La messagebox affichera donc 0xFC54D6A4062D075C7D4DACBEEE4C11D0 (on ne dirais pas sur la messagebox, c'est vrai)
Donc maintenant imaginons que vous voulez protéger votre cheat par mot de passe :
- On crée la Form, 1 bouton,1 Input, 2 checkbox
- On désactive la checkbox protégée
- On attribue la fonction VerifPass() à notre bouton
Et on prépare la fonction VerifPass après le WEnd
Pour que tout marche bien, on doit ajouter l'include Crypt.au3 au début de notre script !
Et normalement, vous devriez, en rentrant JeSuisUnProgrammeur dans votre Input, puis en cliquant sur le bouton, dévérouiller la première Checkbox.
Si ce n'est pas le cas, jetez un coup d'oeil là dessus :
En éspérant vous avoir aidé
Tout d'abord créez une Form avec Koda, en plaçant un Input (où on insère du texte), une ou 2 checkbox et un bouton.
Bien, que çela va-t-il nous faire ? Lorsque l'utilisateur cliquera sur le bouton, le programme vérifiera le HASH du mot de passe entré !
Hash ? kézako ?
Un hash, est une chaine de caractères irréversibles. Le plus connu des algorithmes, et le plus utilisés à ce jour, est le MD5, un de ses proches s'appele aussi le SHA-1
Exemple ?
Mot de passe : JeSuisUnProgrammeur
Hash : fc54d6a4062d075c7d4dacbeee4c11d0
Donc préparons notre fonction pour connaitre le hash de notre mot de passe
Code:
#include <Crypt.au3>
MsgBox(0,"Hash MDP",_Crypt_HashData("JeSuisUnProgrammeur",$CALG_MD5))
La messagebox affichera donc 0xFC54D6A4062D075C7D4DACBEEE4C11D0 (on ne dirais pas sur la messagebox, c'est vrai)
Donc maintenant imaginons que vous voulez protéger votre cheat par mot de passe :
- On crée la Form, 1 bouton,1 Input, 2 checkbox
- On désactive la checkbox protégée
Code:
GuiCtrlSetState($Checkbox1,$GUI_DISABLE)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
- On attribue la fonction VerifPass() à notre bouton
Code:
GuiCtrlSetState($Checkbox1,$GUI_DISABLE)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
VerifPass()
EndSwitch
WEnd
Et on prépare la fonction VerifPass après le WEnd
Code:
Func VerifPass()
;~ On vérifie que l'entrée dans l'input donne le même hash au MD5
If _Crypt_HashData(GuiCtrlRead($Input1),$CALG_MD5) = "0xFC54D6A4062D075C7D4DACBEEE4C11D0" Then
;~ Dans ce cas, on y est
MsgBox(0,"GG !","Bon mot de passe")
;~ On dévérouille la CheckBox bloquée
GuiCtrlSetState($Checkbox1,$GUI_ENABLE)
Else
;~ Dans ce cas, ce n'est pas le bon
MsgBox(16,"Sorry :( !","Mauvais mot de passe")
EndIf
EndFunc
Pour que tout marche bien, on doit ajouter l'include Crypt.au3 au début de notre script !
Et normalement, vous devriez, en rentrant JeSuisUnProgrammeur dans votre Input, puis en cliquant sur le bouton, dévérouiller la première Checkbox.
Si ce n'est pas le cas, jetez un coup d'oeil là dessus :
Code:
#include <Crypt.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Tutoriel Kintow", 306, 84, 192, 124)
$Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 16, 8, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 16, 32, 97, 17)
$Input1 = GUICtrlCreateInput("", 16, 56, 273, 17)
$Button1 = GUICtrlCreateButton("Vérifier", 112, 8, 177, 41)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GuiCtrlSetState($Checkbox1,$GUI_DISABLE)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
VerifPass()
EndSwitch
WEnd
Func VerifPass()
;~ On vérifie que l'entrée dans l'input donne le même hash au MD5
If _Crypt_HashData(GuiCtrlRead($Input1),$CALG_MD5) = "0xFC54D6A4062D075C7D4DACBEEE4C11D0" Then
;~ Dans ce cas, on y est
MsgBox(0,"GG !","Bon mot de passe")
;~ On dévérouille la CheckBox bloquée
GuiCtrlSetState($Checkbox1,$GUI_ENABLE)
Else
;~ Dans ce cas, ce n'est pas le bon
MsgBox(16,"Sorry :( !","Mauvais mot de passe")
EndIf
EndFunc
En éspérant vous avoir aidé