大家好我是J哥,js逆向已经是爬虫工程师进阶必会的了,今天我来带领大家演练一下关于微信公众平台js算法逆向的学习,希望对大家有所帮助。
一.首先我们对页面整体进行分析和我们所要配对的环境
https://mp.weixin.qq.com/
微信公众平台js算法逆向:
- js调试工具
- 发条js调试工具
- PyExecJs
- 实现使用python执行js代码
- 环境安装:
- 1.nodejs开发环境
- 2.pip install PyExecJs
- js算法改写初探
- 打断点
- 代码调试时,如果发现了相关变量的缺失,一般会给其定义成空字典即可
根据:Md5加密:hashvalue (反向暴力破解) 需要考虑时间和性能 - 16进制表示 - 16位/32位
推测出pwd是md5加密
接下来我们进行全局搜索:点击Search
在全局搜索中输入pwd进行抓包:点进去将有关键字的,你怀疑的进行打断点
打完断点你再从新按登录按钮就会在如下图的位置停止
再到发条js调试工具将你获得的js代码进行调试
注意:
js算法改写初探 - 打断点 - 代码调试时,如果发现了相关变量的缺失,一般会给其定义成空字典即可
调试完成后将你调试好的数据存入你的编译器中(后缀是.js格式)
再写py文件就可以了
# Md5加密
import execjs
# 实例化一个node对象
node = execjs.get()
# js源文件的编译
ctx = node.compile(open('wechat.js', encoding='utf-8').read())
# 执行js函数
funcName = 'getPwd("{0}")'.format('123456')
pwd = ctx.eval(funcName)
print(pwd)
看到这里了就留下你的足迹吧,谢谢!