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涛哥相关推荐
- Python爬虫从入门到精通:(36)CrawlSpider实现深度爬取_Python涛哥
我们来看下CrawlSpider实现深度爬取. 爬取阳光热线标题.状态.和详情页内容. https://wz.sun0769.com/political/index/politicsNewest?id ...
- python爬虫从入门到精通-Python爬虫从入门到精通视频(2018新版)
原标题:Python爬虫从入门到精通视频(2018新版) Python在软件质量控制.提升开发效率.可移植性.组件集成.丰富库支持等各个方面均处于先进地位,并且随着人工智能的兴起,Python发展得越 ...
- Python爬虫从入门到精通——爬虫实战:爬取今日头条图片新闻
分类目录:<Python爬虫从入门到精通>总目录 本文为实战篇,需提前学习Python爬虫从入门到精通中<基本库requests的使用>和<Ajax数据爬取(一):基本原 ...
- Python爬虫从入门到精通——解析库pyquery的使用
分类目录:<Python爬虫从入门到精通>总目录 解析库使用篇: 解析库re的使用:正则表达式 解析库XPath的使用 解析库Beautiful Soup的使用 解析库pyquery的使用 ...
- Python爬虫从入门到精通:(41)JS逆向_RSA加密,Steam加密逆向_Python涛哥
RSA加密: RSA加密算法是一种非对称加密算法.在公开密钥加密和电子商业中RSA被广泛使用. 非对称加密算法: 非对称加密算法需要两个密钥: 公开密钥(publickey:简称公钥) 私有密钥(pr ...
- Python爬虫从入门到精通:(43)JS逆向:完美世界RAS逆向_Python涛哥
完美世界有很多游戏,比较出名的就是诛仙.魔兽世界等.完美今天就来看下完美世界登陆的逆向分析! JS逆向解析 登陆的时候这里有个点击认证.没关系,完美先忽略它,直接点击.完美主要探讨密码的逆向方式. 抓 ...
- Python爬虫从入门到精通:(44)JS逆向:试客联盟的逆向分析_Python涛哥
我们来看下试客联盟的逆向分析,切换到密码登陆. JS代码解析 我们进行抓包.经过分析,我们看到密码可能在这个js里实现 点进去后,我们发现源码里有一段var key = new RSAKeyPair( ...
- python爬虫从入门到精通-Python网络爬虫开发从入门到精通
本书共分 3 篇,针对 Python 爬虫初学者,从零开始,系统地讲解了如何利用 Python 进行常见的网络爬虫的程序开发. 第 1 篇快速入门篇(第 1 章 ~ 第 9 章):本篇主要介绍了 Py ...
- Python爬虫从入门到精通:(38)分布式爬虫_Python涛哥
什么是分布式爬虫: 默认情况下,我们使用scrapy框架进行爬虫时使用的是单机爬虫,就是说它只能在一台电脑上运行,因为爬虫调度器当中的队列queue去重和set集合都只能在本机上创建的,其他电脑无法访 ...
最新文章
- cordova 学习笔记
- 文件上传之传统方式上传代码回顾
- Codeforces 558(C、D、E)总结
- php原生判断,JavaScript
- php闭包 js闭包,JavaScript闭包与PHP闭包的区别是什么?
- ubuntu截图保存到剪切板
- 微信H5开发问题集锦
- ZBrush中保存历史记录太多该如何解决
- 计算机的数学知识的手抄报图片大全,数学知识手抄报图片大全
- list保存到scv
- 后退N帧协议中发送窗口的尺寸大小
- Java代码安装maven jar_Java中Maven项目导出jar包配置的示例代码
- 一个屌丝程序猿的人生(十六)
- 相控非绝缘技术为何是黄金微针效用至高点?深度剖析相控射频微针差异
- java ssm野生动物公益保护网站系统
- 迅为开发板-i.MX6Q开发板飞思卡尔imx6开发板专业推荐
- 在Lua中使用枚举型变量
- 计算机机房雷电接地,关于计算机机房防雷、防静电及接地的若干问题
- Cesium空间数据的管理
- 购买《哈利波特》书方案