脚本宝典收集整理的这篇文章主要介绍了Python爬虫从入门到精通:(42)JS逆向-闭包:凡科网逆向分析_Python涛哥,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
JS源码分析
直接请求抓包如下:
我们看到密文就是一个MD5
的形式。
那么我们来分析下JS代码。
搜索pwd
的时候,我们看到有49个。为了方便,我们可以试着搜索pwd:
、pwd :
、pwd=
、pwd =
。
在搜索pwd=
时,就看到了关于md5
的函数:
我们打断点定位后,发现果然是这段,我们点进去这个md5
的函数:
进去之后我们看到了这段md5
的实现方式。
当我们准备复制这一长段代码的时候,我们看到这是一个函数内包含的函数,那就很容易想要这个是一个闭包
:
那么,我们就把这个闭包函数,全部复制到调试工具里。
然后我们看到,自动就生成了一个md5函数
:
计算表达式,我们就获取到了密文:
Python代码
JS分析完了,那Python代码就很容易写了。
创建一个fanke.js
文件,把刚才的JS代码复制进去。
import execjs
# 进行密码逆向
node = execjs.get()
ctx = node.compile(open('./fanke.js', encoding='utf-8').read())
funcName = 'md5("{0}")'.format('123456')
pwd = ctx.eval(funcName)
print(pwd)
运行后,我们就看到了结果!
注意:
如果需要逆向的js
函数的实现是出现在一个闭包中,那么直接将闭包的整个代码块拷贝出进行调试即可。
关注Python涛哥!学习更多Python知识!
以上是脚本宝典为你收集整理的Python爬虫从入门到精通:(42)JS逆向-闭包:凡科网逆向分析_Python涛哥全部内容,希望文章能够帮你解决Python爬虫从入门到精通:(42)JS逆向-闭包:凡科网逆向分析_Python涛哥所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。