· 6 years ago · Nov 05, 2019, 05:04 PM
1#script made by root senpai.
2import threading
3import time, sys, re, os, random ,string, requests, base64, logging
4from selenium import webdriver
5from selenium.webdriver.common.proxy import *
6from selenium.webdriver.support.ui import Select
7from selenium.webdriver.support.ui import WebDriverWait
8from selenium.webdriver.support import expected_conditions as EC
9from selenium.common.exceptions import NoSuchElementException
10from selenium.webdriver.common.action_chains import ActionChains
11from selenium.webdriver.common.by import By
12from urllib3.connectionpool import log as urllibLogger
13from selenium.webdriver.remote.remote_connection import LOGGER as seleniumLogger
14from PIL import Image
15from sys import stdout
16from shutil import move
17
18api = ''
19
20if len(sys.argv) < 2:
21 print ("Usage: python "+sys.argv[0]+" <proxy-list> <threads>")
22 sys.exit()
23
24threads = int(sys.argv[2])
25
26workers = 0
27
28timeout = 15
29basewidth= 210
30
31def crop(image_path, coords, saved_location):
32 image_obj = Image.open(image_path)
33 cropped_image = image_obj.crop(coords)
34 cropped_image.save(saved_location)
35
36def resize(image, location):
37 img = Image.open(image)
38 wpercent = (basewidth/float(img.size[0]))
39 hsize = int((float(img.size[1])*float(wpercent)))
40 img = img.resize((basewidth,hsize), Image.ANTIALIAS)
41 img.save(location)
42
43def randomString(info,stringLength):
44 if info == 'email':
45 letters = string.ascii_letters
46 return ''.join(random.choice(letters) for i in range(stringLength))
47 if info == 'pass':
48 letters = string.ascii_letters + string.digits
49 return ''.join(random.choice(letters) for i in range(stringLength))
50
51def gen(workers):
52 while 1:
53
54 try:
55 maxy = 0
56 br = 0
57
58 line = open(sys.argv[1], "r").readlines()
59 seleniumLogger.setLevel(logging.WARNING)
60 urllibLogger.setLevel(logging.WARNING)
61 chrome_options = webdriver.ChromeOptions()
62 #chrome_options.add_argument('--headless')
63 chrome_options.add_argument('--proxy-server=%s' % random.choice(line))
64 chrome_options.add_experimental_option('excludeSwitches', ['enable-logging'])
65 #chrome_options.add_argument("--user-data-dir=/Users/whyro/AppData/Local/Google/Chrome/User Data/Default")
66 driver = webdriver.Chrome("chromedriver",options=chrome_options)
67 url = 'https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=13&rver=7.1.6819.0&wp=MBI_SSL&wreply=https:%2f%2faccount.xbox.com%2fen-au%2faccountcreation%3freturnUrl%3dhttps:%252f%252fwww.xbox.com:443%252fen-AU%252f%26ru%3dhttps:%252f%252fwww.xbox.com%252fen-AU%252f%26rtc%3d1&lc=3081&id=292543&aadredir=1'
68
69 phone = 0
70
71 driver.get(url)
72 WebDriverWait(driver, timeout).until(EC.presence_of_all_elements_located((By.ID, 'signup')))
73 driver.find_element_by_id('signup').click()
74 WebDriverWait(driver, timeout).until(EC.presence_of_all_elements_located((By.ID, 'liveSwitch')))
75 time.sleep(0.5)
76 driver.find_element_by_id('liveSwitch').click()
77 WebDriverWait(driver, timeout).until(EC.presence_of_all_elements_located((By.ID, 'MemberName')))
78 email = "%s" % randomString('email',15)
79 passs = "%s" % randomString('pass',10)
80 driver.find_element_by_id('MemberName').send_keys(email)
81 driver.find_element_by_id('iSignupAction').click()
82 WebDriverWait(driver, timeout).until(EC.presence_of_all_elements_located((By.ID, 'PasswordInput')))
83 driver.find_element_by_id('PasswordInput').send_keys(passs)
84
85 WebDriverWait(driver, timeout).until(EC.presence_of_all_elements_located((By.ID, 'iSignupAction')))
86 driver.find_element_by_id('iSignupAction').click()
87 WebDriverWait(driver, timeout).until(EC.presence_of_all_elements_located((By.ID, 'LastName')))
88 driver.find_element_by_id('FirstName').send_keys('root')
89 driver.find_element_by_id('LastName').send_keys('senpai')
90 WebDriverWait(driver, timeout).until(EC.presence_of_all_elements_located((By.ID, 'iSignupAction')))
91 driver.find_element_by_id('iSignupAction').click()
92 WebDriverWait(driver, timeout).until(EC.presence_of_all_elements_located((By.ID, 'BirthYear')))
93 select = Select(driver.find_element_by_id('BirthDay'))
94 select.select_by_visible_text('3')
95 selectt = Select(driver.find_element_by_id('BirthMonth'))
96 selectt.select_by_visible_text('January')
97 selecttt = Select(driver.find_element_by_id('BirthYear'))
98 selecttt.select_by_visible_text('1995')
99 driver.find_element_by_id('iSignupAction').click()
100 try:
101 sleep.time(2)
102 WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.ID, "wlspispHipControlButtonsContainer")))
103 driver.close()
104
105
106 break
107 except KeyboardInterrupt:
108 print('thread: '+str(workers)+' stopping!!')
109 driver.close()
110 os.kill(os.getpid(),9)
111
112
113 except:
114 WebDriverWait(driver, timeout).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "img[id*='wlspispHIPBimg']")))
115 while 1:
116 try:
117 capnot = 0
118 if maxy >= 4:
119 print('thread: '+str(workers)+' max cap!!!')
120 maxy = 0
121 phone = 1
122 break
123 ssname = ""+randomString('email',20)+".png"
124 driver.save_screenshot(ssname)
125 crop(ssname, (270, 430, 460, 535), ssname)
126 #print(str(os.path.getsize(ssname)))
127 if os.path.getsize(ssname) < 5000:
128 time.sleep(3)
129 os.remove(ssname)
130 maxy += 1
131 continue
132 time.sleep(1)
133 with open(ssname, "rb") as h:
134 my_string = base64.b64encode(h.read())
135 payload = {
136 'method': 'base64',
137 'key': ''+api+'',
138 'body': my_string,
139 'submit': 'Upload and get the ID'
140 }
141 resp = requests.post('https://2captcha.com/in.php',data=payload)
142 #print(resp.text)
143 id = resp.text.replace("OK|", "")
144 os.remove(ssname)
145 while 1:
146 if maxy == 2:
147 maxy = 0
148 phone = 1
149 break
150 capp = requests.get('https://2captcha.com/res.php?key='+api+'&action=get&id='+id+'')
151 sys.stdout.write('thread: '+str(workers)+' waiting for cap...\n')
152 if capp.text != "CAPCHA_NOT_READY":
153 if capp.text == "ERROR_CAPTCHA_UNSOLVABLE":
154 capnot = 1
155 break
156 br = 0
157 print('thread: '+str(workers)+' received cap!!!\n')
158 ff = capp.text.replace("OK|", "")
159 driver.find_element_by_css_selector("input[id*='wlspispSolutionElement']").send_keys(ff.replace(" ", ""))
160 time.sleep(1)
161 driver.find_element_by_id('iSignupAction').click()
162 maxy += 1
163 try:
164 sleep.time(2)
165 WebDriverWait(driver, 10).until(EC.presence_of_all_elements_located((By.ID, "wlspispHipControlButtonsContainer")))
166 phone = 1
167 except:
168 phone = 0
169 if phone == 1:
170 br = 1
171 elif phone == 0:
172 WebDriverWait(driver, timeout).until(EC.presence_of_all_elements_located((By.ID, 'Accept')))
173 br = 1
174 break
175 if capnot == 1:
176 maxy += 1
177 continue
178 if br == 1:
179 break
180 except KeyboardInterrupt:
181 print('thread: '+str(workers)+' stopping!!')
182 driver.close()
183 os.kill(os.getpid(),9)
184
185
186 except Exception as e:
187 #print(e)
188 maxy += 1
189
190
191 time.sleep(1)
192 continue
193 if phone == 1:
194 driver.close()
195
196
197 break
198
199 maxtry = 0
200 while 1:
201 try:
202 if maxtry >= 2:
203 break
204 WebDriverWait(driver, timeout).until(EC.presence_of_all_elements_located((By.ID, 'Accept')))
205 driver.implicitly_wait(15)
206 time.sleep(1)
207 driver.find_element_by_id('Accept').click()
208 WebDriverWait(driver, timeout).until(EC.presence_of_all_elements_located((By.ID, "uhfCatLogoButton")))
209 except KeyboardInterrupt:
210 print('thread: '+str(workers)+' stopping!!')
211 driver.close()
212 os.kill(os.getpid(),9)
213
214
215 except:
216 maxtry += 1
217 driver.refresh()
218 continue
219
220 print('thread: '+str(workers)+' email = '+email+'@outlook.com pass = '+passs+'')
221 new = open("acc.txt","a")
222 new.write(""+email+"@outlook.com:"+passs+"\n")
223 new.close()
224 driver.implicitly_wait(15)
225 time.sleep(1)
226 driver.get('https://login.live.com/logout.srf?rver=7.1.6819.0&lc=3081&id=292543&ru=https%3a%2f%2fwww.xbox.com%2fen-AU%2f')
227 driver.close()
228 break
229
230 except KeyboardInterrupt:
231 print('thread: '+str(workers)+' stopping!!')
232 driver.close()
233 os.kill(os.getpid(),9)
234
235
236 except Exception as e:
237 print('thread: '+str(workers)+' failed restarting!!')
238 print(e)
239 driver.close()
240
241
242 pass
243
244def worker(workers):
245 while True:
246 try:
247 gen(workers)
248 except KeyboardInterrupt:
249 os.kill(os.getpid(),9)
250 except:
251 pass
252
253for l in range(threads):
254 try:
255 workers += 1
256 t = threading.Thread(target=worker, args=(workers,))
257 t.start()
258 time.sleep(1)
259 except KeyboardInterrupt:
260 os.kill(os.getpid(),9)
261 except:
262 pass