微信公众平台js算法逆向
Posted J哥。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信公众平台js算法逆向相关的知识,希望对你有一定的参考价值。
大家好我是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)
看到这里了就留下你的足迹吧,谢谢!
以上是关于微信公众平台js算法逆向的主要内容,如果未能解决你的问题,请参考以下文章
微信公众平台JS 复制粘贴代码问题,为啥微信上面不能用?在手机浏览器上面都行
JS 逆向百例网洛者反爬练习平台第六题:JS 加密,环境模拟检测
Android 逆向Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(代码片段