python etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
python etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

18 Mart 2015 Çarşamba

PyQt ile Responsive Arayüz Yapma

    Responsive'dan kastım componentleri güncellenmesi, anlık olarak, ekranda diğer componentleri aksatmadan işlemler yapabilmenizdir.
Javada bu tarz işlemleri yaparkene mecburen thread kullanıyorduk. Bir süredir Python'la ugrasıyordum. Geçenlerde arkadaşın Github reposundan forkladığım, komut satırında çalışan dosya indirmeye yarayan Python ile yazılmış uygulamaya bi ayar çekeyim dedim. Forklayıp ayrı bir python dosyası şeklinde arayüzlü versiyonu ekledim.

Kullandığım componentlerden biride Progressbar idi. Malum dosyanın yüzde kaçının indiğini kullanıcıya göstermek lazım. Az araştırdım genelde progressbar ile ilgili iş yapanlar ya thread yada timer kullanıyordu.

Sonrasında şu büyülü satırı buldum. Ne thread ne başka birşeye gerek kalmadan tek satırla işimizi şu şekilde halledebiliriz.

13 Kasım 2014 Perşembe

Twitter Brute Force Tool - TwitterBrute

     Blogun ilk yazılarında python'un mechanize modülünden bahsetmiştim. Mechanize modülünü araştırırken incelediğim tutorial'larda yapılanlar twitter için bot yazmak oluyordu. Basit şekilde login olup tweet atabilecek scriptlerdi. Yapılanlara görünce hemen kafada şimşek çaktı mı desem ampul yandı mı desem. Ampul bize ters aga!. Şimşek çaktı iyi. Neyse ilk olarak yapılan işlem login kısmı olduğu için dedim niye yazmıyoz lan bunun için üç satır kod. Ardına da kullanıcıdan alınan password listesini login olana kadar denerik. Al sana brute force.

     Şu aşamada 9 tane User Agent ekledim her seferinde random seçip kullanıcı girişini yapıyor. Tool komut satırında çalışıyor. Aldığı 3 parametre var.
-u veya --username  --> verilen kullanıcı için işlemi gerçekleştiriyor
-p veya --passlist     --> verilen wordlist için şifreleri teker teker deniyor
-s veya --sleep         --> User lock gibi durumlardan kaçınmak parametreye sn cinsinden bir argüman girebilirsiniz. 1 sn'in altında bir değer girmek için nokta ile ayrılmış float değer girebilirsiniz. (0.5 veya 0.8) Herhangi bir bekleme yapmak istemiyorsanız 0 girebilirsiniz.

27 Eylül 2014 Cumartesi

Python - "UnicodeDecodeError: 'ascii' codec can't decode" Hatası ve Çözümü

    Windows sistemlere python için harici modül kurulurken kolaylık açısından pip kullanılır -pip install modulName-
Bunun dışında indirilen paketlerden de setup dosyası aracılığıyla kurulabilir -python setup.py install-
Bu yazıda her iki yöntemde kullanılarak kurulmak istenen modüller için karşılaşılan bir hatanın çözümü anlatılacaktır.
Çözüm için bayağı uğraşmak zorunda kalmıştım nihayetinde çözümü çekik gözlü bir abimizin sitesinde buldum. Araştırmalar sırasında herhangi bir Türkçe kaynağa rastlayamadım. Belki bu yazı benden sonrakiler için derman olur.

Hatayı araştırırken son satırda yer alan "UnicodeDecodeError: 'ascii' codec can't decode byte 0xf6 in position 2: ordinal not in range(128)" dan yola çıkmıştım.

26 Eylül 2014 Cuma

Python ile URL Crawler - mechanize Modülü

    Pythondaki mechanize modülü tedavülde Emulating a Browser diye geçiyor. Bu modülü kullanarak en basitinden bir web sayfasındaki html formlarını doldurup işlemler yapabilirsiniz. Sonraki yazıların birinde mechanize modülü ile twitter ve facebook login sayfalarını kullanarak Brute Force yapan bir tool ekleyebilirim.
Mechanize modülünü sisteminizde pip yüklü ise pip install mechanize yazarak, pip yüklü değilse şu adresten sisteminize uygun halini (tar.gz veya rar) indirebilirsiniz. İndirdikten sonra mechanize klasörünü gelip python setup.py install yazarak modülü sisteme yükleme işlemini gerçekleştirebilirsiniz. Başlayalım;
import mechanize # bildiğiniz gibi modülü import ediyoruz kullanabilmek için
url = "www.ornekadres.com" # linklerini alacağımız sitenin adresi
mech = mechanize.Browser() # mech objemizi olusturduk
mech.open(url) # belirlediğimiz adrese gidiyoruz.

for link in mech.links():

    print "[*] text: %s -- url: %s " %(link.text,link.url)
buradaki link.text <a> </a> tagları arasındaki texti veriyor, link.url ise hostname'den sonraki url'i veriyor bize.