Page 1 sur 1

[R] Wifi Passwords Recovery by Hackoo

Posté : jeu. 08 mars 2018 13:42
par Hackoo
Salut tout le monde :)
Je suis entrain de "traduire" mon batch Wifi Passwords Recovery.bat vers Autoit.
Image d'écran du batch :

Wifi Passwords Recovery.png
► Afficher le texteWifi Passwords Recovery.au3
Après la compilation je rencontre un message d'erreur qui vient je crois de la dimension du tableau ?
le message est : "Error : Array variable has incorrect number of subscripts or subcript dimension range exceeded"
Merci de votre aide ;)

Re: Wifi Passwords Recovery  

Posté : jeu. 08 mars 2018 16:47
par mdanielm
A toi de peaufiner:

#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
;#AutoIt3Wrapper_Change2CUI=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <Constants.au3>
#include <Array.au3>
#include <String.au3>
#include <MsgBoxConstants.au3>

;If IsAdmin() Then MsgBox(64, "", "The script is running with admin rights.")


Global $MyCmd = _GetDOSOutput('netsh wlan show profiles')

$sSSID = StringRegExp($MyCmd, '(?si)\s*.*?:\s*(.*?)' & @cr, 3)
Global $res = ""

For $i=1 to Ubound($sSSID)-1
;If $sSSID[$i] <> "" Then
   $GetPassword =_GetDOSOutput('netsh wlan show profiles '& chr(34) & $sSSID[$i] & chr(34) & _
   ' key=clear | find "Conten"')
   $res &= '[' & $i & '] ' & $sSSID[$i] & $GetPassword & @crlf
;EndIf
Next

FileDelete("list.txt")
FileWrite("list.txt", $res)

;---------------------------------------------------
Func _GetDOSOutput($Command)
   Local $iPid , $sOutput = ''

   $iPid = Run('"' & @ComSpec & '" /C ' & $Command,"",@SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)

   $sOutput &= StdoutRead($iPid, False, False)
   While @error = 0
      Sleep(10)
      $sOutput &= StdoutRead($iPid, False, False)
   WEnd

   Return $sOutput
EndFunc
 

Re: Wifi Passwords Recovery

Posté : jeu. 08 mars 2018 20:37
par Hackoo
Merci mdanielm pour votre rèponse :bisou:
J'ai une question : Est-ce-qu'on peut changer la couleur de l'output de la console en vert comme dans le batch ?
Sinon si vous avez des remarques a citer, je suis à votre écoute ;)
Voici le nouveau code :
► Afficher le texteWifi Passwords Recovery.au3

Re: Wifi Passwords Recovery

Posté : ven. 09 mars 2018 00:55
par orax
Pour écrire en couleur dans la console : SetConsoleTextAttribute.

Re: Wifi Passwords Recovery

Posté : ven. 09 mars 2018 05:04
par mdanielm
Ta version plante si un réseau n'a pas de mot de passe.
Après la ligne $pass=... il faut tester @error et si <> 0 , ne pas utiliser $pass[0].
Moi, je ne peux pas utiliser la console, il s'affiche:

! Your script requires Admin rights while SciTE is running at normal level.
! This means no Console output from the script will be displayed and SciTE will show the script as ended right away.

Re: Wifi Passwords Recovery

Posté : ven. 09 mars 2018 13:30
par Hackoo
orax a écrit : ven. 09 mars 2018 00:55 Pour écrire en couleur dans la console : SetConsoleTextAttribute.
@orax Merci :bisou: ça marche 5/5 cette fonction
@mdanilem
! Your script requires Admin rights while SciTE is running at normal level.
! This means no Console output from the script will be displayed and SciTE will show the script as ended right away.
J'ai le même message que vous !
Effectivement, il faut compiler cette source avec la version console pour voir le résultat :wink:
► Afficher le texteWifi Passwords Recovery.au3

Re: Wifi Passwords Recovery

Posté : ven. 09 mars 2018 17:36
par TommyDDR
Si vous voulez éviter ce message, lancer SciTe avec les droits d'administrateur.

Re: Wifi Passwords Recovery

Posté : ven. 09 mars 2018 19:53
par mdanielm
Toujours pas. Remplace. If $pass[0] <> 0. par. If @error = 0

[R] Wifi Passwords Recovery by Hackoo

Posté : mer. 14 mars 2018 09:57
par Hackoo
Voici la nouvelle version suite a vos remarques.
Alors, si quelqu'un parmi vous me teste si ça marche ou non ou bien si ce code doit-être optimisé ou non ? avant de passer en résolu
► Afficher le texteWifi Passwords Recovery