J'ai suivi un cours de piratage éthique. Une partie du cours consiste à créer un script Python qui trouve le mot de passe pour un fichier zip verrouillé, à partir d'un fichier texte de liste de mots de passe (espérons que cela a du sens!) - itérativement à travers un fichier texte essayant chaque mot de passe. Le script ne fonctionne pas, ne fait pas d'erreur, et l'instructeur dit "bon, ça marche pour moi" - pas utile. Voici le script:Le script de piratage éthique ne fonctionne pas - aucun message d'erreur
import optparse
import zipfile
from threading import Thread
def extract_zip(zfile, password):
try:
zfile.extractall(pwd=password)
print("[+] Password Found: " + password + '\n')
except:
pass
def main():
parser = optparse.OptionParser("usage %prog "+\
"-f <zipfile> -d <dictionary>")
parser.add_option('-f', dest='zname', type='string',\
help='specify zip file')
parser.add_option('-d', dest='dname', type='string',\
help='specify dictionary file')
(options, arg) = parser.parse_args()
if (options.zname == None) | (options.dname == None):
print(parser.usage)
exit(0)
else:
zname = options.zname
dname = options.dname
zFile = zipfile.ZipFile(zname)
passFile = open(dname)
for line in passFile.readlines():
password = line.strip('\n')
t = Thread(target=extract_zip, args=(zFile, password))
t.start()
if __name__ == '__main__':
main()
Les deux autres fichiers sont un fichier texte avec une liste de mots de passe et un mot de passe fichier zip protégé où l'un des mots de passe du fichier de texte déverrouiller. Dans le cours il y a un fil mentionnant que optparse est déprécié, et argparse est son remplacement - mais même réécrire le script avec cela ne fonctionne pas. A défaut de fermer cette partie du cours, je cherche de l'aide pour savoir pourquoi cela ne fonctionne pas.
Merci d'avance pour toute aide à ce sujet.
Avez-vous débogué votre débogage de code à la condition if responsable de l'extraction du mot de passe et voyez que vous pourriez faire une erreur de lecture de fichier. –
Je ne sais pas comment faire ça - encore. J'ai essayé d'utiliser un débogueur mais c'est au-delà de ma connaissance en ce moment.En regardant le code, est le (options, arg) le problème? – Steve
installez pycharm et allez sur youtube pour le débogage en python c'est facile. –