本文主要是介绍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涛哥的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!