Wordlist Generator

Başlatan qwerty123, 04 Mart 2017 - 03:18:51

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

qwerty123

Arkadaşlar başlıktada görüldüğü gibi wordlist generator programı yazmaya çalışıyordum.Henüz giriş düzeyinde sayılırım.Programı yazdım ancak birde şöyle bir özellik eklemek istiyorum.Mesela kullanıcı şifrenin bir kısmını bilsin ve bilmediği kısımlara * karakterini koymasını isteyelim.Örneğin; kullanıcı bize 1***98 şifresini yazsın ve bizde tekrar soralım.O * karakteri yerine hangi karakterleri getirmek istersin diye ve sonra o karakterleri * ın yerlerine serpiştirelim.Yardımlarınızı bekliyorum.Teşekkürler.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 04 Mart 2017 - 03:23:32

import itertools
ü=input("Şifrenizin bildiğiniz kısmını giriniz: ")
sayı=ü.count("*")
sayı=int(sayı)
karakter=input("Kullanmak istediğiniz karakterleri giriniz: ")
d=''.join(karakter)
h=list(itertools.product(karakter,repeat=sayı))
for i in h:
    son=''.join(i)
    deneme=ü.replace("*",son)
    print(deneme)

Farkındayım hiç güzel bir kod değil ama bunun üzerinden hataları gösterirseniz daha iyi anlayabilirim.Kodu çalıştırıp yıldız karakterinden fazla sayıda kullanılması gerekn karakter girerseniz demek istediğimi anlarsınız.Kısacası kodum bu ve hatayı nasıl düzeltebilirim.Yada bunu tamamen çöpe atarsak bana daha kullanışlı bir kod yazabilir misiniz?


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 05 Mart 2017 - 00:04:05

Arkadaşlar o sorunu çözdüm fakat şu an yeni bir sorunum var.Eğer yıldızların arasına bir sayı girerse sorun çıkıyor.Örneğin; 1**9 şifresinde sorun yok bunu yaptırabiliyorum fakat 1*98*5**4 gibi aralara sayı girerse yaptıramıyorum.Fikri olan var mı?

natgho

Selamlar,
öncelikle kodunuzda değişken ismi olarak "ü" karakterini kullanmışsınız, bu tarz türkçe harflerden kaçınmanız gerekmektedir. PEP8 standartlarına bakarsanız "clean code" denilen kod yapısına daha hakim olursunuz.
Kodunuzun yapısına baktım, bence baştan bir algoritma kurarak, her karakteri dict içerisine koyup, bilinmeyen kısımlara ascii üzerinden tüm değerleri yazdırarak daha büyük bir worlist elde edersiniz. Opsiyonel olarak bu değerleri sınırlandırabilirsiniz. Ben şöyle bir kod yazdım, size de fikir verir umarım;
https://paste.ubuntu.com/24357789/
Hayır ben Windows Düşmanı Değilim,Bu Yüzden Linux Kullanmıyorum, Ben Sadece Benim Donanımımda At Koşturacaksa Bir Yazılım, her Adımını Bilme Sorumluluğunu Hisseden Bir Teknologtan Fazlası olmadığım İçin Linux Kullanıcısıyım.