python爬虫 微信公众号模拟登陆js解密

过程中使用的应用:
1.python 3.6以上的环境
2.vscode
3.node.js环境
4.pychram
5.360极速浏览器
打开这个网址 微信公众号
账号密码随便输入 然后 F12 审查元素 记得要点xhr 异步加载这样会出现后续的信息

然后下一步是点击登陆 出现下面的加载情况

然后会发现我输入的密码是’12345’ 但是pwd是’827ccb0eea8a706c4c34a16891f84e7b’
那这边肯定是进行了js加密了。只要我们找到加密的算法就可以了。

第二步

我们进入sources界面 这样会方便我们找到生成pwd的js加密过程算法

我们需要找到生成pwd的js代码段 然后一眼就能看到login这种敏感词
完美就直接进入这里面的代码段

如果你双击进入发现是一行很长的代码,点一下搜索栏下面的{},这样会把代码变得成明朗一下。
然后根据观察你可以看到pwd的生成是

 pwd: u(n.pwd.substr(0, 16)),

所以我测试一下 打一个断点 ,看是否是这一行代码,

再继续点击一下登陆的按钮
就会出现

这样的页面。我们就能看到我们输入的账号密码都在这,所以这肯定就是我们要找的生成pwd的方法了。
接下来就是为什么我要推荐你们用360极速浏览器的原因的

将鼠标放在这个u上 会直接显示这个u的生成原因js代码
我们就可以直接双击到f anonymous(e,t,n)
直接去那个js代码就可以了
就直接到了生成pwd的原始代码了js片段上了
然后我们将这个最外面的那层function的代码复制到vscode上
其实我们只要将这个向上翻一翻 我们会发现在一片的代码

其实这也是典型的md5加密的,这样的我们的思路就很清晰了
只要我们将这段代码改写一下就可以获取到post请求中的pwd值了
vscode 中是需要运行环境的 node.js 不然js代码运行不了 无法测试

我们将这段代码改写一下 n.exports = function(e, t, n) {return t ? n ? a(t, e) : o(a(t, e)) : n ? r(e) : o(r(e))
改成
function getpwd(e, t, n) {return t ? n ? a(t, e) : o(a(t, e)) : n ? r(e) : o(r(e))
}

然后我们运行 出来的结果

这样我们的pwd就破解出来了。

第三步

我们将js代码写入到python 程序中 中间会用一个包 pyexecjs
然后代码是

import execjsjs_ex = execjs.get()
# 写入js文件
ctx = js_ex.compile(open('new_file.js',encoding='utf-8').read())# 执行js函数
funtion_js = 'getpwd("{0}")'.format('12345')
pwd = ctx.eval(funtion_js)
print(pwd)


运行的结果就是我们当时看到的pwd

剩下就是简单的post请求 就可以模拟登陆了。记得要使用session()一下 可以维持登陆的信息。

希望可以喜欢。js代码太长了 有需要js代码的可以私聊我一下。

python爬虫 微信公众号模拟登陆js解密相关推荐

  1. [python 爬虫]微信公众号权律二表情和壁纸爬虫

    搜狗搜索引擎可以搜索到微信的公众号,许久没有爬虫了,最近买了崔大神的<python网络爬虫开发实战>,感觉又回到了一年前初学爬虫时满怀激情的时代.下面小试牛刀,利用一些基本的库 reque ...

  2. 基于Python实现微信公众号爬虫进行数据分析

    学爬虫有什么用 网络爬虫是一个非常注重实践性而且实用性很强的编程技能,它不是程序员的专属技能,任何具有一定编程基础的人都可以学习爬虫,写爬虫分析股票走势,上链家爬房源分析房价趋势,爬知乎.爬豆瓣.爬新 ...

  3. python爬微信公众号视频_python爬虫公众号所有信息,并批量下载公众号视频

    之前写过一篇类似的文章:python爬取公众号,用最简单的方式爬虫 还有同学一直在问,可能中间有一些小细节不明确,这次彻底明确一下细节. 本篇添加一个批量下载公众号内视频的功能,可以实现完全复制一个公 ...

  4. 基于python的公众号课堂教学_基于Python的微信公众号数据挖掘分析

    基于Python的微信公众号数据挖掘分析 华南农业大学电子工程学院 王 建 黄宁香 [期刊名称]电子世界 [年(卷),期]2019(000)011 [总页数]3 运用Python网络爬虫技术对某时事类 ...

  5. python训练营微信公众号真实性_用python进行微信公众号开发(仅测试学习)

    今天看到篇教程,是用python开发微信公众号的,觉得有意思,就敲代码实现了一下,成功后更觉得好玩,故记录,方便开发深入时使用. 基础背景介绍: 首先得有个人微信号(没有自行注册),为方便测试学习: ...

  6. python开发微信公众号开发教程百度云_Python开发微信公众号后台(系列一)

    Python 开发微信公众号后台(系列一) 專 欄段晓晨,写过一点爬虫,写过几篇文章.能力虽 有限,会尽量把想说的东西讲清楚. 知乎 ID :段小草 知乎专栏:小段同学的杂记, https://zhu ...

  7. python下载微信公众号文章_python如何导出微信公众号文章方法详解

    1.安装wkhtmltopdf 下载地址:https://wkhtmltopdf.org/downloads.html 我测试用的是windows的,下载安装后结果如下 2 编写python 代码导出 ...

  8. 微信公众账户模拟登陆后的一系列操作

    <?php header("content-type:text/html;charset=utf-8");/*** wx_mass* * 完成微信公众账户模拟登陆后的一系列操 ...

  9. 基于python的微信公众号开发教程_基于python的微信公众号开发教程

    应广大python学员的期盼,九宝老师精心制作的"基于python的微信公众号开发"视频教程即将上线. 该课程秉承九宝培训一贯的"简单.高效.快速"的讲课原则, ...

  10. python使用微信设置-Python使用微信公众号实现自动回复

    原标题:Python使用微信公众号实现自动回复 作者:睿江云计算 Python作为一门热门的编程语言,已经被很多编程爱好者所使用,下面我们就看看它是怎么与公众号的对接,并且实现一些回复文字,图片内容. ...

最新文章

  1. es6数组去重_JavaScript数组去重
  2. 带你揭秘Web前端发展的前景以及技术
  3. Segment-段(SAP)
  4. web项目的两个创建形式website和webapplication
  5. Chapter4 Java流程控制之选择结构
  6. Keepalived实现双机热备
  7. 扫描仪 pfu_行业案例:扫描仪高效加持下的艺术工作室
  8. 韩国财长:韩国将按计划推进加密货币征税
  9. hadoop-KMS密钥管理服务配置使用
  10. Spring Boot 第一个程序
  11. Tex document以及beamer模式插入参考文献,插入超链接
  12. Bootstrap的js插件之側边栏停靠(affix)
  13. 工业自动化使用机器视觉检测的优势
  14. 【R语言】rep用法(自用)
  15. 【计算视觉】理解图像中基本概念:色调、色相、饱和度、对比度、亮度
  16. 程序员如何提升自己的代码质量?
  17. 简述分布式锁的3种实现方式
  18. 3.《解读基金:我的投资观与实践》读书笔记
  19. 还原精灵还原了mysql怎么办
  20. vc 实时显示系统时间

热门文章

  1. nvme linux raid,牛气!博通的NVMe RAID卡
  2. 涉密计算机设备保密管理系统,保密室设备——涉密计算机及移动存储介质保密管理系统(三合一)...
  3. 手算逆元及手动模拟扩展欧几里得算法及思路推导
  4. 矩阵 向量 线性变换 基变换
  5. 我的生信自学心得分享
  6. 智能创新引导工具软件——工作量分配和里程碑安排
  7. ArcGIS中shp文件的裁剪
  8. varchar(1)的怪异现象
  9. linux 虚拟启动失败,kvm虚拟机启动失败
  10. Mtalab 空间直线和球形的交点以及图像绘制