微信公众平台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 可执行程序 )(代码片段

pbootcms对接微信扫码登录代码核心片段和步骤(前后端)

微信公众平台js接口安全域名是啥

微信公众平台网页开发实战--1.微信分享一个网页到朋友圈