• Source
    1. import requests
    2. import string
    3. import random
    4. import urllib
    5. import StringIO
    6. import gzip
    7. import json
    8. import time
    9. import hashlib
    10. import threading
    11. threads = 5
    12. sleep = 5
    13. def random_machine_id():
    14. return ''.join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for _ in range(24))
    15.  
    16.  
    17.  
    18. class register(object):
    19. def __init__(self):
    20. names = ["Ahmed", "Mohamed", "Mahmoud", "Salah", "Sayed", "Ezzat", "Khaled", "John", "Abdo", "Adel", "Nabil", "Fathy", "Omar", "Reda", "Alaa"]
    21. r = requests.get("https://mailto.space/get/inbox/229397671eaf6fa84c44ea27c68bd22a561dbc20/new").json()
    22. self.email = "%s@%s"%(r[0], r[1])
    23. self.password = random.randint(100000000000,999999999999)
    24. self.fName = random.choice(names)
    25. self.lName = random.choice(names)
    26. self.birthday = "19%s-%s-%s"%(random.randint(50,99), random.randint(1,12), random.randint(1,28))
    27. self.access_token = ""
    28. def Register(self):
    29. data = sorted([
    30. ('email',self.email),
    31. ('firstname',self.fName),
    32. ('lastname',self.lName),
    33. ('gender','M'),
    34. ('password',self.password),
    35. ('birthday',self.birthday),
    36. ('return_multiple_errors','true'),
    37. ('attempt_login','true'),
    38. ('reg_instance','84e02e60-3883-4282-8b2f-f6e22b5734b1'),
    39. ('device_id','84e02e60-3883-4282-8b2f-f6e22b5734b1'),
    40. ('family_device_id','cfa53049-7230-41ee-a275-ad24061010e7'),
    41. ('format','json'),
    42. ('skip_session_info','true'),
    43. ('advertising_id','09a81cbe-9b67-4411-953c-564dd55115dc'),
    44. ('meta_inf_fbmeta','NO_FILE'),
    45. ('locale','en_US'),
    46. ('client_country_code','US'),
    47. ('method','user.register'),
    48. ('fb_api_req_friendly_name','registerAccount'),
    49. ('fb_api_caller_class','com.facebook.registration.fragment.RegistrationCreateAccountFragment'),
    50. ('api_key','882a8490361da98702bf97a021ddc14d')
    51. ])
    52. sig = ""
    53.  
    54. for x in data:
    55. sig += str(x[0]) + "=" + str(x[1])
    56. sig += "62f8ce9f74b12f84c123cc23437a4a32"
    57. m = hashlib.md5()
    58. m.update(sig)
    59. data.append(("sig", m.hexdigest()))
    60. headers = {
    61. 'X-Fb-Connection-Type' : 'mobile.LTE',
    62. 'X-Fb-Net-Hni' : '310260',
    63. 'X-Fb-Sim-Hni' : '310260',
    64. 'X-Fb-Net-Sid' : '',
    65. 'X-Fb-Http-Engine' : 'Apache',
    66. 'Content-Type' : 'application/x-www-form-urlencoded',
    67. 'Content-Encoding' : 'gzip',
    68. 'User-Agent' : '[FBAN/FB4A;FBAV/37.0.0.0.109;FBBV/11557663;FBDM/{density=1.5,width=480,height=854};FBLC/en_US;FBCR/Android;FBMF/unknown;FBBD/generic;FBPN/com.facebook.katana;FBDV/google_sdk;FBSV/4.4.2;FBOP/1;FBCA/armeabi-v7a:armeabi;]'
    69. }
    70. out = StringIO.StringIO()
    71. with gzip.GzipFile(fileobj=out, mode="w") as f:
    72. f.write(urllib.urlencode(data))
    73. r = requests.post("https://b-api.facebook.com/method/user.register", headers=headers, data=out.getvalue())
    74. #print r.text
    75.  
    76. def Login(self):
    77. data = {
    78. 'batch': '[{"method":"POST","body":"format=json&device_id=0cd272a7-17dc-4766-958e-5b48799250bf&email='+self.email+'&password='+str(self.password)+'&credentials_type=password&generate_session_cookies=1&error_detail_type=button_with_disabled&machine_id='+random_machine_id()+'&locale=en_US&client_country_code=US&fb_api_req_friendly_name=authenticate","name":"authenticate","omit_response_on_success":false,"relative_url":"method/auth.login"},{"method":"POST","body":"query_id=10153437257771729&method=get&strip_nulls=true&query_params=%7B%220%22%3A75%2C%221%22%3A120%2C%222%22%3A480%7D&locale=en_US&client_country_code=US&fb_api_req_friendly_name=GetLoggedInUserQuery","name":"getLoggedInUser","depends_on":"authenticate","omit_response_on_success":false,"relative_url":"graphql?access_token={result=authenticate:$.access_token}"}]',
    79. 'fb_api_caller_class': 'com.facebook.katana.server.handler.Fb4aAuthHandler',
    80. 'fb_api_req_friendly_name': 'authLogin'
    81. }
    82. headers = {
    83. 'Authorization' : 'OAuth 350685531728|62f8ce9f74b12f84c123cc23437a4a32',
    84. 'X-Fb-Connection-Type' : 'mobile.LTE',
    85. 'X-Fb-Net-Hni' : '310260',
    86. 'X-Fb-Sim-Hni' : '310260',
    87. 'X-Fb-Net-Sid' : '',
    88. 'X-Fb-Http-Engine' : 'Apache',
    89. 'Content-Type' : 'application/x-www-form-urlencoded',
    90. 'Content-Encoding' : 'gzip',
    91. 'User-Agent' : '[FBAN/FB4A;FBAV/37.0.0.0.109;FBBV/11557663;FBDM/{density=1.5,width=480,height=854};FBLC/en_US;FBCR/Android;FBMF/unknown;FBBD/generic;FBPN/com.facebook.katana;FBDV/google_sdk;FBSV/4.4.2;FBOP/1;FBCA/armeabi-v7a:armeabi;]'
    92. }
    93. out = StringIO.StringIO()
    94. with gzip.GzipFile(fileobj=out, mode="w") as f:
    95. f.write(urllib.urlencode(data))
    96.  
    97. try:
    98. r = requests.post("https://b-graph.facebook.com/?include_headers=false&locale=en_US&client_country_code=US", headers=headers, data=out.getvalue())
    99. except Exception as e:
    100. pass
    101.  
    102. if 'access_token' in json.loads(r.json()[0]['body']):
    103. self.access_token = json.loads(r.json()[0]['body'])['access_token']
    104. print "[!] Access Token : " + self.access_token
    105.  
    106. def Confirm(self):
    107. inbox = requests.get("https://mailto.space/get/mails/"+self.email.split("@")[0])
    108. status = True
    109. while status:
    110. if len(inbox.json()[1]) >= 1:
    111. status = False
    112. #print "yes, i have it now!"
    113. ff = 1
    114. url = requests.get("https://mailto.space/get/content/"+inbox.json()[1].keys()[0]+"/text").text
    115. while(ff):
    116. try:
    117. #print "CODE: " + url.split("c=")[1].split("&")[0]
    118. ff = 0
    119. except Exception, e:
    120. url = requests.get("https://mailto.space/get/content/"+inbox.json()[1].keys()[1]+"/text").text
    121. ff = 1
    122. data = {
    123. 'normalized_contactpoint': self.email,
    124. 'contactpoint_type': 'EMAIL',
    125. 'code': url.split("c=")[1].split("&")[0],
    126. 'source': 'ANDROID_DIALOG_API',
    127. 'surface': 'hard_cliff',
    128. 'format': 'json',
    129. 'locale': 'en_US',
    130. 'client_country_code': 'US',
    131. 'method': 'user.confirmcontactpoint',
    132. 'fb_api_req_friendly_name': 'confirmContactpoint',
    133. 'fb_api_caller_class': 'com.facebook.confirmation.fragment.ConfCodeInputFragment',
    134. }
    135. headers = {
    136. 'Authorization' : 'OAuth ' + self.access_token,
    137. 'X-Fb-Connection-Type' : 'mobile.LTE',
    138. 'X-Fb-Net-Hni' : '310260',
    139. 'X-Fb-Sim-Hni' : '310260',
    140. 'X-Fb-Net-Sid' : '',
    141. 'X-Fb-Http-Engine' : 'Apache',
    142. 'Content-Type' : 'application/x-www-form-urlencoded',
    143. 'Content-Encoding' : 'gzip',
    144. 'User-Agent' : '[FBAN/FB4A;FBAV/37.0.0.0.109;FBBV/11557663;FBDM/{density=1.5,width=480,height=854};FBLC/en_US;FBCR/Android;FBMF/unknown;FBBD/generic;FBPN/com.facebook.katana;FBDV/google_sdk;FBSV/4.4.2;FBOP/1;FBCA/armeabi-v7a:armeabi;]'
    145. }
    146. out = StringIO.StringIO()
    147. with gzip.GzipFile(fileobj=out, mode="w") as f:
    148. f.write(urllib.urlencode(data))
    149. r = requests.post("https://api.facebook.com/method/user.confirmcontactpoint", headers=headers, data=out.getvalue())
    150. #print r.text
    151. if r.text == "true":
    152. print "[info] Email : {1} -> Passoword : {0}".format(self.email , self.password)
    153.  
    154. break
    155. inbox = requests.get("https://mailto.space/get/mails/"+self.email.split("@")[0])
    156. #print "Wait!"
    157.  
    158. def worker():
    159. f = register()
    160. f.Register()
    161. f.Login()
    162. f.Confirm()
    163. return
    164.  
    165. while(1):
    166. threads_ = []
    167. print "[!] Starting {} Thread/s".format(threads)
    168. for i in range(threads):
    169. t = threading.Thread(target=worker)
    170. threads_.append(t)
    171. t.start()
    172. print "[!] Sleeping {} Second/s".format(sleep)
    173. time.sleep(sleep)
    174.