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涛哥相关推荐

  1. Python爬虫从入门到精通:(36)CrawlSpider实现深度爬取_Python涛哥

    我们来看下CrawlSpider实现深度爬取. 爬取阳光热线标题.状态.和详情页内容. https://wz.sun0769.com/political/index/politicsNewest?id ...

  2. python爬虫从入门到精通-Python爬虫从入门到精通视频(2018新版)

    原标题:Python爬虫从入门到精通视频(2018新版) Python在软件质量控制.提升开发效率.可移植性.组件集成.丰富库支持等各个方面均处于先进地位,并且随着人工智能的兴起,Python发展得越 ...

  3. Python爬虫从入门到精通——爬虫实战:爬取今日头条图片新闻

    分类目录:<Python爬虫从入门到精通>总目录 本文为实战篇,需提前学习Python爬虫从入门到精通中<基本库requests的使用>和<Ajax数据爬取(一):基本原 ...

  4. Python爬虫从入门到精通——解析库pyquery的使用

    分类目录:<Python爬虫从入门到精通>总目录 解析库使用篇: 解析库re的使用:正则表达式 解析库XPath的使用 解析库Beautiful Soup的使用 解析库pyquery的使用 ...

  5. Python爬虫从入门到精通:(41)JS逆向_RSA加密,Steam加密逆向_Python涛哥

    RSA加密: RSA加密算法是一种非对称加密算法.在公开密钥加密和电子商业中RSA被广泛使用. 非对称加密算法: 非对称加密算法需要两个密钥: 公开密钥(publickey:简称公钥) 私有密钥(pr ...

  6. Python爬虫从入门到精通:(43)JS逆向:完美世界RAS逆向_Python涛哥

    完美世界有很多游戏,比较出名的就是诛仙.魔兽世界等.完美今天就来看下完美世界登陆的逆向分析! JS逆向解析 登陆的时候这里有个点击认证.没关系,完美先忽略它,直接点击.完美主要探讨密码的逆向方式. 抓 ...

  7. Python爬虫从入门到精通:(44)JS逆向:试客联盟的逆向分析_Python涛哥

    我们来看下试客联盟的逆向分析,切换到密码登陆. JS代码解析 我们进行抓包.经过分析,我们看到密码可能在这个js里实现 点进去后,我们发现源码里有一段var key = new RSAKeyPair( ...

  8. python爬虫从入门到精通-Python网络爬虫开发从入门到精通

    本书共分 3 篇,针对 Python 爬虫初学者,从零开始,系统地讲解了如何利用 Python 进行常见的网络爬虫的程序开发. 第 1 篇快速入门篇(第 1 章 ~ 第 9 章):本篇主要介绍了 Py ...

  9. Python爬虫从入门到精通:(38)分布式爬虫_Python涛哥

    什么是分布式爬虫: 默认情况下,我们使用scrapy框架进行爬虫时使用的是单机爬虫,就是说它只能在一台电脑上运行,因为爬虫调度器当中的队列queue去重和set集合都只能在本机上创建的,其他电脑无法访 ...

最新文章

  1. cordova 学习笔记
  2. 文件上传之传统方式上传代码回顾
  3. Codeforces 558(C、D、E)总结
  4. php原生判断,JavaScript
  5. php闭包 js闭包,JavaScript闭包与PHP闭包的区别是什么?
  6. ubuntu截图保存到剪切板
  7. 微信H5开发问题集锦
  8. ZBrush中保存历史记录太多该如何解决
  9. 计算机的数学知识的手抄报图片大全,数学知识手抄报图片大全
  10. list保存到scv
  11. 后退N帧协议中发送窗口的尺寸大小
  12. Java代码安装maven jar_Java中Maven项目导出jar包配置的示例代码
  13. 一个屌丝程序猿的人生(十六)
  14. 相控非绝缘技术为何是黄金微针效用至高点?深度剖析相控射频微针差异
  15. java ssm野生动物公益保护网站系统
  16. 迅为开发板-i.MX6Q开发板飞思卡尔imx6开发板专业推荐
  17. 在Lua中使用枚举型变量
  18. 计算机机房雷电接地,关于计算机机房防雷、防静电及接地的若干问题
  19. Cesium空间数据的管理
  20. 购买《哈利波特》书方案

热门文章

  1. 【如何用C++编程制作一个简单的游戏引擎】
  2. 中断不可睡眠的一些理解
  3. 从零开始,用CubeMX让M2006电机转起来,大疆C板控制M2006电机
  4. 数字图像处理(九)图像分割之canny边缘检测
  5. 云桌面打印机脱机无法打印故障处理
  6. SpringBoot中使用Schedule
  7. 中科院大牛博士是如何进行文献检索和阅读的(好习惯受益终生)【转】
  8. 轻松hold住双11数据洪峰背后的秘密
  9. 【数据库设计】概念设计-数据库ER图基础概念
  10. 【Matplotlib绘制图像大全】(一):条形图(柱状图)