Форум сайта python.su
Есть код по взлому архивов zip, выдает все время одно и тоже ПОМОГИТЕ
import zipfile class menu(): def start(library): print("-----Brutforce-----") print("1.Add Archive") print("2.Show Archives") print("3.Delete Achives") print("4.Hack Archives") a = int(input()) if a == 1: b = input() arch = Archive(f"{b}.zip","TEST") library.archive.append(arch) elif a == 2: def showarchive(self): library.showarchives() elif a == 3: def Format(): b=("") elif a == 4: library = Library(Brutforce("dictionary.txt")) arch = Archive(f"{a}.zip","TEST") library.archive.append(arch) library.showarchive() library.hackall() library.showarchives() archive.path = b else: print("Вы ничего не выбрали!") class Archive: def __init__(self, path, description): self.path = path self.description = description self.password = None def printer(self, library): print("Содержимое: " + self.path + "\nОписание:" + self.description + "\nПароль:" + self.password) class Brutforce: def __init__(self, dictionary): self.dictionary = dictionary def hack(self, archive): zip_file = zipfile.ZipFile(zipfilename) password = None f = open(dictionary, 'r') for line in f.readlines(): password = line.strip('\n') try: zip_file.extractall(pwd=password.encode()) print("..................") print("Result: " + password) f.close() return(True, password) except: print(password) f. close() return (False, None) class Library: def __init__(self, brutforce): self.brutforce = brutforce self.archive = [] def showarchive(self): for archive in self.arhives: archive.printer() print("") def hackall(self): for achive in archives: if archive.password == None: res = self.brutforce.hack(arhive.path) if res[0] == True: archive.password = res[1] def main(): library = Library(Brutforce("dictionary.txt")) menu.start(library) if __name__ == '__main__': main()
Отредактировано MrAeral (Июнь 2, 2021 16:15:57)
Прикреплённый файлы: 1.png (18,0 KБ)
Офлайн
def __init__(self, brutforce): ... self.archive = [] ... for archive in self.arhives:
[code python][/code]
Отредактировано PEHDOM (Июнь 2, 2021 17:49:28)
Офлайн
Да я исправил
правда теперь нарисовались другие проблемы
import zipfile class menu(): def start(library): print("-----Brutforce-----") print("1.Add Archive") print("2.Show Archives") print("3.Delete Achives") print("4.Hack Archives") a = int(input()) b = input() if a == 1: b = input() menu.start(library) elif a == 2: print(f"{b}") elif a == 3: b=("") elif a == 4: library = Library(Brutforce("dictionary.txt")) arch = Archive(f"{b}.zip","TEST") library.archive.append(arch) library.showarchive() library.hackall() library.showarchives() archive.path = b else: print("Вы ничего не выбрали!") class Archive: def __init__(self, path, description): self.path = path self.description = description self.password = None def printer(self, library): print("Содержимое: " + self.path + "\nОписание:" + self.description + "\nПароль:" + self.password) class Brutforce: def __init__(self, dictionary): self.dictionary = dictionary def hack(self, archive): zip_file = zipfile.ZipFile(zipfilename) password = None f = open(dictionary, 'r') for line in f.readlines(): password = line.strip('\n') try: zip_file.extractall(pwd=password.encode()) print("..................") print("Result: " + password) f.close() return(True, password) except: print(password) f. close() return (False, None) class Library: def __init__(self, brutforce): self.brutforce = brutforce self.archives = [] def showarchive(self): for archive in self.arhive: archive.printer() print("") def hackall(self): for achive in archives: if archive.password == None: res = self.brutforce.hack(arhive.path) if res[0] == True: archive.password = res[1] def main(): library = Library(Brutforce("dictionary.txt")) menu.start(library) if __name__ == '__main__': main()
Отредактировано MrAeral (Июнь 2, 2021 18:59:52)
Офлайн
Вот фото
Прикреплённый файлы: 2.png (10,9 KБ)
Офлайн
MrAeralПфф, а читать вы не умеете?
Да я исправил
class Library: def __init__(self, brutforce): self.archives = [] ..... library.archive.append(arch)
[code python][/code]
Отредактировано PEHDOM (Июнь 2, 2021 20:30:22)
Офлайн