Advertisement
Guest User

Untitled

a guest
Feb 7th, 2019
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.94 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import re
  4. import base64
  5.  
  6. def ASCIIDecode(string):
  7.     i = 0
  8.     l = len(string)
  9.     ret = ''
  10.     while i < l:
  11.         c = string[i]
  12.         if string[i:(i+2)] == '\\x':
  13.             c = chr(int(string[(i+2):(i+4)],16))
  14.             i+=3
  15.         if string[i:(i+2)] == '\\u':
  16.             c = chr(int(string[(i+2):(i+6)],16))
  17.             i+=5    
  18.         ret = ret + str(c)
  19.         i += 1
  20.  
  21.     return ret
  22.  
  23. #open file https://www.animedigitalnetwork.fr/components/com_vodvideo/videojs/adn-vjs.min.js
  24. fh = open('G:\\Python\\adndecode\\page.js', "r")
  25. sHtmlContent = fh.read()#.decode('utf-16','replace')
  26. fh.close()
  27.  
  28. #nettoyage
  29. #sHtmlContent = sHtmlContent.decode('unicode_escape')
  30. sHtmlContent = ASCIIDecode(sHtmlContent)
  31. sHtmlContent = sHtmlContent.replace("['|\"]","[\\'|\"]")
  32. sHtmlContent = sHtmlContent.replace("\n","\\n")
  33.  
  34. #print (sHtmlContent)
  35. #fh = open('G:\\Python\\adndecode\\page.txt', "wb")
  36. #fh.write((sHtmlContent).encode('utf-8') )
  37. #fh.close()
  38.  
  39. #1 processing
  40. r = re.search('^var (_0x[0-9a-f]+)=\[([^]]+)\];',sHtmlContent)
  41. if not r:
  42.     print('erreur 1')
  43.    
  44. V1 = r.group(1)
  45. T1 = r.group(2)
  46. sHtmlContent = sHtmlContent[r.end():]
  47.  
  48. T1 = T1.replace("'","").split(',')
  49. i = 0
  50. for j in T1:
  51.     T1[i] = base64.b64decode(T1[i])
  52.     i = i + 1
  53. print (T1)
  54.  
  55. #2 eme processing
  56. r = re.findall('(_0x[0-9a-f]+)\[.base64DecodeUnicode.\]',sHtmlContent)
  57. if not r:
  58.     print('erreur 2')
  59.    
  60. V2 = r[0]
  61. print (V2)
  62. r = re.findall( V2 + '\(.(0x[0-9a-f]+).\)',sHtmlContent)
  63. if not r:
  64.     print('erreur 3')
  65. for i in r:
  66.     print (i)
  67.     remp = "'" + T1[ int(i, 16) ].decode("utf-8").replace("'",' ') + "'"
  68.     print ( V2 + "('" + str(i)  + "') replace par " + remp  )
  69.     sHtmlContent = sHtmlContent.replace( V2 + "('" + str(i)  + "')" , remp )
  70.  
  71.  
  72. #Sauvegarde, desole pas trouve plus propre
  73. fh = open('G:\\Python\\adndecode\\page.txt', "wb")
  74. fh.write(sHtmlContent.encode('utf-8') )
  75. fh.close()
  76.  
  77. #print (sHtmlContent)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement