• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd w programie python.

Object Storage Arubacloud
0 głosów
160 wizyt
pytanie zadane 22 lipca 2020 w Python przez PanPrezes Obywatel (1,520 p.)

Mam błąd i nie mam zielonego pojęcia dlaczego on wystąpił

import os
import socket
import re
import sys
import pickle

var_0 = 'w'

var_1 = 's'
var_2 = 'a'
var_3 = 'd'
var_4 = 'f'

chars = 0

user_input_1 = 'Brak danych'

username = 'Brak danych'
password = 'Brak danych'

attempts = 0

choice_0 = 't'
choice_1 = 'n'

error = 0

brf_break = False
solved = False

def brf():

    course = ['liczby', 'małe litery', 'duże litery']
    nums = True
    s_chars = True
    b_chars = True
    special = False

    clear()
    print()
    print("Minimalna liczba znaków w haśle do złamania: " + str(chars))
    print("Łamane hasło może zawierać: " + str(course))
    print()
    print("W - Liczby - " + str(nums))
    print("S - Małe litery - " + str(s_chars))
    print("A - Duże litery - " + str(b_chars))
    print("D - Znaki specjalne - " + str(special))
    print("")
    print("F - Dalej")
    print()
    user_input_0 = input("konfiguracja brf> ")
    print()
    print("wpisz link do strony z na której chcesz użyć ataku.")
    print()
    user_input_0 = input("strona> ")
    if "http://" in user_input_0 == False or "https://" in user_input_0 == False:
        print("Link jest nieprawidłowy!")
        user_input_0 = input("strona> ")
        brf()
    print()
    print("Wpisz nazwę lub e-mail użytkownika która ma mieć złamane hasło.")
    print("(Zależnie od strony)")
    print()
    user_input_1 = input("nazwa/email> ")
    during_brf()

def during_brf():
    while brf_break == False or solved == False:
        clear()
        print()
        print("Minimalna liczba znaków w haśle do złamania: " + str(chars))
        print("Łamane hasło może zawierać: " + str(course))
        print("Liczba prób zgadnięcia: (" + str(attempts) + ")")
        print()
        print("W - Liczby - " + str(nums))
        print("S - Małe litery - " + str(s_chars))
        print("A - Duże litery - " + str(b_chars))
        print("D - Znaki specjalne - " + str(special))
        print("")
        print("F - Przerwij")
        print()
        user_input_0 = input("Łamanie hasła w toku> ")
    if brf_break == True:
        print("Przerwano łamania hasła!")
    elif solved == True:
        print("Złamano hasło!")

def brf_end():

    global course

    clear()
    print()
    print("Minimalna liczba znaków w haśle do złamania: " + str(chars))
    print("Łamane hasło może zawierać: " + str(course))
    print("Liczba prób zgadnięcia: (" + str(attempts) + ")")
    print("Ostatnio złamane hasło: " + str(password))
    print("Nazwa/email złamanego hasła: " + username)
    print()
    print("W - Liczby: " + str(nums))
    print("S - Małe litery: " + str(s_chars))
    print("A - Duże litery: " + str(b_chars))
    print("D - Znaki specjalne: " + str(special))
    print()
    print("Kliknij enter aby powrócić do menu głównego.")
    print()
    user_input_0 = input("Koniec brf> ")


def clear(): 
    if name == 'nt': 
        _ = system('cls') 
    else: 
        _ = system('clear') 

def menu():
    
    global error
    global chars
    
    print()
    print("BRUTE FORCE")
    print()
    print("W - Wykonaj atak BRF")
    print("S - Opcje")
    print("A - Wyjdź")
    print()
    user_input_0 = input("menu> ")

    if user_input_0 == var_0:
        clear()
        print("Czy chcesz rozpocząć atak bez zmiany ustawień?")
        print("Przy pierwszym użyciu lub nie zapisaniu zmian lepiej zmienić ustawienia!")
        print()
        user_input_0 = input("t/n> ")
        if user_input_0 == choice_0:
            print()
            during_brf()
        elif user_input_0 == choice_1:
            print()
            print("Jaka ma być minimalna długość hasła które chcesz złamać?")
            print("W - 4")
            print("S - 6")
            print("A - 8")
            user_input_0 = input("liczba> ")
            if user_input_0 == var_0:
                chars = chars + 4
                clear()
                brf()
            elif user_input_0 == var_1:
                chars = chars + 6
                clear()
                brf()
            elif user_input_0 == var_2:
                chars = chars + 8
                clear()
                brf()

    elif user_input_0 == var_1:

        global s_chars

        clear()
        print("USTWIENIA")
        print()
        #print("W - Małe litery: " + str(s_chars))
        #print("S - Duże litery: " + str(b_chars))
        #print("A - Cyfry: " + str(nums))
        #print("D - Znaki specjalne: " + str(special))
        print("E - Minimalna liczba znaków w haśle: " + str(chars))
        print("Q - Ostatnio złamane hasło: " + str(password))
        print("R - E-mail/nazwa użwytkownika ostatnio złamanego hasła: " + str(user_input_1))
        print()
        print()
        print("Naciśnij enter aby wrócić do menu głównego.")
        print()
        user_input_0 = input("ustawienia> ")

        pickle.dump(chars, password, user_input_1, open("ustawienia.dat" "wb"))

        clear()
        menu()
    elif user_input_0 == var_2:
        print()
        exit()
    elif user_input_0 != var_0 or user_input_0 != var_1 or user_input_0 != var_2:
        clear()
        error = error + 1
        print("(" + str(error) + ") Nie ma takiej opcji!")
        menu()

def exit():
    print()

menu()

  File "c:/Users/ppp/Desktop/python BruteForce/brute_force.py", line 195, in <module>
    menu()
  File "c:/Users/ppp/Desktop/python BruteForce/brute_force.py", line 131, in menu
    clear()
  File "c:/Users/ppp/Desktop/python BruteForce/brute_force.py", line 111, in clear
    if name == 'nt':
NameError: name 'name' is not defined

komentarz 22 lipca 2020 przez adrian17 Ekspert (344,860 p.)
Na boku... co to za wszystkie zmienne globalne? Czemu nie przekazujesz argumentów do funkcji? :(
komentarz 22 lipca 2020 przez PanPrezes Obywatel (1,520 p.)
zrobiłem na szybko zaraz poprawię

1 odpowiedź

0 głosów
odpowiedź 22 lipca 2020 przez DawidK Nałogowiec (37,910 p.)


Jest napisane:wink

linijka 111 - zmienna "name" nie została zdefiniowana

komentarz 23 lipca 2020 przez DawidK Nałogowiec (37,910 p.)

Pytanie zostało zadane na priv, ale myśle, że odpowiedż może się jeszcze komuś przydać. Jeżeli chcesz poprawić ten kod to polecałbym Ci go rozrysować - łatwiej namierzyć nieużywane zmienne i popakować to w jakieś funkcje z parametrami.

Początek (do dokończenia) może wyglądac mniej więcej tak jak na rysunku poniżej.

Pod tym linkiem masz ten plik w formacie .drawio

Ściągnij plik i otwórz przez stronę https://app.diagrams.net/

Będziesz mógł go edytować.

 

Podobne pytania

0 głosów
1 odpowiedź 171 wizyt
pytanie zadane 25 czerwca 2020 w Python przez PanPrezes Obywatel (1,520 p.)
0 głosów
1 odpowiedź 194 wizyt
pytanie zadane 11 września 2017 w Python przez ThyRavenWings Nowicjusz (190 p.)
+1 głos
1 odpowiedź 482 wizyt
pytanie zadane 17 grudnia 2019 w Python przez Marak123 Stary wyjadacz (11,190 p.)

92,572 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...