import re
js='''<script type="text/javascript">.........</script>'''
#去掉<script>标签
js=js[31:-9]
for st in ['window','location',"'assign'","'href'","'replace'"]:
equal=re.findall('[_A-Za-z0-9 =]+%s;'%st,js)#找到变量赋值等式
if equal==[]:#有可能没有
continue
else:
equal=equal[0]
var=equal.split('=')[0].strip()#找出变量名
#把等式干掉
js=js.replace(equal,'')
#把变量替换成它真正的意思
js=js.replace(var,st)
#把['xx'] 替换成 .xx
js=js.replace("['%s']"%st.strip("'"),'.%s'%st.strip("'"))
#将 window.href= 后的内容踢掉,因为当 PyV8 只输出最后一个等式的值
if re.findall('window\.href=.+',js)!=[]:
js=js.replace(re.findall('window\.href=.+',js)[0],'')
#删掉
location.xxx=
js=js.replace('location.href=','').replace('location.replace','').replace('location.assign','')
其中 js='''<script type="text/javascript">.........</script>''' 这里是一段很长的字符串,这个不是重点,太长了就省略了。我在一个大神的博客看到的这段代码,作用是处理一段 js 的混淆脚本,从一段很混乱的 js 代码中找到需要的参数,就这么简单。
最头疼的是我看不懂 python,基础的语法也看不懂,向大家请教一下,有没有帮我翻译一下,非常感谢。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/530422
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.