Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[R] Masquer un mot de passe
Auteur Message
Répondre en citant
Message [R] Masquer un mot de passe 
Bonjour Smile,

Voilà, j'aimerais avoir votre aide s'il vous plait.

Je me fais régulièrement des petits batchs pour automatiser certaines tâches.
L'une de ces tâches consiste à mapper un lecteur réseau, via la commande net use S: \\chemin_réseau\dossier_réseau /USER:utilisateur motdepasse .

Ensuite une sauvegarde est effectuée sur l'emplacement réseau, puis enfin je "démappe" et j’éteins le PC.
Rien de bien sorcier donc Smile !

Mais le problème de cette procédure, c'est que le couple utilisateur / mot de passe est en clair dans le batch. Et j'ai bien peur que tôt ou tard quelqu'un y jette un coup d'oeil.

J'aimerais donc savoir si vous connaissez une méthode qui me permette de "cacher / crypter" le mot de passe, afin que personne ne puisse le voir, même en regardant le code source.

Merci d'avance.



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [R] Masquer un mot de passe 
Soit tu compiles en .exe qui est faillible, soit tu fais ça dans un autres langages, le code en batch doit être en "clair" pour être exécuter




______________________________________________________
Visiter le site web du posteur
Répondre en citant
Message [R] Masquer un mot de passe 
Merci pour ta réponse Skywalker Smile.

Malheureusement, je m'y attendais un peu Sad.
Bon si je comprends bien, je n'ai pas d'autres choix que de convertir mon bat avec bat to exe converter... Même si comme tu le dis, c'est extrêmement faillible :/.

J'utiliserais bien un autre langage, mais le gros avantage du batch est qu'il est "natif" à windows. Du coup pour faire le type de manip dont j'ai besoin, je ne vois pas quoi utiliser d'autre.



Répondre en citant
Message [R] Masquer un mot de passe 
Si tes utilisateurs sont lambda, ça passera, juste le temps d'exécuter la commande, le code sera a l'air libre, et dès que le programme se fermera, plus de trace. Mais si tes utilisateurs ont des connaissances, là faut faire attention Wink

Après tu peux obusquer ton code mais ça se désobusque facilement : (un code en HTA)
Je vois que ça :
1) obusquer ton code (le brouiller, le rendre illisible)
2) le mettre en executable
3) prier Laughing

Code:
<html>
<head>
<title>DBatchcrypt</title>

<HTA:APPLICATION
ID="objDBatchcrypt"
icon="Cmd.exe"
APPLICATIONNAME="DBatchcrypt"
SCROLL="no"
navigable="no"
selection="no"
showintaskbar="yes"
singleinstance="no"
innerborder="no"
maximizebutton="no"
minimizebutton="yes"
border="dialog"
borderstyle="normal"
caption="yes"
contextMenu="no"
sysmenu="yes"
>
<link rel="stylesheet" media="screen" type="text/css" title="design_encoder" href="http://hackoo.alwaysdata.net/design_encoder.css"/>
<style>
body,td,a {font-family:Tahoma, Veranda, Arial; font-size:12px; text-decoration:none; color:black;}
a:link { color : blue; background : transparent ; text-decoration: underline}
a:visited { color : black; background : transparent ; text-decoration: none}
a:Hover { color : red; background : transparent ; text-decoration: none}
</style>

</head>

<SCRIPT LANGUAGE="VBScript">
'--------------------------------------------------------------------------------

Sub Window_Onload
window.resizeto 750,400
SplashOut.Style.Display = "none"
iTimerID = window.setInterval("ShowSplash", 13000)
txtNotes.value = "1. Cryptografiez votre BAT"&vbcrlf&"2. Visitez BBAT ."
End Sub

'--------------------------------------------------------------------------------

Sub ShowSplash
Splash.Style.Display = "None"
Main.Style.Display = "Inline"
SplashOut.Style.Display = "none"
End Sub


'--------------------------------------------------------------------------------

Function cmdEncode

Const ForReading = 1

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
vCancel = false

if not fso.fileexists(txtFile.value) then
vCancel = true
else
Set f = fso.getfile(txtFile.value)

if f.size > 100*1024 then
if msgbox("Votre fichier est grand le traitement peut prendre un peu de temps..." & vbCrLf & "continuer ?",vbYesNo+vbDefaultButton2)=vbNo then vCancel = true
end if
end if
if not vCancel = true then
if txtFile.value = "" then
msgbox("Vous devez selectionner un fichier")
else
vFileOut = txtFile.value & ".bat"
end if
txtNotes.value = txtNotes.value & vbCrLf & txtFile.value & " -> " & vFileOut

LineLength = 0

Set objFSO = CreateObject("Scripting.FileSystemObject")
set esc = objFSO.createtextfile(vFileOut) 'cria o batch
Set objTextFile = objFSO.OpenTextFile _
(txtFile.value, ForReading)

strText = objTextFile.ReadAll
objTextFile.Close

arrComputers = Split(strText, vbCrLf)
esc.write("@set ÿ=bacdefghijklmnopqrstuvxywzABCDEFGHIJKLMNOPQRSTUVXYWZ @()!")
esc.writeblanklines(1) 'proxima linha
For Each strComputer in arrComputers
'Wscript.Echo strComputer
if inStr(strComputer, ":") or inStr(strComputer, "!") or inStr(strComputer, "%") then
' String contains text
strComputer = Replace(strComputer,"(","%ÿ:~54,1%")
strComputer = Replace(strComputer,")","%ÿ:~55,1%")
strComputer = Replace(strComputer,"!","%ÿ:~56,1%")
esc.write(strComputer)
esc.writeblanklines(1) 'proxima linha
else
' String doesn't contain text
strComputer = Replace(strComputer,"a","%ÿ:~1,1%")
strComputer = Replace(strComputer,"b","%ÿ:~0,1%")
strComputer = Replace(strComputer,"c","%ÿ:~2,1%")
strComputer = Replace(strComputer,"d","%ÿ:~3,1%")
strComputer = Replace(strComputer,"e","%ÿ:~4,1%")
strComputer = Replace(strComputer,"f","%ÿ:~5,1%")
strComputer = Replace(strComputer,"g","%ÿ:~6,1%")
strComputer = Replace(strComputer,"h","%ÿ:~7,1%")
strComputer = Replace(strComputer,"i","%ÿ:~8,1%")
strComputer = Replace(strComputer,"j","%ÿ:~9,1%")
strComputer = Replace(strComputer,"k","%ÿ:~10,1%")
strComputer = Replace(strComputer,"l","%ÿ:~11,1%")
strComputer = Replace(strComputer,"m","%ÿ:~12,1%")
strComputer = Replace(strComputer,"n","%ÿ:~13,1%")
strComputer = Replace(strComputer,"o","%ÿ:~14,1%")
strComputer = Replace(strComputer,"p","%ÿ:~15,1%")
strComputer = Replace(strComputer,"q","%ÿ:~16,1%")
strComputer = Replace(strComputer,"r","%ÿ:~17,1%")
strComputer = Replace(strComputer,"s","%ÿ:~18,1%")
strComputer = Replace(strComputer,"t","%ÿ:~19,1%")
strComputer = Replace(strComputer,"u","%ÿ:~20,1%")
strComputer = Replace(strComputer,"v","%ÿ:~21,1%")
strComputer = Replace(strComputer,"x","%ÿ:~22,1%")
strComputer = Replace(strComputer,"y","%ÿ:~23,1%")
strComputer = Replace(strComputer,"w","%ÿ:~24,1%")
strComputer = Replace(strComputer,"z","%ÿ:~25,1%")
strComputer = Replace(strComputer,"A","%ÿ:~26,1%")
strComputer = Replace(strComputer,"B","%ÿ:~27,1%")
strComputer = Replace(strComputer,"C","%ÿ:~28,1%")
strComputer = Replace(strComputer,"D","%ÿ:~29,1%")
strComputer = Replace(strComputer,"E","%ÿ:~30,1%")
strComputer = Replace(strComputer,"F","%ÿ:~31,1%")
strComputer = Replace(strComputer,"G","%ÿ:~32,1%")
strComputer = Replace(strComputer,"H","%ÿ:~33,1%")
strComputer = Replace(strComputer,"I","%ÿ:~34,1%")
strComputer = Replace(strComputer,"J","%ÿ:~35,1%")
strComputer = Replace(strComputer,"K","%ÿ:~36,1%")
strComputer = Replace(strComputer,"L","%ÿ:~37,1%")
strComputer = Replace(strComputer,"M","%ÿ:~38,1%")
strComputer = Replace(strComputer,"N","%ÿ:~39,1%")
strComputer = Replace(strComputer,"O","%ÿ:~40,1%")
strComputer = Replace(strComputer,"P","%ÿ:~41,1%")
strComputer = Replace(strComputer,"Q","%ÿ:~42,1%")
strComputer = Replace(strComputer,"R","%ÿ:~43,1%")
strComputer = Replace(strComputer,"S","%ÿ:~44,1%")
strComputer = Replace(strComputer,"T","%ÿ:~45,1%")
strComputer = Replace(strComputer,"U","%ÿ:~46,1%")
strComputer = Replace(strComputer,"V","%ÿ:~47,1%")
strComputer = Replace(strComputer,"X","%ÿ:~48,1%")
strComputer = Replace(strComputer,"Y","%ÿ:~49,1%")
strComputer = Replace(strComputer,"W","%ÿ:~50,1%")
strComputer = Replace(strComputer,"Z","%ÿ:~51,1%")
strComputer = Replace(strComputer," ","%ÿ:~52,1%")
strComputer = Replace(strComputer,"@","%ÿ:~53,1%")
esc.write(strComputer)
esc.writeblanklines(1) 'proxima linha
End if
Next
esc.close 'fecha

txtNotes.value = txtNotes.value & vbCrLf & "Cryptage OK "
msgbox "Cryptage OK"
end if

end Function
'--------------------------------------------------------------------------------
sub Sobre
msgbox "DBatchEncrypt Créé par Delmar Grande traduit par SachaDee" & vbCrLf & "Visitez le Forum DBatchScript" & vbCrLf & "http://dbatchscript.forumeiros.com/" & vbCrLf & "Visitez le forum Bbat" & vbCrLf & "http://bbat.forumeiro.com/"
end sub

'--------------------------------------------------------------------------------

Sub Sleep(strSeconds)
strCmd = "%COMSPEC% /c ping -n " & strSeconds & " 127.0.0.1>nul"
Set objShell=CreateObject("Wscript.shell")
objShell.Run strCmd,0,1
End Sub

'--------------------------------------------------------------------------------
</SCRIPT>


<body>





<center onselectstart="return false" ondragstart="return false" oncontextmenu="return false">
<marquee DIRECTION="UP" HEIGHT="200" WIDTH="350" SCROLLAMOUNT="3" onselectstart="return false">
<center><font face="Comic sans MS" color=blue size=10> DBatchEncrypt </font></center>



<center><font face="Comic sans MS" color=blue>Cryptografa seu batch[/b]</font></center>

<center><font face="Comic sans MS" color=blue>DBatchEncrypt By Delmar Grande®

</font></center>
<center></center>
</marquee>
</center>
















<table width="100%" >
<tr>
<td width="50%" valign="top">
<font color=white>Choisir le fichier à crypter</font>


<input name="txtFile" size ="40" type="file" id="txtFile">
<BR><BR>

<input name="txtFileOut" type="file" id="txtFileOut" STYLE="display:none;position:none">
</td>
<td width="50%" valign="center">
<font face="Comic sans MS" color=blue size=6> DBatchEncrypt </font>

<input id=runbutton1 class="button" type="button" value="Encrypt" name="cmdEncode" onClick="cmdEncode">
<input id=runbutton2 class="button" type="button" value="Sobre o Arquivo" name="Sobre" onClick="Sobre">
</td>
</tr>
</table>

<BR>

Mensagem:





<center><textarea name="txtNotes" cols="86" rows="4" ></textarea></center>



</body>





______________________________________________________
Visiter le site web du posteur
Répondre en citant
Message [R] Masquer un mot de passe 
Tu peux également mettre tes codes dans une clé de registre, que tu récupèeres ensuite avec un for /f.

ç'est suffisant pour decourager un utilisateur lambda.

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [R] Masquer un mot de passe 
Ah je viens de penser aux métadonnées !
Code:
echo USER > user.txt:admin
echo PASS > pass.txt:admin

et ensuite
Code:
set /p user=<user.txt:admin
set /p pass=<pass.txt:admin

si ça peut aider




______________________________________________________
Visiter le site web du posteur
Répondre en citant
Message [R] Masquer un mot de passe 
Merci beaucoup pour vos réponses, Skywalker et sachadee Smile ! Elles m'aident beaucoup Wink !

Même si j'utilise régulièrement le batch pour faire de petites tâches, j'avoue que je ne connais pas bien la programmation en tant que telle.

@sachadee : Si j'ai bien compris le principe tu me suggères de "cacher" manuellement les identifiants dans le registre, en créant / modifiant une clé quelconque ; puis de demander au batch de les lire et les stocker provisoirement en mémoire, le temps de l'exécution ? Ça me plait bien comme idée Smile ! Il y aurait même moyen de "crypter" les identifiants par un cryptage simple, puis de le décrypter à l'exécution ! Je vais me pencher sur la question Wink !

@Skywalker : J'ai essayé le "brouilleur", mais pour une raison que j'ignore, de nombreuses lignes restent totalement lisibles. Mais l'idée est vraiment intéressante Smile ! Merci beaucoup pour cette astuce sur les métadonnées, je ne la connaissais pas du tout ! C'est une très bonne idée également Smile !

Hmmmm... Vous m'avez donné de bonnes pistes, et je vous en remercie Smile ! Je vais tester l'une et l'autre de vos solutions, et je reviendrai vous donner quelques nouvelles Wink !

Merci encore !



Répondre en citant
Message [R] Masquer un mot de passe 
Hello,

Je penses que le sujet est résolu. N'hésites pas à poster ton code par la suite, ça m'intéresse beaucoup.

Cdlt, AlonsO.




______________________________________________________
Une question ? N'hésitez pas à me contacter par Message Privé ou via le topique concerné.
Visiter le site web du posteur
Message [R] Masquer un mot de passe 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch