makaron Opublikowano 19 Grudnia 2010 Zgłoś Opublikowano 19 Grudnia 2010 Witam, Próbuje wygenerować słownik brute force i znalazłem kawałek kodu z Pythona do tego zadania. Autor napisał że aby dostosować generator do swoich potrzeb musimy zmodyfikować kilka zmiennych ale niestety nie mam pojęcia jak to zrobić. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
stark Opublikowano 19 Grudnia 2010 Zgłoś Opublikowano 19 Grudnia 2010 Zdobądź pojęcie. Polecam odpowiednią literaturę. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
makaron Opublikowano 20 Grudnia 2010 Zgłoś Opublikowano 20 Grudnia 2010 Zdobądź pojęcie. Polecam odpowiednią literaturę. Dzieki za rzeczowa odpowiedz. Niemam pojecia o programowaniu dlatego zapytalem. Domniemywam ze moje pytanie jest proste gdyz kod jest juz napisany a jedynie co trzeba zmienic to warosci odpowiedzialne za num i low ale probowalem i nie wychodzilo. Dla kogos kto zna sie choc troche nie jest problemem pokazanie gdzie nalezy wpisac te 2-3 linje lub je zmodyfikowac. W sumie mogles odpisac www.google.com zajelo by to mniej znakow. Po drugie nie mam zamiaru uczyc sie i zobywac wiedze w tym kierunku gdyz potrzebuje tylko prostej informacji. To tak jak by ktos kupil samochod i musial by umiec zmienic rozrzad, skrzynie , zrobic FW update na ECU.... ale jak ktos zapyta jak wymienic H7 lub dolac olej/plyn do chlodnicy to mozna mu odpisac i dac pare hintow , gdyz to jest w miare proste w wiekszosci pojazdow osobowych. PS. Sorki za znaki ale nie pisze z pracy. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
m4r Opublikowano 20 Grudnia 2010 Zgłoś Opublikowano 20 Grudnia 2010 To może chociaż kod gdzieś zamieścisz? Nie jesteśmy wróżkami, żeby zgadnąć co za źródło masz na myśli i które linie zmienić. Hint - tutaj w treści postu code //jeżeli mało kodu codebox //jeżeli dużo koduEwentualnie w jakimś zipie/rarze/tgz na serwerze do pobrania. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
makaron Opublikowano 20 Grudnia 2010 Zgłoś Opublikowano 20 Grudnia 2010 (edytowane) Sorki cos sie pokpilo gdyz powinien byc link do tego kodu juz w pierwszym poscie. def xselections(items, n) _linenums:0'>f=open('wordlist', 'w')def xselections(items, n): if n==0: yield [] else: for i in xrange(len(items)): for ss in xselections(items, n-1): yield [items]+ss# Numbers = 48 - 57# Capital = 65 - 90# Lower = 97 - 122numb = range(48,58)cap = range(65,91)low = range(97,123)choice = 0while int(choice) not in range(1,8): choice = raw_input(''' 1) Numbers 2) Capital Letters 3) Lowercase Letters 4) Numbers + Capital Letters 5) Numbers + Lowercase Letters 6) Numbers + Capital Letters + Lowercase Letters 7) Capital Letters + Lowercase Letters : ''')choice = int(choice)poss = []if choice == 1: poss += numbelif choice == 2: poss += capelif choice == 3: poss += lowelif choice == 4: poss += numb poss += capelif choice == 5: poss += numb poss += lowelif choice == 6: poss += numb poss += cap poss += lowelif choice == 7: poss += cap poss += lowbigList = []for i in poss: bigList.append(str(chr(i)))MIN = raw_input("What is the min size of the word? ")MIN = int(MIN)MAX = raw_input("What is the max size of the word? ")MAX = int(MAX)for i in range(MIN,MAX+1): for s in xselections(bigList,i): f.write(''.join(s) + '\n') Znalazlem tez drugi ktory juz zmodyfikowalem ale z tego co sie orientuje ten pierwszy jest w stanie generowac hasla szybciej. to code do drugiego. #! /usr/bin/python# author: Luke Chenimport sysfrom optparse import OptionParserdef main(): characters = "0123456789abcdefghijklmnopqrstuvwxyz" parser = OptionParser( description = "Dictionary Generator", version = "1.0" ) parser.add_option( "-f", "--fast", action = "store_true", help = "fast mode, generate only sequence and repeating characters like ccccc and 7654" ) parser.add_option( "-n", "--number", action = "store_true", help = "only numeral, 0-9" ) parser.add_option( "-a", "--alphabet", action = "store_true", help = "only alphabet, a-z" ) parser.add_option( "-c", "--custom", action = "store", help = "from custom characters" ) parser.add_option( "-l", "--length", action = "store", type = int, default = 6, help = "length of each word in the dictionary" ) parser.add_option( "-o", "--output", metavar = "FILE", help = "write output to FILE" ) ( options, args ) = parser.parse_args() if options.number and options.alphabet: parser.error( "options -n and -a are mutually exclusive" ) elif options.number: characters = "0123456789" elif options.alphabet: characters = "abcdefghijklmnopqrstuvwxyz" elif options.custom: characters = options.custom # initialize for index in range( options.length ): combination.append( characters[ 0 ] ) if options.fast: # fast mode fast( characters, options.length ) else: normal( characters, options.length ) def fast( characters, length ): global combination, result for i in range( len( characters )): for j in range( length ): combination[ j ] = characters[ i ] print "".join( combination ) for index in range( len( characters ) - length + 1 ): reverse = characters[ index : index + length ] print reverse print reverse[ :: -1 ]def normal( characters, length ): global combination characters += ';' # ';' is the ending symbol while combination[ 0 ] != ';': print "".join( combination ) index = length - 1 # current digit ( from right to left ) # carrying while combination[ index ] == characters[ -2 ] and index != 0: combination[ index ] = characters[ 0 ] index = index - 1 # increment combination[ index ] = characters[ characters.find( combination[ index ] ) + 1 ] combination = []if __name__ == "__main__": main() Pojawil sie tez problem gdyz nie potrzebuje stringow z np. 00000000000a 00000000000b itp Wie ktos moze jak zmodyfikowac obojetnie ktory z nich abym mial max 3 te same znaki z rzedu np: 000abcdef12 aaa123456789 aaabbbcccddd itp? Zajmuje to szmat czasu a wiem ze te hasla beda bezcelowe. Update: Juz wiem gdzie zmieniac wartosci: # Numbers = 48 - 57 # Capital = 65 - 90 # Lower = 97 - 122 dla kazdego to n+1 czyli a-f to 97-103 itd dla Cap i numb ale nadal niemam pojecia jak zmodyfikowac ten kod aby nie generowal tych 10-ciu takich samych znakow z rzedu. Edytowane 23 Grudnia 2010 przez makaron Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość marantz5003 Opublikowano 28 Stycznia 2012 Zgłoś Opublikowano 28 Stycznia 2012 Witam co robię źle że program nie działa? :( powinno wyskoczyć "witaj adam" w programie Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
kfgz Opublikowano 28 Stycznia 2012 Zgłoś Opublikowano 28 Stycznia 2012 (edytowane) Tzw. "czeski błąd". Popraw jedną literkę. Tak, tą w ostatniej linijce. Edytowane 28 Stycznia 2012 przez kfgz Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...