Ayuda a desofuscar codigo python

Iniciado por CADi, 1 Agosto 2013, 21:03 PM

0 Miembros y 1 Visitante están viendo este tema.

CADi

Hola buen dias amigos queria saber si alguno de ustedes me puede ayudar a desofuscar este codigo python

Código (python) [Seleccionar]

if 64 - 64: i11iIiiIii
import cPickle as pickle
import urllib , urllib2 , re , xbmcplugin , xbmcgui , xbmcaddon , xbmc
import weblogin , gethtml , os , shutil , zipfile , commands , sys
from urllib2 import Request , urlopen , URLError , HTTPError
from xml . dom . minidom import parseString
if 65 - 65: O0 / iIii1I11I1II1 % OoooooooOO - i1IIi
if 73 - 73: II111iiii
if 22 - 22: I1IiiI * Oo0Ooo / OoO0O00 . OoOoOO00 . o0oOOo0O0Ooo / I1ii11iIi11i
if 48 - 48: oO0o / OOooOOo / I11i / Ii1I
IiiIII111iI = "2.06"
if 34 - 34: iii1I1I / O00oOoOoO0o0O . O0oo0OO0 + Oo0ooO0oo0oO . OoO0O00 - I1ii11iIi11i
if 53 - 53: I11i / Oo0Ooo / II111iiii % Ii1I / OoOoOO00 . Oo0ooO0oo0oO
if 100 - 100: i1IIi
if 27 - 27: O00oOoOoO0o0O * OoooooooOO + I11i * Oo0ooO0oo0oO - i11iIiiIii - iii1I1I
IiiiIiI1iIiI1 = 10
if 85 - 85: OoO0O00
class iIi1IIii11I ( xbmcgui . Window ) :
if 84 - 84: iIii1I11I1II1 . O00oOoOoO0o0O / O00oOoOoO0o0O % O00oOoOoO0o0O
def __init__ ( self ) :
  pass
  if 22 - 22: Ii1I . O00oOoOoO0o0O
def setupScreen ( self ) :
  if 41 - 41: O0oo0OO0 . Oo0ooO0oo0oO * O00oOoOoO0o0O % i11iIiiIii
  self . backgroundImage = xbmcgui . ControlImage ( 0 , 0 , self . width , self . height , self . skin , aspectRatio = 0 )
  self . addControl ( self . backgroundImage )
  self . posterImage = xbmcgui . ControlImage ( self . porcentaje ( 5 , self . x ) , self . porcentaje ( 10 , self . y ) , self . porcentaje ( 30 , self . x ) , self . porcentaje ( 70 , self . y ) , self . poster , aspectRatio = 2 )
  self . addControl ( self . posterImage )
  if 74 - 74: iii1I1I * O00oOoOoO0o0O
  self . label1 = xbmcgui . ControlLabel ( self . porcentaje ( 40 , self . x ) , self . porcentaje ( 10 , self . y ) , self . porcentaje ( 50 , self . x ) , self . porcentaje ( 10 , self . y ) , '' , font = 'font30' , alignment = 2 )
  self . addControl ( self . label1 )
  self . label1 . setLabel ( self . textLabel1 )
  if 82 - 82: iIii1I11I1II1 % O00oOoOoO0o0O
  self . label2 = xbmcgui . ControlLabel ( self . porcentaje ( 40 , self . x ) , self . porcentaje ( 20 , self . y ) , self . porcentaje ( 60 , self . x ) , self . porcentaje ( 30 , self . y ) , '' , 'font13' )
  self . addControl ( self . label2 )
  self . label2 . setLabel ( self . textLabel2 )
  if 86 - 86: OoOoOO00 % I1IiiI
  self . buttonEsc = xbmcgui . ControlButton ( 0 , 0 , self . porcentaje ( 7 , self . x ) , self . porcentaje ( 7 , self . y ) , 'ESC' , font = 'font13' , alignment = 2 )
  self . addControl ( self . buttonEsc )
  if 80 - 80: OoooooooOO . I1IiiI
  self . imageStar = xbmcgui . ControlImage ( self . porcentaje ( 40 , self . x ) , self . porcentaje ( 66 , self . y ) , self . porcentaje ( 4 , self . x ) , self . porcentaje ( 7 , self . y ) , self . favoritoStar , aspectRatio = 2 )
  self . addControl ( self . imageStar )
  if 87 - 87: oO0o / Oo0ooO0oo0oO + O0oo0OO0 - Oo0ooO0oo0oO . Oo0ooO0oo0oO / II111iiii
  self . buttonFav = xbmcgui . ControlButton ( self . porcentaje ( 45 , self . x ) , self . porcentaje ( 66 , self . y ) , self . porcentaje ( 15 , self . x ) , self . porcentaje ( 7 , self . y ) , 'Favoritos' , font = 'font30' , alignment = 2 )
  self . addControl ( self . buttonFav )
  if 11 - 11: I1IiiI % o0oOOo0O0Ooo - Oo0Ooo
  self . buttonPlay = xbmcgui . ControlButton ( self . porcentaje ( 70 , self . x ) , self . porcentaje ( ( 40 + ( 2 * self . synopsisLines ) ) , self . y ) , self . porcentaje ( 15 , self . x ) , self . porcentaje ( 7 , self . y ) , 'Play' , font = 'font30' , alignment = 2 )
  self . addControl ( self . buttonPlay )
  self . setFocus ( self . buttonPlay )
  if 58 - 58: i11iIiiIii % O0oo0OO0
  self . clock = xbmcgui . ControlLabel ( self . porcentaje ( 84 , self . x ) , self . porcentaje ( 1 , self . y ) , self . porcentaje ( 20 , self . x ) , self . porcentaje ( 10 , self . y ) , '' , font = 'font30' , alignment = 2 )
  self . addControl ( self . clock )
  self . clock . setLabel ( '$INFO[System.Time]' )
  if 54 - 54: OOooOOo % O0 + I1IiiI - iii1I1I / I11i
  xbmc . executebuiltin ( 'Action(back)' )
  if 31 - 31: OoO0O00 + II111iiii
def variables ( self , a , b , c , d ) :
  if 13 - 13: OOooOOo * oO0o * I1IiiI
  self . deviceRunning = d
  if 55 - 55: II111iiii
  if self . deviceRunning == chr ( 73 ) + chr ( 80 ) + chr ( 65 ) + chr ( 68 ) :
   self . width = 1280
   self . height = 720
  else :
   self . height = self . getHeight ( )
   self . width = self . getWidth ( )
   if 43 - 43: OoOoOO00 - i1IIi + O0oo0OO0 + Ii1I
  self . x = self . width
  self . y = self . height
  print "Height = " + str ( self . height )
  print "Width = " + str ( self . width )
  if 17 - 17: o0oOOo0O0Ooo
  self . url = o00ooooO0oO
  self . movie = a
  self . realUrl = b
  self . poster = c
  self . data = oOoOo00oOo
  if 96 - 96: i1IIi . OoOoOO00 * OOooOOo % Oo0ooO0oo0oO
  self . star = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/star_favorite.png"
  self . starEmpty = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/star_favorite_empty.png"
  if 77 - 77: II111iiii - II111iiii . I1IiiI / o0oOOo0O0Ooo
  if "redirect.php" in self . url :
   self . seriePosicion = self . url . find ( 'opcion=' )
   self . serieDelimiter = self . url . find ( ' - ' , self . seriePosicion )
   self . serie = self . url [ len ( 'opcion=' ) + self . seriePosicion : self . serieDelimiter ]
   print "serie: " + self . serie
   self . synopsis = i1iIIIiI1I ( self . serie , serie = True )
  else :
   self . synopsis = i1iIIIiI1I ( self . movie )
   if 70 - 70: Oo0Ooo % Oo0Ooo . O00oOoOoO0o0O % OoO0O00 * o0oOOo0O0Ooo % oO0o
  self . synopsisLines = self . synopsis . count ( '\n' ) + 1
  if 23 - 23: i11iIiiIii + I1IiiI
  if 68 - 68: OoOoOO00 . oO0o . i11iIiiIii
  self . skin = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/background.jpg"
  if 40 - 40: oO0o . OoOoOO00 . Oo0Ooo . i1IIi
  try :
   self . data . index ( [ self . movie , self . url , self . poster ] )
   self . favoritoStar = self . star
  except :
   self . favoritoStar = self . starEmpty
   if 33 - 33: Ii1I + II111iiii % i11iIiiIii . Oo0ooO0oo0oO - I1IiiI
  self . textLabel1 = self . movie
  self . textLabel2 = "Synopsis:\n\n" + self . synopsis
  if 66 - 66: Ii1I - OoooooooOO * OoooooooOO . OOooOOo . I1ii11iIi11i
  self . setupScreen ( )
  if 22 - 22: OoooooooOO % I11i - iii1I1I . iIii1I11I1II1 * i11iIiiIii
def porcentaje ( self , cuanto_porcentaje , height_or_width ) :
  II1i1Ii11Ii11 = ( height_or_width * cuanto_porcentaje ) / 100
  return II1i1Ii11Ii11
  if 35 - 35: o0oOOo0O0Ooo + iii1I1I + iii1I1I
def onAction ( self , action ) :
  if 11 - 11: iii1I1I - OoO0O00 % Oo0ooO0oo0oO % iii1I1I / OoOoOO00 - OoO0O00
  if 74 - 74: iii1I1I * O0
  if action == IiiiIiI1iIiI1 :
   self . close ( )
  if action == 92 :
   print "back"
   self . close ( )
  if action == 1 :
   print "move left action.."
   self . setFocus ( self . buttonFav )
  if action == 2 :
   print "move right action.."
   self . setFocus ( self . buttonPlay )
  if action == 3 :
   print "move up action.."
   self . setFocus ( self . buttonEsc )
  if action == 4 :
   print "move down action.."
   self . setFocus ( self . buttonFav )
   if 89 - 89: oO0o + Oo0Ooo
def onControl ( self , control ) :
  print "Ejecutando comando.."
  if control == self . buttonPlay :
   self . onPlay ( )
  if control == self . buttonFav :
   self . onFavoritos ( )
  if control == self . buttonEsc :
   self . close ( )
   if 3 - 3: i1IIi / I1IiiI % I11i * i11iIiiIii / O0 * I11i
def onPlay ( self ) :
  III1ii1iII = xbmcgui . ListItem ( self . movie )
  III1ii1iII . setInfo ( 'video' , { 'Title' : self . movie , 'Genre' : 'Science Fiction' } )
  xbmc . Player ( xbmc . PLAYER_CORE_MPLAYER ) . play ( self . realUrl , III1ii1iII )
  if 54 - 54: I1IiiI % II111iiii % II111iiii
def onFavoritos ( self ) :
  if self . data == '' or self . data == [ ] :
   self . data = [ ]
   self . data . append ( [ self . movie , self . url , self . poster ] )
   print "*Nuevo Archivo* Agregando a favoritos: " , self . movie
   self . imageStar . setImage ( self . star )
   iI1 ( self . data , True )
  else :
   try :
    self . data . index ( [ self . movie , self . url , self . poster ] )
    self . data . remove ( [ self . movie , self . url , self . poster ] )
    self . imageStar . setImage ( self . starEmpty )
    iI1 ( self . data , True )
    print "Removiendo de favoritos: " + self . movie
   except :
    self . data . append ( [ self . movie , self . url , self . poster ] )
    self . imageStar . setImage ( self . star )
    iI1 ( self . data , True )
    print "Agregando a favoritos: " + self . movie
    if 19 - 19: I11i + Oo0ooO0oo0oO
def message ( self , message ) :
  ooo = xbmcgui . Dialog ( )
  ooo . ok ( " Mensaje del Sistema" , message )
  if 18 - 18: o0oOOo0O0Ooo
  if 28 - 28: OOooOOo - O00oOoOoO0o0O . O00oOoOoO0o0O + OoOoOO00 - OoooooooOO + O0
def oOoOooOo0o0 ( theurl , thedir ) :
OOOO = os . path . join ( thedir , 'temp.zip' )
try :
  OOOO , OOO00 = urllib . urlretrieve ( theurl , OOOO )
except IOError , iiiiiIIii :
  print "Can't retrieve %r to %r: %s" % ( theurl , thedir , iiiiiIIii )
  return
try :
  O000OO0 = zipfile . ZipFile ( OOOO )
except zipfile . error , iiiiiIIii :
  print "Bad zipfile (from %r): %s" % ( theurl , iiiiiIIii )
  return
for I11iii1Ii in O000OO0 . namelist ( ) :
  I1IIiiIiii = os . path . join ( thedir , I11iii1Ii )
  O000oo0O = os . path . dirname ( I1IIiiIiii )
  if not os . path . isdir ( O000oo0O ) :
   os . makedirs ( O000oo0O )
  OOOOi11i1 = O000OO0 . read ( I11iii1Ii )
  IIIii1II1II = open ( I1IIiiIiii , 'w' )
  IIIii1II1II . write ( OOOOi11i1 )
  IIIii1II1II . close ( )
O000OO0 . close ( )
os . unlink ( OOOO )
if 42 - 42: Ii1I + oO0o
def o0O0o0Oo ( time_to_wait , title = '' , text = '' ) :
return Ii11Ii1I ( time_to_wait , title , text )
if 72 - 72: iii1I1I / i1IIi * Oo0Ooo - O0oo0OO0
def Ii11Ii1I ( time_to_wait , title , text ) :
Oo0O0O0ooO0O = IIIIii ( o00ooooO0oO )
print 'esperando ' + str ( time_to_wait ) + ' segs'
if 70 - 70: Ii1I / I11i . iii1I1I % Oo0Ooo
OOoOO00OOO0OO = xbmcgui . DialogProgress ( )
iI1I111Ii111i = OOoOO00OOO0OO . create ( title )
if 7 - 7: Oo0ooO0oo0oO * OoO0O00 % oO0o . O00oOoOoO0o0O
Ii1iIiII1ii1 = 0
ooOooo000oOO = 0
Oo0oOOo = 100 / time_to_wait
if 58 - 58: II111iiii * OOooOOo * I1ii11iIi11i / OOooOOo
oO0o0OOOO = False
while Ii1iIiII1ii1 < time_to_wait :
  Ii1iIiII1ii1 = Ii1iIiII1ii1 + 1
  ooOooo000oOO = Oo0oOOo * Ii1iIiII1ii1
  O0O0OoOO0 = str ( ( time_to_wait - Ii1iIiII1ii1 ) )
  iiiI1I11i1 = ' Espere ' + O0O0OoOO0 + ' segs descargando video...'
  OOoOO00OOO0OO . update ( ooOooo000oOO , ' ' + text , iiiI1I11i1 )
  xbmc . sleep ( 1000 )
  if ( OOoOO00OOO0OO . iscanceled ( ) ) :
   oO0o0OOOO = True
   break
   if 49 - 49: I1IiiI % Oo0ooO0oo0oO . Oo0ooO0oo0oO . I11i * Oo0ooO0oo0oO
if oO0o0OOOO == True :
  print 'espera cancelada'
  return False
else :
  print 'Fin de la espera'
  return True
  if 97 - 97: Ii1I + o0oOOo0O0Ooo . OOooOOo + I1ii11iIi11i % iii1I1I
  if 95 - 95: i1IIi
def I1ii11iI ( ) :
if 14 - 14: OoOoOO00 / O00oOoOoO0o0O . OoOoOO00 . I11i % OoO0O00 * I11i
if iII == None and oO00o0 == None :
  OOoo0O = False
  if os . path . exists ( Oo0ooOo0o ) :
   os . remove ( Oo0ooOo0o )
  return OOoo0O
elif iII != None and oO00o0 != None :
  Ii1i1 = weblogin . doLogin ( iiIii , iII , oO00o0 )
  if Ii1i1 == False :
   ooo = xbmcgui . Dialog ( )
   ooo . ok ( " Opciones avanzadas" , "Los parametros incorrectos.." )
  OOoo0O = True
  return OOoo0O
  if 79 - 79: OoooooooOO / O0
def IIIIii ( url ) :
OO0OoO0o00 = ooOO0O0ooOooO
oOOOo00O00oOo = iiIIIi
ooo00OOOooO = urllib2 . HTTPPasswordMgrWithDefaultRealm ( )
ooo00OOOooO . add_password ( None , url , OO0OoO0o00 , oOOOo00O00oOo )
O00OOOoOoo0O = urllib2 . HTTPBasicAuthHandler ( ooo00OOOooO )
O000OOo00oo = urllib2 . build_opener ( O00OOOoOoo0O )
return O000OOo00oo
if 71 - 71: i11iIiiIii + O00oOoOoO0o0O
def oOo ( url ) :
oOO00Oo = 1
if chr ( 109 ) + chr ( 111 ) + chr ( 118 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url :
  oOO00Oo = 1
  return oOO00Oo
if chr ( 97 ) + chr ( 100 ) + chr ( 117 ) + chr ( 108 ) + chr ( 116 ) + chr ( 111 ) + chr ( 115 ) + chr ( 109 ) + chr ( 111 ) + chr ( 118 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url :
  oOO00Oo = 1
  return oOO00Oo
elif "abrirSettings" in url :
  oOO00Oo = 6
  return oOO00Oo
elif chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url :
  oOO00Oo = 1
  return oOO00Oo
elif chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url :
  oOO00Oo = 1
  return oOO00Oo
elif chr ( 116 ) + chr ( 101 ) + chr ( 109 ) + chr ( 112 ) + chr ( 111 ) + chr ( 114 ) + chr ( 97 ) + chr ( 100 ) + chr ( 97 ) + chr ( 115 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url :
  oOO00Oo = 1
  return oOO00Oo
elif chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 99 ) + chr ( 97 ) + chr ( 112 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url :
  oOO00Oo = 2
  return oOO00Oo
elif chr ( 108 ) + chr ( 105 ) + chr ( 115 ) + chr ( 116 ) + chr ( 97 ) + chr ( 100 ) + chr ( 111 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url :
  oOO00Oo = 2
  return oOO00Oo
elif chr ( 97 ) + chr ( 100 ) + chr ( 117 ) + chr ( 108 ) + chr ( 116 ) + chr ( 111 ) + chr ( 115 ) + chr ( 108 ) + chr ( 105 ) + chr ( 115 ) + chr ( 116 ) + chr ( 97 ) + chr ( 100 ) + chr ( 111 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url :
  oOO00Oo = 2
  return oOO00Oo
elif chr ( 116 ) + chr ( 118 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) in url :
  oOO00Oo = 8
  return oOO00Oo
elif "getServices?ref=1:0:" in url :
  oOO00Oo = 5
  return oOO00Oo
elif "getServices?ref=" in url :
  oOO00Oo = 4
  return oOO00Oo
elif "zapTo?path=" in url :
  oOO00Oo = 5
  return oOO00Oo
  if 6 - 6: oO0o
def oOOo0oOo0 ( source ) :
II = '<a id="download_button" href="(.+?)"'
return II
if 60 - 60: I1IiiI
if 22 - 22: II111iiii
def iiI1I11i1i ( upmega ) :
if 2 - 2: I1ii11iIi11i * I11i - iIii1I11I1II1 + I1IiiI . oO0o % iii1I1I
ooOOOoOooOoO = o00oooO0Oo ( )
o0O0OOO0Ooo = iiIiI ( )
if 6 - 6: O00oOoOoO0o0O . oO0o * OoOoOO00 - Ii1I - O00oOoOoO0o0O
if 45 - 45: I1IiiI - OoooooooOO + iIii1I11I1II1 . I1IiiI * I11i
print "Version Xbmc:" , type ( o0O0OOO0Ooo ) , o0O0OOO0Ooo
oOOO ( chr ( 80 ) + chr ( 101 ) + chr ( 108 ) + chr ( 105 ) + chr ( 99 ) + chr ( 117 ) + chr ( 108 ) + chr ( 97 ) + chr ( 115 ) , iIII1 + chr ( 109 ) + chr ( 111 ) + chr ( 118 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) , 1 , "" )
oOOO ( chr ( 83 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) , iIII1 + chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) , 1 , "" )
if o0o == "1" :
  oOOO ( chr ( 65 ) + chr ( 100 ) + chr ( 117 ) + chr ( 108 ) + chr ( 116 ) + chr ( 111 ) + chr ( 115 ) , iIII1 + chr ( 97 ) + chr ( 100 ) + chr ( 117 ) + chr ( 108 ) + chr ( 116 ) + chr ( 111 ) + chr ( 115 ) + chr ( 109 ) + chr ( 111 ) + chr ( 118 ) + chr ( 105 ) + chr ( 101 ) + chr ( 115 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) , 1 , "" )
if O0OOoO00OO0o != chr ( 110 ) + chr ( 111 ) + chr ( 32 ) + chr ( 101 ) + chr ( 110 ) + chr ( 99 ) + chr ( 111 ) + chr ( 110 ) + chr ( 116 ) + chr ( 114 ) + chr ( 97 ) + chr ( 100 ) + chr ( 111 ) :
  oOOO ( chr ( 84 ) + chr ( 86 ) + chr ( 32 ) + chr ( 101 ) + chr ( 110 ) + chr ( 32 ) + chr ( 86 ) + chr ( 105 ) + chr ( 118 ) + chr ( 111 ) , iIII1 + chr ( 116 ) + chr ( 118 ) + chr ( 103 ) + chr ( 101 ) + chr ( 110 ) + chr ( 46 ) + chr ( 112 ) + chr ( 104 ) + chr ( 112 ) , 1 , "" )
if I1111IIIIIi == "1" :
  oOOO ( chr ( 86 ) + chr ( 101 ) + chr ( 114 ) + chr ( 32 ) + chr ( 68 ) + chr ( 105 ) + chr ( 115 ) + chr ( 104 ) , "http://" + Iiii1i1 + "/cgi-bin/getServices?ref=0" , 4 , "" )
if o0O0OOO0Ooo >= '12.0' :
  oOOO ( chr ( 77 ) + chr ( 105 ) + chr ( 115 ) + chr ( 32 ) + chr ( 70 ) + chr ( 97 ) + chr ( 118 ) + chr ( 111 ) + chr ( 114 ) + chr ( 105 ) + chr ( 116 ) + chr ( 111 ) + chr ( 115 ) , iIII1 , 6 , "" )
oOOO ( chr ( 83 ) + chr ( 101 ) + chr ( 116 ) + chr ( 116 ) + chr ( 105 ) + chr ( 110 ) + chr ( 103 ) + chr ( 115 ) , chr ( 97 ) + chr ( 98 ) + chr ( 114 ) + chr ( 105 ) + chr ( 114 ) + chr ( 83 ) + chr ( 101 ) + chr ( 116 ) + chr ( 116 ) + chr ( 105 ) + chr ( 110 ) + chr ( 103 ) + chr ( 115 ) , 7 , "" )
if 84 - 84: I1IiiI . iIii1I11I1II1 % OoooooooOO + Ii1I % OoooooooOO % OoO0O00
def IIi1 ( url ) :
try :
  ooOOOoOooOoO = o00oooO0Oo ( )
  url = url . replace ( ' ' , '%20' )
  url = url + chr ( 63 ) + chr ( 117 ) + chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 61 ) + ooOO0O0ooOooO
  url = url + chr ( 38 ) + chr ( 107 ) + chr ( 61 ) + ooOOOoOooOoO
  oOO00Oo = oOo ( url )
  Oo0O0O0ooO0O = IIIIii ( url )
  Oo0O0O0ooO0O . addheaders = [ ( 'User-Agent' , 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3' ) ]
  I1I1I = Oo0O0O0ooO0O . open ( url )
  I1I1I = I1I1I . read ( )
  OoOO000 = re . compile ( 'Title: <a href="(.+?)">(.+?)</a> <a href="(.+?)">.+?</a><br>' ) . findall ( I1I1I )
  for url , OOOO , i1Ii11i1i in OoOO000 :
   url = url + chr ( 38 ) + chr ( 117 ) + chr ( 115 ) + chr ( 101 ) + chr ( 114 ) + chr ( 61 ) + ooOO0O0ooOooO
   url = url + chr ( 38 ) + chr ( 107 ) + chr ( 61 ) + ooOOOoOooOoO
   url = url + chr ( 38 ) + chr ( 112 ) + chr ( 111 ) + chr ( 115 ) + chr ( 116 ) + chr ( 101 ) + chr ( 114 ) + chr ( 61 ) + i1Ii11i1i
   OOOO = OOOO . decode ( 'latin-1' )
   OOOO = OOOO . encode ( 'utf-8' )
   oOOO ( OOOO , url , oOO00Oo , i1Ii11i1i )
except URLError , iiiiiIIii :
  print iiiiiIIii . code
  if iiiiiIIii . code == 401 :
   ooo = xbmcgui . Dialog ( )
   ooo . ok ( "    Servicio Expirado" , "Tu cuenta " + ooOO0O0ooOooO + " a vencido, por favor Renueva." )
   print "Tu cuenta esta vencida"
   if 91 - 91: OoO0O00
def oOooOo0 ( url , name ) :
try :
  url = url . replace ( ' ' , '%20' )
  i1I1ii11i1Iii = url
  I1IiiiiI = i1I1ii11i1Iii . split ( 'poster=' )
  II1i1Ii11Ii11 = '/' . join ( I1IiiiiI [ 1 : ] )
  o0O = gethtml . get ( url , ooOO0O0ooOooO , iiIIIi , Oo0ooOo0o )
  II = oOOo0oOo0 ( o0O )
  OoOO000 = re . compile ( II ) . findall ( o0O )
  o0O0OOO0Ooo = iiIiI ( )
  if o0O0OOO0Ooo >= '12.0' :
   for url in OoOO000 :
    if 2 - 2: iIii1I11I1II1 / oO0o + OoO0O00 / OOooOOo
    IIOOOO0oo0 = url
    if 35 - 35: Ii1I - I1IiiI % o0oOOo0O0Ooo . OoooooooOO % Ii1I
   I1i1Iiiii = name
   OOo0oO00ooO00 = II1i1Ii11Ii11
   oOO0O00oO0Ooo = oO0Oo0O0o ( i1I1ii11i1Iii )
   OO = iIi1IIii11I ( )
   OO . variables ( I1i1Iiiii , IIOOOO0oo0 , OOo0oO00ooO00 , oOO0O00oO0Ooo )
   OO . doModal ( )
   del OO
  else :
   for url in OoOO000 :
    I1iI1ii1II ( name , url , II1i1Ii11Ii11 )
except URLError , iiiiiIIii :
  print iiiiiIIii . code
  if iiiiiIIii . code == 401 :
   ooo = xbmcgui . Dialog ( )
   ooo . ok ( "    Servicio Expirado" , "Tu cuenta " + ooOO0O0ooOooO + " a vencido, por favor Renueva." )
   print "Tu cuenta esta vencida"
   if 57 - 57: O0oo0OO0 % Ii1I + o0oOOo0O0Ooo - Oo0Ooo
def o0OIiI1i ( name , url ) :
o0Oo00 = 0
oOO00Oo = oOo ( url )
I1I1I = urllib . urlopen ( url )
I1I1I = I1I1I . readlines ( )
for iI in I1I1I :
  O0O0Oooo0o = I1I1I [ o0Oo00 ] . find ( ';' )
  oOOoo00O00o = I1I1I [ o0Oo00 ] . find ( ';' , O0O0Oooo0o + 1 )
  O0O00Oo = I1I1I [ o0Oo00 ] [ O0O0Oooo0o + 1 : oOOoo00O00o ]
  name = O0O00Oo
  oOO00Oo = oOo ( url )
  if oOO00Oo == 5 :
   oooooo0O000o = "http://" + Iiii1i1 + "/cgi-bin/zapTo?path="
  else :
   oooooo0O000o = "http://" + Iiii1i1 + "/cgi-bin/getServices?ref="
  OoO = I1I1I [ o0Oo00 ] [ : O0O0Oooo0o ]
  url = oooooo0O000o + OoO
  o0Oo00 = o0Oo00 + 1
  oOOO ( name , url , oOO00Oo , '' )
  if 51 - 51: OoooooooOO * OOooOOo
def OO0ooOOO0OOO ( url , name , poster ) :
I1I1I = urllib . urlopen ( url )
I1I1I = I1I1I . read ( )
oO00oooOOoOo0 ( name , "http://" + Iiii1i1 + ":31344" , '' )
if 74 - 74: iIii1I11I1II1 * I1ii11iIi11i + OoOoOO00 / i1IIi / II111iiii . Oo0Ooo
def oooOo0OOOoo0 ( channel_name ) :
if 51 - 51: Oo0Ooo / OoOoOO00 . OOooOOo * o0oOOo0O0Ooo + OoO0O00 * O00oOoOoO0o0O
OOOoOo = chr ( 104 ) + chr ( 116 ) + chr ( 116 ) + chr ( 112 ) + chr ( 58 ) + chr ( 47 ) + chr ( 47 ) + chr ( 119 ) + chr ( 119 ) + chr ( 119 ) + chr ( 46 ) + chr ( 106 ) + chr ( 117 ) + chr ( 115 ) + chr ( 116 ) + chr ( 105 ) + chr ( 110 ) + chr ( 46 ) + chr ( 116 ) + chr ( 118 ) + chr ( 47 ) + chr ( 119 ) + chr ( 105 ) + chr ( 100 ) + chr ( 103 ) + chr ( 101 ) + chr ( 116 ) + chr ( 115 ) + chr ( 47 ) + chr ( 108 ) + chr ( 105 ) + chr ( 118 ) + chr ( 101 ) + chr ( 95 ) + chr ( 101 ) + chr ( 109 ) + chr ( 98 ) + chr ( 101 ) + chr ( 100 ) + chr ( 95 ) + chr ( 112 ) + chr ( 108 ) + chr ( 97 ) + chr ( 121 ) + chr ( 101 ) + chr ( 114 ) + chr ( 46 ) + chr ( 115 ) + chr ( 119 ) + chr ( 102 ) + chr ( 63 ) + chr ( 99 ) + chr ( 104 ) + chr ( 97 ) + chr ( 110 ) + chr ( 110 ) + chr ( 101 ) + chr ( 108 ) + '=%s' % channel_name
O00o0 = { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0' ,
'Referer' : chr ( 104 ) + chr ( 116 ) + chr ( 116 ) + chr ( 112 ) + chr ( 58 ) + chr ( 47 ) + chr ( 47 ) + chr ( 119 ) + chr ( 119 ) + chr ( 119 ) + chr ( 46 ) + chr ( 106 ) + chr ( 117 ) + chr ( 115 ) + chr ( 116 ) + chr ( 105 ) + chr ( 110 ) + chr ( 46 ) + chr ( 116 ) + chr ( 118 ) + chr ( 47 ) + channel_name }
Oo0O0O0ooO0O = urllib2 . Request ( OOOoOo , None , O00o0 )
I11iII = urllib2 . urlopen ( Oo0O0O0ooO0O )
return I11iII . geturl ( )
if 5 - 5: I1IiiI
def iIiIi11iI ( name , url ) :
if 83 - 83: II111iiii % Oo0Ooo % Oo0ooO0oo0oO % I1ii11iIi11i
if 80 - 80: i11iIiiIii % Oo0ooO0oo0oO + Ii1I % I11i - I1ii11iIi11i
if 18 - 18: iii1I1I - OOooOOo . O0oo0OO0 . iIii1I11I1II1
if 2 - 2: OOooOOo . OoO0O00
if 78 - 78: I11i * iIii1I11I1II1 . I1IiiI / o0oOOo0O0Ooo - OoooooooOO / O0oo0OO0
if 35 - 35: I11i % OOooOOo - oO0o
if 20 - 20: i1IIi - Oo0ooO0oo0oO
Oo0O0O0ooO0O = IIIIii ( url )
Oo0O0O0ooO0O . addheaders = [ ( 'User-Agent' , 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3' ) ]
I1I1I = Oo0O0O0ooO0O . open ( url )
I1I1I = I1I1I . read ( )
if 'feed = ' in I1I1I :
  i1iI = I1I1I . find ( 'feed = ' )
  Oo0O0 = I1I1I [ len ( 'feed = ' ) + i1iI : I1I1I . find ( '<br>' ) ]
  I1iI1ii1II ( name , Oo0O0 . decode ( 'base64' , 'strict' ) , 'none' )
else :
  i1iI = I1I1I . find ( 'SwfAddress = ' )
  Ooo0OOoOoO0 = I1I1I [ len ( 'SwfAddress = ' ) + i1iI : I1I1I . find ( '<br>' ) ]
  i1iI = I1I1I . find ( 'WebAccess = ' )
  oOo0OOoO0 = I1I1I [ len ( 'WebAccess = ' ) + i1iI : I1I1I . find ( '<br>' , i1iI ) ]
  i1iI = I1I1I . find ( 'Code = ' )
  IIo0Oo0oO0oOO00 = I1I1I [ len ( 'Code = ' ) + i1iI : I1I1I . find ( '<br>' , i1iI ) ]
  if 92 - 92: OoooooooOO * O0oo0OO0
  I11iII = urllib2 . urlopen ( oOo0OOoO0 . decode ( 'base64' , 'strict' ) )
  o0000oO = I11iII . read ( )
  if 11 - 11: Oo0ooO0oo0oO / OoOoOO00 - O00oOoOoO0o0O * OoooooooOO + OoooooooOO . OoOoOO00
  i1I1i111Ii = parseString ( o0000oO )
  oooi1i1iI1iiiI = i1I1i111Ii . getElementsByTagName ( 'token' ) [ 0 ] . toxml ( 'utf8' )
  oooi1i1iI1iiiI = oooi1i1iI1iiiI . replace ( '<token>' , '' ) . replace ( '</token>' , '' )
  oooi1i1iI1iiiI = oooi1i1iI1iiiI . replace ( '&amp;' , '&' ) . replace ( "&quot;" , '"' ) . replace ( '&lt;' , '<' )
  oooi1i1iI1iiiI = oooi1i1iI1iiiI . replace ( '\\' , '\\5c' ) . replace ( '"' , '\\22' ) . replace ( ' ' , '\\20' )
  oooi1i1iI1iiiI = 'jtv=' + oooi1i1iI1iiiI
  if 51 - 51: I1IiiI % O0oo0OO0 . oO0o / iIii1I11I1II1 / I11i . oO0o
  IIIii11 = i1I1i111Ii . getElementsByTagName ( 'play' ) [ 0 ] . toxml ( 'utf8' )
  IIIii11 = IIIii11 . replace ( '<play>' , '' ) . replace ( '</play>' , '' )
  IIIii11 = IIIii11 . replace ( '&amp;' , '&' ) . replace ( "&quot;" , '"' ) . replace ( '&lt;' , '<' )
  IIIii11 = IIIii11 . replace ( '"' , '\\"' )
  IIIii11 = 'playpath=' + IIIii11
  if 9 - 9: O0 % O0 - o0oOOo0O0Ooo
  OoOiiI1IIIi = i1I1i111Ii . getElementsByTagName ( 'connect' ) [ 0 ] . toxml ( 'utf8' )
  OoOiiI1IIIi = OoOiiI1IIIi . replace ( '<connect>' , '' ) . replace ( '</connect>' , '' )
  OoOiiI1IIIi = OoOiiI1IIIi . replace ( '&amp;' , '&' ) . replace ( "&quot;" , '"' ) . replace ( '&lt;' , '<' )
  OoOiiI1IIIi = OoOiiI1IIIi . replace ( '"' , '\\"' )
  if 47 - 47: Oo0Ooo % I11i % i11iIiiIii - O0 + Oo0ooO0oo0oO
  I11iII = urllib2 . urlopen ( Ooo0OOoOoO0 . decode ( 'base64' , 'strict' ) )
  Ooo0OOoOoO0 = I11iII . geturl ( )
  Ooo0OOoOoO0 = 'swfUrl=' + Ooo0OOoOoO0
  I1iI1ii1II ( name , OoOiiI1IIIi + ' ' + IIo0Oo0oO0oOO00 . decode ( 'base64' , 'strict' ) + ' ' + Ooo0OOoOoO0 + ' ' + oooi1i1iI1iiiI + ' ' + IIIii11 , 'none' )
  if 94 - 94: O0oo0OO0
  if 4 - 4: Ii1I % oO0o * OoO0O00
def o0O0OOOOoOO0 ( name = '' , url = '' , mode = 2 , iconimage = '' ) :
if oOoOo00oOo == '' or oOoOo00oOo == [ ] :
  print "Archivo de favoritos en blanco"
  ooo = xbmcgui . Dialog ( )
  ooo . ok ( "    Mensaje de Sistema" , "No has agregado nada a favoritos" )
else :
  for iI in oOoOo00oOo :
   oOOO ( iI [ 0 ] , iI [ 1 ] , mode , iI [ 2 ] )
   if 23 - 23: i11iIiiIii
def II1iIi11 ( ) :
I11iiii = [ ]
O0i1iI = sys . argv [ 2 ]
if len ( O0i1iI ) >= 2 :
  IiI1iiiIii = sys . argv [ 2 ]
  I1III1111iIi = IiI1iiiIii . replace ( '?' , '' )
  if ( IiI1iiiIii [ len ( IiI1iiiIii ) - 1 ] == '/' ) :
   IiI1iiiIii = IiI1iiiIii [ 0 : len ( IiI1iiiIii ) - 2 ]
  I1i111I = I1III1111iIi . split ( '&' )
  I11iiii = { }
  for o0Oo00 in range ( len ( I1i111I ) ) :
   Ooo = { }
   Ooo = I1i111I [ o0Oo00 ] . split ( '=' )
   if ( len ( Ooo ) ) == 2 :
    I11iiii [ Ooo [ 0 ] ] = Ooo [ 1 ]
    if 65 - 65: O0 * OoooooooOO % OOooOOo / O00oOoOoO0o0O - Ii1I / I11i
return I11iiii
if 56 - 56: I1IiiI * i11iIiiIii * O0oo0OO0
if 97 - 97: Oo0ooO0oo0oO
if 48 - 48: i1IIi - O0oo0OO0
def I1iI1ii1II ( name , url , iconimage ) :
OOOoOO = True
I11IIIi = xbmcgui . ListItem ( "Play" , iconImage = "DefaultVideo.png" , thumbnailImage = iconimage )
I11IIIi . setInfo ( type = "Video" , infoLabels = { "Title" : name } )
I11IIIi . setProperty ( 'IsPlayable' , 'true' )
OOOoOO = xbmcplugin . addDirectoryItem ( handle = int ( sys . argv [ 1 ] ) , url = url , listitem = I11IIIi )
return OOOoOO
if 15 - 15: I1ii11iIi11i * OoO0O00
def oOOO ( name , url , mode , iconimage ) :
i1II1i = sys . argv [ 0 ] + "?url=" + urllib . quote_plus ( url ) + "&mode=" + str ( mode ) + "&name=" + urllib . quote_plus ( name )
OOOoOO = True
I11IIIi = xbmcgui . ListItem ( name , iconImage = "DefaultFolder.png" , thumbnailImage = iconimage )
I11IIIi . setInfo ( type = "Video" , infoLabels = { "Title" : name } )
OOOoOO = xbmcplugin . addDirectoryItem ( handle = int ( sys . argv [ 1 ] ) , url = i1II1i , listitem = I11IIIi , isFolder = True )
return OOOoOO
if 83 - 83: OoOoOO00 - Ii1I / I11i / O0oo0OO0 + oO0o - O0
def oO00oooOOoOo0 ( name , url , iconimage ) :
OOOoOO = True
I11IIIi = xbmcgui . ListItem ( "Ver Dish" , iconImage = "DefaultVideo.png" , thumbnailImage = iconimage )
I11IIIi . setInfo ( type = "Video" , infoLabels = { "Title" : name } )
I11IIIi . setProperty ( 'IsPlayable' , 'true' )
OOOoOO = xbmcplugin . addDirectoryItem ( handle = int ( sys . argv [ 1 ] ) , url = url , listitem = I11IIIi )
if 4 - 4: OOooOOo * OoO0O00 % i1IIi * i11iIiiIii % Oo0Ooo - oO0o
return OOOoOO
if 67 - 67: OoOoOO00 + I1ii11iIi11i . o0oOOo0O0Ooo . II111iiii
def i1iIIIiI1I ( movie , serie = False ) :
if serie :
  print "Es serie " + urllib . quote_plus ( movie )
  o000ooooO0o = "http://home.humexico.org/vod/synopsis1.php?name=" + urllib . quote_plus ( movie )
else :
  print "Es pelicula " + urllib . quote_plus ( movie )
  o000ooooO0o = "http://home.humexico.org/vod/synopsis.php?name=" + urllib . quote_plus ( movie )
iI1i11 = urllib . urlopen ( o000ooooO0o )
iI1i11 = iI1i11 . read ( )
if len ( iI1i11 ) == 0 :
  iI1i11 = "Error al cargar synopsis"
iI1i11 = iI1i11 . decode ( 'latin-1' )
iI1i11 = iI1i11 . encode ( 'utf-8' )
iI1i11 = OoOOoooOO0O ( iI1i11 , 70 )
return iI1i11
if 86 - 86: o0oOOo0O0Ooo
def OoOOoooOO0O ( string , every = 64 ) :
II1i1Ii11Ii11 = ""
i1Iii11Ii1i1 = True
if 59 - 59: Oo0Ooo % OoooooooOO . iii1I1I / O00oOoOoO0o0O + I1IiiI
while ( i1Iii11Ii1i1 ) :
  if not ( len ( string ) > every ) :
   i1Iii11Ii1i1 = False
  O0O0Oooo0o = string . find ( ' ' , every )
  if O0O0Oooo0o == - 1 :
   II1i1Ii11Ii11 = II1i1Ii11Ii11 + string
   i1Iii11Ii1i1 = False
  else :
   II1i1Ii11Ii11 = II1i1Ii11Ii11 + string [ 0 : O0O0Oooo0o ] + "\n"
  string = string [ O0O0Oooo0o + 1 : ]
  if 76 - 76: Oo0ooO0oo0oO
  if 73 - 73: O0 * iii1I1I + Ii1I + Oo0ooO0oo0oO
return II1i1Ii11Ii11
if 40 - 40: II111iiii . OoOoOO00 * O0oo0OO0 + OOooOOo + OOooOOo
def iI1 ( data = '' , abrir = False , archivo = '/tmp/favoritos.dat' ) :
if 9 - 9: I11i % OoooooooOO . oO0o % I11i
if abrir :
  OO0O0O00OooO = xbmcaddon . Addon ( )
  ii = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/favoritos.dat"
  for iI in data :
   iI [ 1 ] = iI [ 1 ] . encode ( 'base64' , 'strict' )
  IIIii1II1II = open ( archivo , 'wb' )
  if 36 - 36: OoooooooOO . OoO0O00
  pickle . dump ( data , IIIii1II1II )
  IIIii1II1II . close ( )
  for iI in data :
   iI [ 1 ] = iI [ 1 ] . decode ( 'base64' , 'strict' )
  shutil . move ( archivo , ii )
else :
  try :
   OO0O0O00OooO = xbmcaddon . Addon ( )
   archivo = OO0O0O00OooO . getAddonInfo ( 'path' ) + "/favoritos.dat"
   print "abriendo archivo: " + archivo
   IIIii1II1II = open ( archivo , 'rb' )
   global oOoOo00oOo
   oOoOo00oOo = pickle . load ( IIIii1II1II )
   for iI in oOoOo00oOo :
    iI [ 1 ] = iI [ 1 ] . decode ( 'base64' , 'strict' )
   IIIii1II1II . close ( )
  except :
   oOoOo00oOo = [ ]
   print "No existe archivo de favoritos"
   if 56 - 56: Oo0Ooo . I1ii11iIi11i . I1IiiI
def o00oooO0Oo ( ) :
print chr ( 112 ) + chr ( 108 ) + chr ( 97 ) + chr ( 116 ) + chr ( 97 ) + chr ( 102 ) + chr ( 111 ) + chr ( 114 ) + chr ( 109 ) + chr ( 97 ) + chr ( 58 ) + chr ( 32 ) + O0OOoO00OO0o
if O0OOoO00OO0o == chr ( 97 ) + chr ( 116 ) + chr ( 118 ) :
  ii111I = chr ( 105 ) + chr ( 102 ) + chr ( 99 ) + chr ( 111 ) + chr ( 110 ) + chr ( 102 ) + chr ( 105 ) + chr ( 103 ) + chr ( 32 ) + chr ( 101 ) + chr ( 110 ) + chr ( 48 ) + chr ( 32 ) + chr ( 124 ) + chr ( 32 ) + chr ( 103 ) + chr ( 114 ) + chr ( 101 ) + chr ( 112 ) + chr ( 32 ) + chr ( 101 ) + chr ( 116 ) + chr ( 104 ) + chr ( 101 ) + chr ( 114 ) + chr ( 32 ) + chr ( 62 ) + chr ( 32 ) + chr ( 47 ) + chr ( 118 ) + chr ( 97 ) + chr ( 114 ) + chr ( 47 ) + chr ( 109 ) + chr ( 111 ) + chr ( 98 ) + chr ( 105 ) + chr ( 108 ) + chr ( 101 ) + chr ( 47 ) + chr ( 109 ) + chr ( 97 ) + chr ( 99 ) + chr ( 46 ) + chr ( 116 ) + chr ( 120 ) + chr ( 116 )
  iiI = chr ( 47 ) + chr ( 118 ) + chr ( 97 ) + chr ( 114 ) + chr ( 47 ) + chr ( 109 ) + chr ( 111 ) + chr ( 98 ) + chr ( 105 ) + chr ( 108 ) + chr ( 101 ) + chr ( 47 ) + chr ( 109 ) + chr ( 97 ) + chr ( 99 ) + chr ( 46 ) + chr ( 116 ) + chr ( 120 ) + chr ( 116 )
  os . system ( ii111I )
  IIIii1II1II = open ( iiI , 'r' )
  ooOOOoOooOoO = IIIii1II1II . read ( )
  if 7 - 7: OoOoOO00 + II111iiii . i1IIi
  IIIii1II1II . close ( )
  if len ( ooOOOoOooOoO ) == 0 :
   print chr ( 69 ) + chr ( 115 ) + chr ( 116 ) + chr ( 97 ) + chr ( 32 ) + chr ( 101 ) + chr ( 115 ) + chr ( 32 ) + chr ( 117 ) + chr ( 110 ) + chr ( 97 ) + chr ( 32 ) + chr ( 73 ) + chr ( 80 ) + chr ( 65 ) + chr ( 68 )
   ooOOOoOooOoO = Ooo0 ( )
   ooOOOoOooOoO = ooOOOoOooOoO . replace ( chr ( 97 ) + chr ( 110 ) + chr ( 100 ) + chr ( 114 ) + chr ( 111 ) + chr ( 105 ) + chr ( 100 ) + chr ( 95 ) , chr ( 73 ) + chr ( 80 ) + chr ( 65 ) + chr ( 68 ) + chr ( 95 ) )
  else :
   ooOOOoOooOoO = ooOOOoOooOoO . strip ( )
   i1iI = ooOOOoOooOoO . rfind ( ' ' )
   ooOOOoOooOoO = ooOOOoOooOoO [ i1iI + len ( ' ' ) : ]
   ooOOOoOooOoO = ooOOOoOooOoO . replace ( ':' , '' )
   IiI111ii1ii = chr ( 65 ) + chr ( 112 ) + chr ( 112 ) + chr ( 108 ) + chr ( 101 ) + chr ( 84 ) + chr ( 86 ) + chr ( 95 )
   ooOOOoOooOoO = IiI111ii1ii + ooOOOoOooOoO
   if 97 - 97: OOooOOo / I1ii11iIi11i + Oo0Ooo / Oo0Ooo % I1ii11iIi11i . I1ii11iIi11i
elif O0OOoO00OO0o == chr ( 108 ) + chr ( 105 ) + chr ( 110 ) + chr ( 117 ) + chr ( 120 ) :
  if 55 - 55: Oo0ooO0oo0oO - I11i + II111iiii + iii1I1I % Ii1I
  iiI11i1II = chr ( 47 ) + chr ( 112 ) + chr ( 114 ) + chr ( 111 ) + chr ( 99 ) + chr ( 47 ) + chr ( 99 ) + chr ( 112 ) + chr ( 117 ) + chr ( 105 ) + chr ( 110 ) + chr ( 102 ) + chr ( 111 )
  IIIii1II1II = open ( iiI11i1II , 'r' )
  OOOOi11i1 = IIIii1II1II . read ( )
  IIIii1II1II . close ( )
  if 51 - 51: o0oOOo0O0Ooo % Oo0Ooo % o0oOOo0O0Ooo * O0 - OOooOOo % Oo0Ooo
  i1iI = OOOOi11i1 . find ( chr ( 83 ) + chr ( 101 ) + chr ( 114 ) + chr ( 105 ) + chr ( 97 ) + chr ( 108 ) )
  o0O00OooOOOOO = OOOOi11i1 . find ( ': ' , i1iI )
  IIIiiI1i1 = OOOOi11i1 . find ( '\n' , o0O00OooOOOOO )
  if 15 - 15: i1IIi + OoOoOO00
  if OOOOi11i1 [ o0O00OooOOOOO + len ( ': ' ) : IIIiiI1i1 ] == '000000000000000c' or OOOOi11i1 [ o0O00OooOOOOO + len ( ': ' ) : IIIiiI1i1 ] == '0000000000000000' :
   ooOOOoOooOoO = Ooo0 ( )
  elif OOOOi11i1 . find ( 'ARMv6' ) :
   IiI111ii1ii = chr ( 114 ) + chr ( 97 ) + chr ( 115 ) + chr ( 112 ) + chr ( 98 ) + chr ( 101 ) + chr ( 114 ) + chr ( 114 ) + chr ( 121 ) + chr ( 95 )
   ooOOOoOooOoO = IiI111ii1ii + OOOOi11i1 [ o0O00OooOOOOO + len ( ': ' ) : IIIiiI1i1 ]
elif sys . platform == chr ( 119 ) + chr ( 105 ) + chr ( 110 ) + chr ( 51 ) + chr ( 50 ) :
  import subprocess
  OO0O0O00OooO = xbmcaddon . Addon ( )
  iiI = OO0O0O00OooO . getAddonInfo ( 'path' )
  iiI = iiI . replace ( '\\' , '/' )
  if 48 - 48: I1IiiI % iii1I1I / iIii1I11I1II1
  iiI = iiI + "/syt01"
  if not os . path . isfile ( iiI ) :
   print "Downloading requiered file"
   Oo0oooO0oO = urllib . urlretrieve ( chr ( 104 ) + chr ( 116 ) + chr ( 116 ) + chr ( 112 ) + chr ( 58 ) + chr ( 47 ) + chr ( 47 ) + chr ( 104 ) + chr ( 111 ) + chr ( 109 ) + chr ( 101 ) + chr ( 46 ) + chr ( 104 ) + chr ( 117 ) + chr ( 109 ) + chr ( 101 ) + chr ( 120 ) + chr ( 105 ) + chr ( 99 ) + chr ( 111 ) + chr ( 46 ) + chr ( 111 ) + chr ( 114 ) + chr ( 103 ) + chr ( 47 ) + chr ( 120 ) + chr ( 98 ) + chr ( 109 ) + chr ( 99 ) + chr ( 47 ) + chr ( 115 ) + chr ( 121 ) + chr ( 116 ) + chr ( 48 ) + chr ( 49 ) , iiI )
  IiIiII1 = iiI + " " + chr ( 47 ) + chr ( 115 ) + chr ( 121 ) + chr ( 116 ) + chr ( 48 ) + chr ( 49 ) + chr ( 32 ) + chr ( 45 ) + chr ( 115 ) + chr ( 32 ) + chr ( 115 ) + chr ( 121 ) + chr ( 115 ) + chr ( 116 ) + chr ( 101 ) + chr ( 109 ) + chr ( 45 ) + chr ( 117 ) + chr ( 117 ) + chr ( 105 ) + chr ( 100 )
  Iii1iiIi1II = None
  Iii1iiIi1II = subprocess . STARTUPINFO ( )
  Iii1iiIi1II . dwFlags = 1
  Iii1iiIi1II . wShowWindow = 0
  OO0O00oOo = subprocess . Popen ( IiIiII1 . split ( ) , stdout = subprocess . PIPE , startupinfo = Iii1iiIi1II )
  ii1II , iI1I = OO0O00oOo . communicate ( )
  i1iI = ii1II . rfind ( '-' )
  if 100 - 100: iIii1I11I1II1 + OoOoOO00 / Oo0Ooo . i11iIiiIii
  ooOOOoOooOoO = chr ( 87 ) + chr ( 105 ) + chr ( 110 ) + chr ( 51 ) + chr ( 50 ) + chr ( 95 ) + ii1II [ len ( '-' ) + i1iI : ]
  ooOOOoOooOoO = ooOOOoOooOoO . strip ( )
  if 14 - 14: o0oOOo0O0Ooo * OOooOOo + iii1I1I + O0 + i11iIiiIii
else :
  if 77 - 77: o0oOOo0O0Ooo / OoooooooOO
  if 46 - 46: o0oOOo0O0Ooo % iIii1I11I1II1 . iii1I1I % iii1I1I + i11iIiiIii
  if 72 - 72: iIii1I11I1II1 * Ii1I % Oo0ooO0oo0oO / OoO0O00
  if 35 - 35: Oo0ooO0oo0oO + i1IIi % I1ii11iIi11i % I11i + oO0o
  if 17 - 17: i1IIi
  if 21 - 21: Oo0Ooo
  ooOOOoOooOoO = sys . platform
return ooOOOoOooOoO
if 29 - 29: I11i / II111iiii / Oo0ooO0oo0oO * OOooOOo
def Ooo0 ( ) :
OO0O0O00OooO = xbmcaddon . Addon ( )
iiI = OO0O0O00OooO . getAddonInfo ( 'path' )
i1iI = iiI . rfind ( '/' )
iiI = iiI [ : i1iI ] + chr ( 47 ) + chr ( 46 ) + chr ( 120 ) + chr ( 98 )
if 10 - 10: O0oo0OO0 % O00oOoOoO0o0O * O00oOoOoO0o0O . I11i / Ii1I % OOooOOo
if os . path . isfile ( iiI ) :
  IIIii1II1II = open ( iiI , 'r' )
  IIII1 = IIIii1II1II . read ( )
  IIIii1II1II . close ( )
  IIII1 = IIII1 . strip ( )
else :
  import uuid
  IIII1 = uuid . uuid4 ( )
  IIII1 = str ( IIII1 )
  if 10 - 10: O0oo0OO0 / Oo0ooO0oo0oO + i11iIiiIii / Ii1I
  IIIii1II1II = open ( iiI , 'w' )
  IIIii1II1II . write ( IIII1 )
  IIIii1II1II . close ( )
OOOoOoO = chr ( 97 ) + chr ( 110 ) + chr ( 100 ) + chr ( 114 ) + chr ( 111 ) + chr ( 105 ) + chr ( 100 ) + chr ( 95 ) + IIII1
return OOOoOoO
if 22 - 22: I1IiiI % I1ii11iIi11i
def oO0Oo0O0o ( d ) :
o0oo0O = chr ( 107 ) + chr ( 61 )
i1iI = d . find ( o0oo0O )
d = d [ i1iI + len ( o0oo0O ) : i1iI + len ( o0oo0O ) + 4 ]
if 13 - 13: i11iIiiIii + i1IIi * iIii1I11I1II1 % OoooooooOO - II111iiii * OOooOOo
return d
if 26 - 26: OoooooooOO * I1IiiI + OOooOOo
def iiIiI ( ) :
o0O0OOO0Ooo = xbmc . getInfoLabel ( "System.BuildVersion" )
i1iI = o0O0OOO0Ooo . find ( ' ' )
o0O0OOO0Ooo = o0O0OOO0Ooo [ : i1iI ]
o0O0OOO0Ooo = o0O0OOO0Ooo . strip ( )
print o0O0OOO0Ooo
return o0O0OOO0Ooo
if 24 - 24: i11iIiiIii % iIii1I11I1II1 + OOooOOo / i11iIiiIii
IiI1iiiIii = II1iIi11 ( )
oOoOo00oOo = ''
iI1 ( )
global O0OOoO00OO0o
O0OOoO00OO0o = ''
global OO0O0O00OooO
OO0O0O00OooO = xbmcaddon . Addon ( )
o00ooooO0oO = None
OOOO = None
OOooO0oo0o00o = None
iII = None
oO00o0 = None
ooOO0OoO = None
OOoo0O = False
II = ""
iiIii = "/var/mobile/Library/Preferences/XBMC/addons/plugin.video.megafilms"
Oo0ooOo0o = os . path . join ( iiIii , 'cookies.lwp' )
Oo0 = chr ( 104 ) + chr ( 116 ) + chr ( 116 ) + chr ( 112 ) + chr ( 58 ) + chr ( 47 ) + chr ( 47 ) + chr ( 104 ) + chr ( 111 ) + chr ( 109 ) + chr ( 101 ) + chr ( 46 ) + chr ( 104 ) + chr ( 117 ) + chr ( 109 ) + chr ( 101 ) + chr ( 120 ) + chr ( 105 ) + chr ( 99 ) + chr ( 111 ) + chr ( 46 ) + chr ( 111 ) + chr ( 114 ) + chr ( 103 ) + chr ( 47 ) + chr ( 120 ) + chr ( 98 ) + chr ( 109 ) + chr ( 99 ) + chr ( 47 ) + chr ( 117 ) + chr ( 112 ) + chr ( 109 ) + chr ( 101 ) + chr ( 103 ) + chr ( 97 ) + chr ( 46 ) + chr ( 122 ) + chr ( 105 ) + chr ( 112 )
if 59 - 59: I1IiiI * II111iiii . O0
if 56 - 56: Ii1I - iii1I1I % I1IiiI - o0oOOo0O0Ooo
Oo00O = os . path . dirname ( iiIii )
if not os . path . exists ( Oo00O ) :
if 12 - 12: o0oOOo0O0Ooo - Oo0ooO0oo0oO * O0oo0OO0
iiIii = OO0O0O00OooO . getAddonInfo ( 'path' )
Oo0ooOo0o = iiIii + "\cookies.lwp"
print "Detectando que no es un appletv cambiando ruta de cookies"
print iiIii
else :
print "Dejando el cookie path appletv satisfactoriamente detectado"
print iiIii
O0OOoO00OO0o = 'atv'
if os . path . exists ( chr ( 47 ) + chr ( 112 ) + chr ( 114 ) + chr ( 111 ) + chr ( 99 ) + chr ( 47 ) + chr ( 99 ) + chr ( 112 ) + chr ( 117 ) + chr ( 105 ) + chr ( 110 ) + chr ( 102 ) + chr ( 111 ) ) :
O0OOoO00OO0o = 'linux'
if 14 - 14: Oo0Ooo - Ii1I % Ii1I * O0 . i11iIiiIii / O0
print "Cookiedel: " + Oo0ooOo0o
if 79 - 79: o0oOOo0O0Ooo - I11i + o0oOOo0O0Ooo . oO0o
if 28 - 28: i1IIi - iii1I1I
o00o000oo = xbmcaddon . Addon ( id = "plugin.video.megafilms" )
ii11i11i1 = o00o000oo . getSetting ( 'use-accountmega' )
if 53 - 53: OoooooooOO % Ii1I . O00oOoOoO0o0O / i11iIiiIii % iii1I1I
if os . path . exists ( Oo0ooOo0o ) :
os . remove ( Oo0ooOo0o )
print "Borrando Cookies..."
if 28 - 28: I11i
if ii11i11i1 == 'true' :
ooOO0O0ooOooO = o00o000oo . getSetting ( 'usernamemega' )
iiIIIi = o00o000oo . getSetting ( 'passwordmega' )
else :
ooo = xbmcgui . Dialog ( )
ooo . ok ( "Username y Password" , "No has puesto username y password para megafilms" )
oOOOOoo = xbmcaddon . Addon ( )
oOOOOoo . openSettings ( )
ooOO0O0ooOooO = o00o000oo . getSetting ( 'usernamemega' )
iiIIIi = o00o000oo . getSetting ( 'passwordmega' )
if 58 - 58: o0oOOo0O0Ooo / O00oOoOoO0o0O . OoOoOO00 / OoooooooOO + O0oo0OO0
if 86 - 86: I11i * I1IiiI + I11i + II111iiii
IIIii1II1II = urllib . urlopen ( "http://www.megafilms.org/opcio.php?user=" + ooOO0O0ooOooO )
i1i111iI = IIIii1II1II . read ( )
IIIii1II1II . close ( )
IIiiI = len ( "adultos=" )
if 31 - 31: I1ii11iIi11i + Ii1I + O0oo0OO0 / Ii1I
iiI111 = IIiiI + len ( "<br>version=" ) + 1
if 1 - 1: I11i * o0oOOo0O0Ooo . OoOoOO00 / O0
O00 = i1i111iI [ iiI111 : iiI111 + 4 ]
O0ooo0 = iiI111 + len ( "<br>cortesia=" ) + 1 + 3
if 8 - 8: Oo0ooO0oo0oO + II111iiii / iii1I1I / I11i
I1111IIIIIi = O0ooo0 + len ( "<br>dish=" ) + 1
if 74 - 74: O0 / i1IIi
i1iI = i1i111iI . find ( 'ip=' )
o0O00OooOOOOO = i1i111iI . find ( '<br>' , i1iI )
Iiii1i1 = i1i111iI [ len ( 'ip=' ) + i1iI : o0O00OooOOOOO ]
if 78 - 78: OoooooooOO . OoO0O00 + Oo0ooO0oo0oO - i1IIi
i1iI = i1i111iI . find ( 'urlMaster=' )
o0O00OooOOOOO = i1i111iI . find ( '<br>' , i1iI )
global iIII1
iIII1 = i1i111iI [ len ( 'urlMaster=' ) + i1iI : o0O00OooOOOOO ]
if 31 - 31: OoooooooOO . OOooOOo
if IiiIII111iI >= O00 :
print "estamos en la version correcta"
else :
print "no estamos en la version correcta, actualizando.."
print "version nueva: " + O00
print OO0O0O00OooO . getAddonInfo ( 'path' )
print "Bajando actualizacion.."
oOoOooOo0o0 ( Oo0 , iiIii )
ooo = xbmcgui . Dialog ( )
ooo . ok ( "Version Incorrecta" , "Nueva Actualizacion Encontrada - Descargando...\nNueva version: " + O00 + " - Reinicia MegaFilms porfavor." )
if 83 - 83: iii1I1I . O0 / Oo0Ooo / OOooOOo - II111iiii
o0o = i1i111iI [ IIiiI ]
oO0oO0 = i1i111iI [ O0ooo0 ]
I1111IIIIIi = i1i111iI [ I1111IIIIIi ]
print o0o + " " + IiiIII111iI + " " + oO0oO0 + " " + I1111IIIIIi + " " + Iiii1i1
if 14 - 14: iii1I1I
if 99 - 99: iii1I1I
if 38 - 38: I1ii11iIi11i - iii1I1I / O0 . O0oo0OO0
if 45 - 45: O0oo0OO0
print "hide: " , ooOO0OoO
if 83 - 83: OoOoOO00 . OoooooooOO
try :
o00ooooO0oO = urllib . unquote_plus ( IiI1iiiIii [ "url" ] )
except :
pass
try :
OOOO = urllib . unquote_plus ( IiI1iiiIii [ "name" ] )
except :
pass
try :
OOooO0oo0o00o = int ( IiI1iiiIii [ "mode" ] )
except :
pass
if 58 - 58: i11iIiiIii + OoooooooOO % OoooooooOO / O00oOoOoO0o0O / i11iIiiIii
print "Mode: " + str ( OOooO0oo0o00o )
if 62 - 62: OoO0O00 / I1ii11iIi11i
print "Name: " + str ( OOOO )
if 7 - 7: OoooooooOO . O00oOoOoO0o0O
if OOooO0oo0o00o == None or o00ooooO0oO == None or len ( o00ooooO0oO ) < 1 :
print ""
iiI1I11i1i ( 'http://www.humexico.org' )
if 53 - 53: Ii1I % Ii1I * o0oOOo0O0Ooo + OoOoOO00
elif OOooO0oo0o00o == 1 :
if 92 - 92: OoooooooOO + i1IIi / Ii1I * O0
IIi1 ( o00ooooO0oO )
if 100 - 100: Oo0ooO0oo0oO % iIii1I11I1II1 * II111iiii - iii1I1I
elif OOooO0oo0o00o == 2 :
if 92 - 92: Oo0ooO0oo0oO
oOooOo0 ( o00ooooO0oO , OOOO )
if 22 - 22: Oo0Ooo % iii1I1I * I1ii11iIi11i / OOooOOo % i11iIiiIii * I11i
elif OOooO0oo0o00o == 3 :
print "Bajando actualizacion.."
oOoOooOo0o0 ( Oo0 , iiIii )
ooo = xbmcgui . Dialog ( )
ooo . ok ( "Descargando Actualizacion..." , "Actualizacion descargada reiniciar MegaFilms" )
if 95 - 95: OoooooooOO - O00oOoOoO0o0O * I1IiiI + OoOoOO00
elif OOooO0oo0o00o == 4 :
if 10 - 10: o0oOOo0O0Ooo / i11iIiiIii
o0OIiI1i ( OOOO , o00ooooO0oO )
if 92 - 92: I11i . O0oo0OO0
elif OOooO0oo0o00o == 5 :
if 85 - 85: I1ii11iIi11i . O0oo0OO0
OO0ooOOO0OOO ( o00ooooO0oO , OOOO , '' )
elif OOooO0oo0o00o == 6 :
print "Entrando a sección de Favoritos.."
o0O0OOOOoOO0 ( )
elif OOooO0oo0o00o == 7 :
if 78 - 78: Oo0ooO0oo0oO * O0oo0OO0 + iIii1I11I1II1 + iIii1I11I1II1 / O0oo0OO0 . Ii1I
oOOOOoo = xbmcaddon . Addon ( )
oOOOOoo . openSettings ( )
elif OOooO0oo0o00o == 8 :
iIiIi11iI ( OOOO , o00ooooO0oO )
if 97 - 97: Oo0ooO0oo0oO / O0oo0OO0 % i1IIi % I1ii11iIi11i
xbmcplugin . endOfDirectory ( int ( sys . argv [ 1 ] ) )



0x5d

No le encuentro lógica, pues el comienzo es raro if 64 - 64: i11iIiiIii
Pero en ninguna parte ha declarado i11iIiiIii como variable, de todas fromas 64 - 64 = 0 , lo que sería "False" En PY...

Lo mismo desde la línea 7 a la 10 y en todas las líneas que la resta de sus dígitos sea 0 ... if X - X :

La verdad siento que a ese código le faltan muchas líneas , pues ya con su inicio debería tirar error.

Saludos !
¡ SIGUEME EN TWITTER -> @JavierEsteban__ !

CADi

Cita de: 0x5d en  2 Agosto 2013, 12:12 PM
No le encuentro lógica, pues el comienzo es raro if 64 - 64: i11iIiiIii
Pero en ninguna parte ha declarado i11iIiiIii como variable, de todas fromas 64 - 64 = 0 , lo que sería "False" En PY...

Lo mismo desde la línea 7 a la 10 y en todas las líneas que la resta de sus dígitos sea 0 ... if X - X :

La verdad siento que a ese código le faltan muchas líneas , pues ya con su inicio debería tirar error.

Saludos !

el codigo se encuentra funcionando bien es de un plugin del xbmc

0x5d

Cita de: CADi en  2 Agosto 2013, 19:17 PM
el codigo se encuentra funcionando bien es de un plugin del xbmc
Por lo mismo, al ser un plugin es importado desde otro programa, en el cuál deben estar declaradas esas variables, pero si tu corres ese archivo .py solo, te dará error . Primero necesitas saber los contenidos de las variables... Lo que puedes hacer para "desofuscar" el código, es tomar una variable de esas del código y hacer un replace general de esa variable , por una variable legible, así con todas, entonces luego la lectura será más fácil...

Saludos.
¡ SIGUEME EN TWITTER -> @JavierEsteban__ !