2018-10-27 18:58:52 +05:30
|
|
|
import re
|
2018-11-15 15:41:01 +05:30
|
|
|
|
2018-10-27 18:58:52 +05:30
|
|
|
from core.config import xsschecker
|
2018-11-15 15:41:01 +05:30
|
|
|
from core.utils import stripper
|
2018-10-27 18:58:52 +05:30
|
|
|
|
|
|
|
|
def jsContexter(script):
|
|
|
|
|
broken = script.split(xsschecker)
|
|
|
|
|
pre = broken[0]
|
|
|
|
|
pre = re.sub(r'(?s)\{.*?\}|(?s)\(.*?\)|(?s)".*?"|(?s)\'.*?\'', '', pre)
|
2018-10-28 23:56:12 +05:30
|
|
|
breaker = ''
|
2018-10-27 18:58:52 +05:30
|
|
|
num = 0
|
|
|
|
|
for char in pre:
|
|
|
|
|
if char == '{':
|
2018-10-28 23:56:12 +05:30
|
|
|
breaker += '}'
|
2018-10-27 18:58:52 +05:30
|
|
|
elif char == '(':
|
2018-10-28 23:56:12 +05:30
|
|
|
breaker += ';)'
|
2018-10-27 18:58:52 +05:30
|
|
|
elif char == '[':
|
2018-10-28 23:56:12 +05:30
|
|
|
breaker += ']'
|
2018-10-27 18:58:52 +05:30
|
|
|
elif char == '/':
|
|
|
|
|
try:
|
|
|
|
|
if pre[num + 1] == '*':
|
2018-10-28 23:56:12 +05:30
|
|
|
breaker += '/*'
|
2018-10-27 18:58:52 +05:30
|
|
|
except IndexError:
|
|
|
|
|
pass
|
2018-10-28 23:56:12 +05:30
|
|
|
elif char == '}':
|
|
|
|
|
breaker = stripper(breaker, '}')
|
|
|
|
|
elif char == ')':
|
|
|
|
|
breaker = stripper(breaker, ')')
|
|
|
|
|
elif breaker == ']':
|
|
|
|
|
breaker = stripper(breaker, ']')
|
2018-10-27 18:58:52 +05:30
|
|
|
num += 1
|
2018-11-15 15:41:01 +05:30
|
|
|
return breaker[::-1]
|