IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Cacher les lignes de code et compilation [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut Cacher les lignes de code et compilation
    Bonjour,
    Je débute en programmation et j'ai programmé un petit logiciel en batch mais j'ai quelques problème.
    J'aimerais que le code qui est tapé au cours du processus ne soit pas visible et pas non plus invisible mais remplacé pas des symboles.
    J'aimerais aussi ajouter une fonction qui permet de changer le mot de passe depuis la console en vue d'une compilation .exe
    Dernière chose j'aimerais que tout soit compiler en un seul .exe si possible.
    Je sais je suis exigent
    voici le code du logiciel:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Quote: cls 
    @ECHO OFF 
    title Files protect
    if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK 
    if NOT EXIST fantome goto MDLOCKER 
    :CONFIRM 
    echo voulez vous verrouiller le dossier fantome (O/N) 
    set/p "cho=>" 
    if %cho%==o goto LOCK 
    if %cho%==O goto LOCK 
    if %cho%==n goto END 
    if %cho%==N goto END 
    echo mauvais choix tapez O pour oui et N pour non. 
    pause
    goto CONFIRM 
    :LOCK 
    ren fantome "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    echo dossier verrouillé 
    pause
    goto End 
    :UNLOCK 
    echo Entrez le mot de passe pour accèder au dossier fantome 
    set/p "pass=>" 
    if NOT %pass%== password goto FAIL 
    attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" fantome
    echo dossier déverrouillé 
    pause
    goto End 
    :FAIL 
    echo mot de passe invalide 
    pause
    goto UNLOCK 
    :MDLOCKER 
    md fantome 
    echo dossier fantome créé 
    pause
    goto End 
    :End

    et le début du code pour modifier le mot de passe:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @ECHO OFF 
    :CHANGE
    echo Entrez le mot de passe actuel
    set/p "pass=>" 
    if NOT %pass%== password goto BOUCLE
    echo Entrez le nouveau mot de passe
    
    echo Confirmez ce mot de passe
    
    :BOUCLE
    echo Mauvais mot de passe
    goto CHANGE


    Merci d'avance.
    reremoki

  2. #2
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    Je te propose ici une solution intéressante qui utilise la commande choice.
    La concaténation des valeurs asciis composant les lettres du mot de passe est testé. Dans cette exemple le mot de passe est "code" qui correspond à la valeur "31545" (c=3 o=15 d=4 e=5). Avec la touche Q tu sort (dans cette exemple). Ceci te permet de n'avoir aucune relation apparente entre la valeur et le mot de passe, si tu veux sauvegarder le mot de passe dans un fichier (en cas de compilation). Tu peux, pour encore plus de securité, créer un petit algorithme de traitement de la valeur.

    Tu peux insérer un compteur qui compte le nombre de caractères entrés et qui sort du programme après x entré clavier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    @echo off
    rem Par SachaDee 16-04-2013
    
    set $aff=
    set saisie=
    cls
    
    REM LE MOT DE PASSE EST  : CODE
    REM EN ASCII = 3 15 4 5 (31545)
    
    set password=31545
    
    rem Dans le cas où l'on veut récupèrer le code dans un fichier
    rem set /p password=<code.dat
    
    REM Q (17) pour sortir
    
    echo ENTREZ VOTRE MOT DE PASSE (Q POUR SORTIR) :
    
    :test
    CHOICE /C:abcdefghijklmnopqrstuvwxyz>nul
    set $aff=# %$aff%
    cls
    echo ENTREZ VOTRE MOT DE PASSE (Q POUR SORTIR) :&echo.
    echo %$aff%
    if %errorlevel%==17 goto :end
    set saisie=%saisie%%errorlevel%
    if /i %saisie%==%password% goto :code_ok
    echo -%saisie%-
    goto :test
    
    :code_ok
    
    echo le code est ok
    
    :end
    echo fin
    Amicalement

  3. #3
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    salut,

    J'ai vu ton déterrage

    Mais dans cet exemple si au lieu de code on tape par exemple caede logiquement ça marche aussi. Les risques de collision sont quand même nombreux, ainsi mieux qu'une concaténation, tu devrais utiliser un checksum ... Autre problème mineur, choice n'est pas disponible en natif sur XP.

    mais +1 quand même, tu le mérites

  4. #4
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Effectivement,

    comme Minnesota le fait remarquer le code est perfectible.
    On pourrait traiter la valeur avec les espaces pour éviter ce problème.

    Et si tu travailles sous xp tu peux télecharger la commande choice

    Amicalement

    (PS : merci Minnesota pour le +1 )

  5. #5
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Bon.
    J'ai rajouté des chose a mon code mais j'ai toujours des problèmes.
    Je ne sais plus comment récupérer une donné d'un .txt dans un .bat.
    Je m'explique:
    Mon mot de passe est maintenant stocké dans un .txt hors je ne sais plus comment le récupérer pour mon .bat
    Mon autre problème est toujours le même je veut remplacer le mot de passe par des '*' ou tout autre symbole quand il est tapé et ça sans avoir besoin d’installer autre chose (comme la commande choice pour xp) mais en introduisant un autre code si besoin.
    Cependant merci pour vos réponses rapides.
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    Quote: cls 
    @ECHO OFF 
    title Files protect
    if NOT EXIST "Control panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto MDPASS
    :SUITE
    if EXIST "Control Panel.{45D8FBA-AD25-11D0-98A8-0800361B1103}" goto UNLOCK 
    if NOT EXIST fantome goto MDLOCKER 
    :MDPASS
    echo Entrez un mot de passe
    Set/p pass1=
    echo %pass1%>pass.txt
    ren pass.txt "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    echo Mot de passe enregistré
    pause
    goto SUITE
    :MDLOCKER 
    md fantome 
    echo dossier fantome créé 
    pause
    goto End 
    :CONFIRM 
    echo voulez vous verrouiller le dossier fantome (O/N) 
    echo ou changer le mot de passe (C)
    set/p "cho=>" 
    if %cho%==c goto VERIF
    if %cho%==C goto VERIF
    if %cho%==o goto LOCK 
    if %cho%==O goto LOCK 
    if %cho%==n goto END 
    if %cho%==N goto END 
    echo mauvais choix tapez O pour oui et N pour non. 
    pause
    goto CONFIRM 
    :LOCK 
    ren fantome "Control Panel.{45D8FBA-AD25-11D0-98A8-0800361B1103}" 
    attrib +h +s "Control Panel.{45D8FBA-AD25-11D0-98A8-0800361B1103}" 
    echo dossier verrouillé 
    pause
    goto End 
    :UNLOCK 
    
    echo Entrez le mot de passe pour accèder au dossier fantome 
    set/p "pass=>" 
    attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" pass.txt
    if NOT %pass%== goto FAIL 
    rem 1er problème
    ren pass.txt "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    attrib -h -s "Control Panel.{45D8FBA-AD25-11D0-98A8-0800361B1103}" 
    ren "Control Panel.{45D8FBA-AD25-11D0-98A8-0800361B1103}" fantome
    echo dossier déverrouillé 
    pause
    goto End 
    :FAIL 
    echo mot de passe invalide 
    pause
    goto UNLOCK 
    :VERIF
    echo Entrez le mot de passe actuel
    editv32 -m
    set/p "pass=>" 
    attrib -h -s "Control Panel.{645FF040-5081-101B-9F08-00AA002F954E}" 
    ren "Control Panel.{645FF040-5081-101B-9F08-00AA002F954E}" pass
    if NOT %pass%== goto FAIL
    rem 2e problème 
    ren pass "Control Panel.{645FF040-5081-101B-9F08-00AA002F954E}" 
    attrib +h +s "Control Panel.{645FF040-5081-101B-9F08-00AA002F954E}" 
    CLS
    goto CHANGE
    :CHANGE
    echo Entrez le nouveau mot de passe
    SET /p REPONSE=
    echo Comfirmer le mot de passe
    SET /P REPONSE2=
    IF NOT '%REPONSE2%' == '%REPONSE%' GOTO ERREUR
    attrib -h -s "Control Panel.{645FF040-5081-101B-9F08-00AA002F954E}" 
    ren "Control Panel.{645FF040-5081-101B-9F08-00AA002F954E}" pass
    echo %reponse2%>pass.txt
    ren pass "Control Panel.{645FF040-5081-101B-9F08-00AA002F954E}" 
    attrib +h +s "Control Panel.{645FF040-5081-101B-9F08-00AA002F954E}" 
    echo Mot de passe changé
    pause
    GOTO END
    :BOUCLE
    echo Mauvais mot de passe
    CLS
    goto VERIF
    :ERREUR
    echo Vous avez mal recopié le mot de passe
    CLS
    goto CHANGE
    :END
    P.S:je suis sous xp mais j'aimerais que ça marche sous vista ou au moins sous seven.
    Merci

  6. #6
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    Tu peux inclure dans ton batch la creation d'un reply.com (vu que tu ne veux pas installer CHOICE sur ton xp). Technique emprunter à "STRYK" que je salut
    au passage. ATTENTION LES VALEURS DE %ERRORLEVEL% NE SONT PAS ES MÊMES QU'AVEC "CHOICE".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    @echo off
    
    :: ######################## --- REPLY.COM --- ########################
    goto :NEXT_CREAT_REPLY
    n reply.com
    e 0000 4D 5A 2E 00 01 00 00 00 02 00 00 10 FF FF F0 FF
    e 0010 FE FF 00 00 00 01 F0 FF 1C 00 00 00 00 00 00 00
    e 0020 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
    rcx
    002E
    w0
    q
    :NEXT_CREAT_REPLY
    debug < "%~f0" >nul
    :: ###################################################################
    
    set $aff=
    set saisie=
    cls
    
    REM LE MOT DE PASSE EST  : CODE
    REM EN ASCII = 99 111 100 101 (99111100101)
    
    set password=99111100101
    
    
    REM Q (113) pour sortir
    
    echo ENTREZ VOTRE MOT DE PASSE (Q POUR SORTIR) :
    
    :test
    
    call reply.com
    set $aff=# %$aff%
    cls
    echo ENTREZ VOTRE MOT DE PASSE (Q POUR SORTIR) :&echo.
    echo %$aff%
    if %errorlevel%==113 goto :end
    set saisie=%saisie%%errorlevel%
    if /i %saisie%==%password% goto :code_ok
    echo -%saisie%-
    goto :test
    
    :code_ok
    
    echo le code est ok
    
    :end
    echo fin
    pour récuperer une valeur dans un fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set /p password=<tonfichier
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f %%a in (tonfichier) do (set password=%%a)
    Amicalement

  7. #7
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    A consulter également le post de I'M HERE sur ce sujet. Qui explique des techniques hybrides très intéressantes.

    Amicalement

  8. #8
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Merci pour vos solutions.
    Sur ton lien sachadee, la solution 4 me plait bien mais je n'arrive pas a l'intégrer. Peut-tu m'aider.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    @ECHO OFF 
    title Files protect
    if NOT EXIST "Control panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto MDPASS
    if EXIST "Control Panel.{45D8FBA-AD25-11D0-98A8-0800361B1103}" goto UNLOCK 
    if NOT EXIST fantome goto MDLOCKER 
    goto CONFIRM
    :MDPASS
    echo Entrez un mot de passe
    set/p "pass1=>"
    rem il me la faudrait pour cette saisi
    echo Comfirmez ce mot de passe
    set/p "pass2=>"
    rem il me la faudrait pour cette saisi
    if not %pass2%==%pass1% goto RATE
    md passdos
    echo %pass1%>passdos\pass.txt
    ren passdos "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
    echo Mot de passe enregistré
    pause
    CLS
    if EXIST "Control Panel.{45D8FBA-AD25-11D0-98A8-0800361B1103}" goto UNLOCK 
    if NOT EXIST fantome goto MDLOCKER 
    goto CONFIRM
    :RATE
    echo vous avez mal recopié le mot de passe
    pause
    goto MDPASS
    :MDLOCKER 
    md fantome 
    echo dossier fantome créé 
    pause
    goto End 
    :CONFIRM 
    echo voulez vous verrouiller le dossier fantome (O/N) 
    echo ou changer le mot de passe (C)
    set/p "cho=>" 
    if %cho%==c goto VERIF
    if %cho%==C goto VERIF
    if %cho%==o goto LOCK 
    if %cho%==O goto LOCK 
    if %cho%==n goto END 
    if %cho%==N goto END 
    echo mauvais choix tapez O pour oui et N pour non. 
    pause
    goto CONFIRM 
    :LOCK 
    ren fantome "Control Panel.{45D8FBA-AD25-11D0-98A8-0800361B1103}" 
    attrib +h +s "Control Panel.{45D8FBA-AD25-11D0-98A8-0800361B1103}" 
    echo dossier verrouillé 
    pause
    goto End 
    :UNLOCK 
    echo Entrez le mot de passe pour accèder au dossier fantome 
    set/p "pass=>" 
    rem il me la faudrait pour cette saisi
    attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" passdos
    for /f %%a in (passdos\pass.txt) do (set password=%%a)
    if NOT %pass%==%password% goto FAIL 
    ren passdos "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    attrib -h -s "Control Panel.{45D8FBA-AD25-11D0-98A8-0800361B1103}" 
    ren "Control Panel.{45D8FBA-AD25-11D0-98A8-0800361B1103}" fantome
    echo dossier déverrouillé 
    pause
    goto End 
    :FAIL 
    ren passdos "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    echo mot de passe invalide 
    pause
    goto UNLOCK 
    :VERIF
    echo Entrez le mot de passe actuel
    set/p "pass=>" 
    rem il me la faudrait pour cette saisi
    attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" passdos
    for /f %%a in (passdos\pass.txt) do (set password=%%a)
    if NOT %pass%==%password% goto BOUCLE 
    ren passdos "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    CLS
    goto CHANGE
    :CHANGE
    echo Entrez le nouveau mot de passe
    SET /p "REPONSE=>"
    rem il me la faudrait pour cette saisi
    echo Comfirmer le mot de passe
    SET /P "REPONSE2=>"
    rem il me la faudrait pour cette saisi
    IF NOT '%REPONSE2%' == '%REPONSE%' GOTO ERREUR
    attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" passdos
    echo %reponse2%>passdos\pass.txt
    ren passdos "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    echo Mot de passe changé
    pause
    GOTO END
    :BOUCLE
    ren passdos "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
    echo Mauvais mot de passe
    pause
    CLS
    goto VERIF
    :ERREUR
    echo Vous avez mal recopié le mot de passe
    pause
    CLS
    goto CHANGE
    :END
    Merci.
    Reremoki.
    ps: +1

  9. #9
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Vous pouvez aussi tester ce script avec stockage du mot de passe dans la base de Registre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    @echo off
    Color 9B
    title Coffre avec mot de passe ^| Version 1.4 Updated by Hackoo
    mode con cols=60 lines=20
    if EXIST "Control Panel.{2227A280-3AEA-1069-A2DE-08002B30309D}" goto saisiePass
    if NOT EXIST Coffre goto create
    reg query ""HKLM\SOFTWARE\Coffre"">Nul
    if %errorlevel%==1 goto pasdepass
    
    :confirm
    echo Voulez-vous verrouiller le dossier Coffre?(O/N)
    set /p "choix=>"
    if %choix%==O goto ferme
    if %choix%==o goto ferme
    if %choix%==n goto fin
    if %choix%==N goto fin
    echo Choix incorrect, veuillez r‚pondre Oui ou Non.
    goto confirm
    
    :ferme
    cls
    Color 9A
    ren Coffre "Control Panel.{2227A280-3AEA-1069-A2DE-08002B30309D}"
    attrib +h +s "Control Panel.{2227A280-3AEA-1069-A2DE-08002B30309D}"
    echo Dossier Coffre verouill‚.
    goto fin
    
    :SaisiePass
    echo Entrez le mot de passe du Dossier Coffre.
    set /p "passout=>"
    echo V‚rification du mot de passe en cours ....
    for /f "tokens=3" %%i in ('reg query ""HKLM\SOFTWARE\Coffre"" ^| find "MDP"') do set MDP=%%i
    if %passout%==%MDP% goto ouvre
    if NOT %passout%==%MDP% goto incorrect
    goto fin
    
    :pasdepass
    cls
    echo Aucun mot de passe n'est d‚fini.
    echo Veuillez d‚finir un mot de passe pour le dossier Coffre.
    set /p "newpass1=>"
    echo Veuillez confirmer de nouveau votre mot de passe
    set /p "newpass2=>"
    if "%newpass1%"=="%newpass2%" goto AjoutPassReg
    if Not "%newpass1%"=="%newpass2%" echo Les Deux mots de passes ne sont pas identiques ? 
    PING 1.1.1.1 -n 1 -w 1000 >NUL
    goto pasdepass
    goto fin
    :AjoutPassReg
    reg Add ""HKLM\SOFTWARE\Coffre"" /v MDP /t REG_SZ /d %newpass2% > NUL
    goto ferme
    goto fin
    :incorrect
    cls
    Color BC & echo Mot de passe incorrect ? ? ?
    Goto Ping
    
    :create
    md Coffre
    echo Le dossier Coffre est cr‚‚.
    goto pasdepass
    
    :ouvre
    cls
    attrib -h -s "Control Panel.{2227A280-3AEA-1069-A2DE-08002B30309D}"
    ren "Control Panel.{2227A280-3AEA-1069-A2DE-08002B30309D}" Coffre
    Color 9A
    echo Mot de passe est Correct !
    echo Le dossier Coffre est ouvert.
    PING 1.1.1.1 -n 1 -w 1000 >NUL
    Start Explorer c:\coffre
    exit
    :Ping
    PING 1.1.1.1 -n 1 -w 1000 >NUL
    goto SaisiePass
    :fin
    pause

  10. #10
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Ouais ça relève plus du jeu que d'une réelle protection... Sinon, il me semble que le moteur vbs fournit un moyen de chiffrement ou cryptage léger... pourquoi ne pas le mettre à contribution, c'est mieux que rien...

  11. #11
    Membre Expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Par défaut
    Salut,

    inclut cela au debut de ton code (pour créer _.com):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    @echo off & goto:psw
    a
    db, BF 66 01 B4 03 CD 10 88 16 65 01 B8 07 0C CD 21 3C 0D 74 22
    db, 3C 08 74 06 3C 20 77 14 EB 10 81 FF 67 01 72 E7 4F FE 0E 65
    db, 01 E8 22 00 EB DD B0 2A AA E8 16 00 EB D5 B8 24 24 AB B4 09
    db, BA 66 01 CD 21 89 F8 2D 68 01 B4 4C CD 21 FE 06 65 01 8A 16
    db, 65 01 B9 01 00 B8 2A 0A CD 10 B4 02 CD 10 41 B8 20 0A CD 10
    db, C3 00 6D 61 6B 65 20 62 79 20 62 65 6E 74 6F 6E 2E
    
    r cx
    75
    n _.com
    w
    q
    :psw
    :::::$ By WALID (I'm_HERE)
    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    debug < %~f0 >nul
    Et lorsque tu veux tester le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cd|set/p=Mot de Passe: 
    for /f "delims=" %%a in ('_.com') do (set PSW=%%a)
    Et tu as en sortie la variable %PSW% qui contient le code tapé (que tu va tester avec le code de réference)

    et en fin de script tu fait un


    Maintenant je ne sais pas comment et où tu va garder ton code de réference.
    Personnelement j'obterais pour la méthode que j'ai écrite à l'aide du reply.com avec laquelle tu à un code en lettre qui fait réference à une valeur numérique donc beaucoup plus "sûr". Couplé à la méthode de hackoofr pour sauvegarder le code de réf dans le registre. Ca devient intéressant....
    Avec cette méthode tu as également la possibilité d'avoir un caractère d'échappement.

    Amicalement

  12. #12
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Je crois que debug il faut le mettre aux oubliettes, les applications 16bits ne fonctionnent pas sans mode de compatibilité sur les systèmes 64 bits.

  13. #13
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Avril 2013
    Messages : 12
    Par défaut
    Citation Envoyé par sachadee Voir le message
    Personnelement j'obterais pour la méthode que j'ai écrite à l'aide du reply.com avec laquelle tu à un code en lettre qui fait réference à une valeur numérique donc beaucoup plus "sûr". Couplé à la méthode de hackoofr pour sauvegarder le code de réf dans le registre. Ca devient intéressant....
    Avec cette méthode tu as également la possibilité d'avoir un caractère d'échappement.

    Amicalement
    Je pense que je vais faire ainsi.
    Merci pour vos conseil.
    Reremoki.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Cacher les lignes mais pas la légende
    Par esteban dans le forum BIRT
    Réponses: 1
    Dernier message: 12/08/2008, 11h33
  2. Cacher les lignes à blanc sur un formulaire?
    Par mishkai dans le forum IHM
    Réponses: 1
    Dernier message: 08/08/2008, 11h03
  3. Créer des reperes sur les lignes de code
    Par alafu dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/07/2007, 14h44
  4. Cacher les lignes de mon tableau
    Par Kyvin dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/09/2006, 16h11
  5. Comptabiliser les lignes de code d'un projet
    Par JPigKeud dans le forum Qualimétrie
    Réponses: 5
    Dernier message: 07/01/2005, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo