友情提示:优先在公众号更新,在博客园更新较慢,有兴趣的关注一下知识图谱与大数据公众号,本次目标是抠出爱奇艺passwd加密JS代码,如果你看到了这一篇,说明你对JS逆向感兴趣,如果是初学者,那不妨再看看我之前的一些文章,可能对你的学习路有些帮助,跟着一起调试,对JS加密方法理解会更深点。如果调试不出来,可以参考我的代码,本期JS代码放在从今天开始种树

提示

文章首先在公众号更新,CSDN更新较慢,有兴趣的关注一下知识图谱与大数据公众号吧。

准备

本期抠爱奇艺passwd加密JS代码,传送门,登录界面如下(我已经尝试了一次):

老老方法(输入错误账号密码)找到提交url和提交的参数(即FormData里的值):



FormData提交的参数:



可以看到passwd已经被某种加密算法加密了,那我们接下来的任务就是找到这个加密JS代码,然后使用python代码调用运行出来。

调试

找到passwd

选择刚才的url,查看调用栈:



仔细观察后可以看到有一个文件里包含doLogin,那就点进去,进去后搜索passwd关键字,如果你一直看我之前的文章,应该就对这些加密方法名字非常敏感了,能马上找到:



找到一个rsaFun,基本断定就是这里了,那就整上一个断点:

激活断点

输入错误的密码,点击登录即可激活断点:



断点激活后那就点击下一步(F11)按钮开始运行,进入加密函数:



仔细看上图,一个getKeyPair函数,一个encryptedString函数就是我们寻找的目标,继续F11疯狂调试:

这就是getKeyPair函数,只要把A里的函数biFromHex、biHighIndex、BarrettMu搜一下定义的地方抠出来算是把这个搞定了。

下一个encryptedString



依然只要找到这些方法,抠出来放一个文件里,等待python调用。

python调用运行

如果调用报错,记得根据报错信息缺啥补啥,比如window可以定义为window={},如果提示某某函数未定义,可能是你代码没有抠全,全原文件里继续查找,抠出来,下面是我调用的结果:

python代码:

import execjs

with open('..//js//aiqiyi.js', encoding='utf-8') as f:
aiqiyi = f.read()
js = execjs.compile(aiqiyi)
#logid = js.call('hexEncode', "123456")
logid = js.call('get_pwd', "12345")
print(logid)

运行结果:

结束

本期讲解了爱奇艺密码加密代码如何抠取,大家自己练上一练,如果查看完整JS代码请点击这里:从今天开始种树,觉得有帮助的关注一下下面的公众号,获取更多内容,当然不关注也无所谓。

爬虫必看,每日JS逆向之爱奇艺密码加密,今天你练了吗?的更多相关文章

  1. 每日JS逆向练习之斗鱼登录密码加密,今天你练了吗?

    一切的基本功都是为后期调试滑块验证码准备的. 有兴趣的关注一下知识图谱与大数据公众号,当然不关注也无所谓.今天来看看斗鱼登录密码加密,正所谓熟能生巧,这种简单一点的基本3-5分钟就要能抠出来,有兴趣得 ...

  2. Python 爬虫实例(5)—— 爬取爱奇艺视频电视剧的链接(2017-06-30 10:37)

    1. 我们找到  爱奇艺电视剧的链接地址 http://list.iqiyi.com/www/2/-------------11-1-1-iqiyi--.html 我们点击翻页发现爱奇艺的链接是这样的 ...

  3. 爱奇艺 登录 加密字段 passwd 破解

    这是一个rsa加密,并且每次加密候的数据固定不变. 第一步:查看加密字段 第二步:搜索加密参数 第三步:打断点调试 1 2 3. 第四部:js调试工具调试 第五步:源码 function c(a) { ...

  4. Python爬虫实战案例:爬取爱奇艺VIP视频

    一.实战背景 爱奇艺的VIP视频只有会员能看,普通用户只能看前6分钟.比如加勒比海盗5的URL:http://www.iqiyi.com/v_19rr7qhfg0.html#vfrm=19-9-0-1 ...

  5. 如何利用python爬虫爬取爱奇艺VIP电影?

    环境:windows    python3.7 思路: 1.先选取你要爬取的电影 2.用vip解析工具解析,获取地址 3.写好脚本,下载片断 4.将片断利用电脑合成 需要的python模块: ##第一 ...

  6. 爱奇艺用券付费VIP电影+python爬虫程序+可视化界面+下载本地

    申明:本博客中的工具及源码仅供个人学习使用,请勿用作商业等其他任何违法用途!否则后果自负 直接步入正题吧! 工具开发环境:windows10,python3.6 工具界面设计:基于python 自带的 ...

  7. 用原生JS实现爱奇艺首页导航栏

    以下是爱奇艺首页的一个导航栏,用原生js写的,静态页面效果如下: 代码如下: <html> <head> <title>爱奇艺</title> < ...

  8. 从B站、爱奇艺、映客的IPO上市,看国内视频公司的内容审核现状

    本文由  网易云发布. 3月30日,中央电视台<经济半小时>栏目讲述了网络上的一个顽症——色情内容.在这期主题为<互联网上的“色诱”>的节目中,央视的记者揭示了色情直播的猖獗. ...

  9. 爱奇艺vip视频免费看

    代码: <html> <meta charset="utf-8" /> <head> <script> var num = 0; v ...

随机推荐

  1. QPS过万,redis大量连接超时怎么解决?

    7月2号10点后,刚好某个负责的服务发生大量的redis连接超时的异常(redis.clients.jedis.exceptions.JedisConnectionException),由于本身的数据 ...

  2. Hop: Heterogeneity-aware Decentralized Training

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文. ASPLOS 2019 Abstract 最近的研究表明,在机器学习的背景下,去中心化算 ...

  3. 区块链入门到实战(33)之Solidity – 数据类型

    在用任何语言编写程序时,都需要使用变量来存储各种信息.变量是内存空间的名称,变量有不同类型,例如整型.字符串类型等等.操作系统根据变量的数据类型分配内存. Solidity中,变量类型有以下几大类: ...

  4. oracle再回首

    第一章 Oracle 数据库的使用   一. 数据库相关概念   1 什么是数据库 所谓的数据库其实就是数据的集合.用户可以对集合中的数据进行新增.查询.更新. 删除等操作.数据库是以一定方式储存在一 ...

  5. Android自动化测试,5个必备的测试框架

    Appium Appium是一个开源的移动测试工具,支持iOS和Android,它可以用来测试任何类型的移动应用(原生.网络和混合).作为一个跨平台的工具,你可以在不同的平台上运行相同的测试.为了实现 ...

  6. vue刷新数组

    困扰我两天的问题被一行代码解决了!!! 最近在做某个功能时用到了v-for,页面内容都是根据父页面传递过来的数组生成的,但是当我改变数组内容时页面不会跟着改变.这个问题足足困扰了我两天时间,最终下面的 ...

  7. 透过UIRoot深入理解NGUI提供的屏幕适配方案

    主要代码:UIRoot,UIOrthoCamera,UIRect.GetSides(UIPanel使用UIRect的)里的GetSides,代码量很少,但需要思考和测试验证. 一.UIRoot的基本内 ...

  8. 东方通Linux应用部署手册

    东方通应用部署文档   进入东方通访问地址: http://192.168.0.12:9060/console/输入用户名密码(thanos/thanos123.com)首页是对东方通软件的一些信息描 ...

  9. 字符串对象跟xml格式的转换

    package com.sunshen.jfids.testWebService.task; import java.io.File; import java.io.StringWriter; imp ...

  10. synchronized的实现原理——锁膨胀过程

    @ 目录 前言 正文 偏向锁 轻量锁 批量重偏向 批量撤销 重量锁 总结 前言 上一篇分析了优化后的synchronized在不同场景下对象头中的表现形式,还记得那个结论吗?当一个线程第一次获取锁后再 ...