前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun

这篇文章因为涉及到JS解密部分,所以难度比较高,Python基础比较薄弱的同学可以来看看思路。

开始

进入到该网站后我们可以看到如下界面,今天要做的内容就是模拟登陆

那么咱们首先抓到登陆的包看看:

登陆的同时总共发送了两次post请求,在登陆前发送了一次,其中需要携带的参数为用户名,还有一个donotcache不难猜测出是一个时间戳,但是光靠猜不行,要拿出实际证明。

返回值:

success: true

publickey_mod: XXX

publickey_exp: "010001"

timestamp: "540205950000"

token_gid: "1c51cb6b00061f39"

这些值我们并不知道是用来做什么的,然后我们可以继续看下登陆的包:

很明显,第一眼就可以发现很多问题,cookie与第一次请求必须保持一致,然后第一次请求的返回值timestamp其实就是为了给第二次登陆的包传参,rsatimestamp=timestamp,然后就是这个也有一个类似时间戳的东西donotcache,最关键的就是这个password是加密的!

咱们先解决donotcache是怎么产生的:

没猜错,new Date().getTime()本来就是JS取时间戳的语法,这个咱们用Python编程里的time模块模拟就可了。

最关键的就是password加密的方式了:

这就有意思了

var password = form.elements['password'].value;

password = password.replace(/[^\x00-\x7F]/g, ''); // remove non-standard-ASCII characters

var encryptedPassword = RSA.encrypt(password, pubKey);

密码经过了两次改动,第一次是替换掉字符串,第二次是RSA加密,而这个加密需要用的pubKey,而

var pubKey = RSA.getPublicKey(results.publickey_mod, results.publickey_exp);

所以说我们还需要知道publickey_mod和publickey_exp,这个时候你再好好回想一下,咱们的第一次请求是不是返回值里正好有一个Mod和EXP?

如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的吗?说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的Python教程。获取方式,私信小编 “ 资料 ”,即可免费获取哦!

绝地求生模拟登陆!高难度JS解密教程,Python高级爬虫开发,相关推荐

  1. Python高级爬虫开发,高难度JS解密教程,绝地求生模拟登陆!

    前言 这篇文章因为涉及到JS解密部分,所以难度比较高,Python基础比较薄弱的同学可以来看看思路. 开始 进入到该网站后我们可以看到如下界面,今天要做的内容就是模拟登陆 那么咱们首先抓到登陆的包看看 ...

  2. python模拟登录吃鸡_Python高级爬虫开发,高难度JS解密教程,绝地求生模拟登陆!...

    前言 这篇文章因为涉及到JS解密部分,所以难度比较高,Python基础比较薄弱的同学可以来看看思路. 开始 进入到该网站后我们可以看到如下界面,今天要做的内容就是模拟登陆 那么咱们首先抓到登陆的包看看 ...

  3. 绝地求生 服务器位置,绝地求生国服登陆界面地址入口 国服登陆界面地址在哪儿...

    绝地求生国服登陆界面地址入口,绝地求生国服登陆界面地址在哪儿?最近有玩家爆出了绝地求生国服的登陆界面,很多玩家是不是想知道登录入口呢?下面跟随小编一起去看看吧! 绝地求生国服登陆界面地址入口分享: h ...

  4. 绝地求生测试服画面优化软件,《绝地求生大逃杀》最佳画质优化教程

    <绝地求生大逃杀>最佳画质优化教程 2017-10-05 15:35:38来源:nga论坛编辑:评论(0) <绝地求生大逃杀>低配置怎么运行?相信很多玩家都很关心.具体怎么做? ...

  5. 批量注册、模拟登陆很难吗?一个Python爬虫案例告诉你答案!

    **批量注册:**自动化批量注册账号,我见过很多人利用selenium这个自动化框架做,但是速度太慢. **模拟登陆:**这里要说明一下,其实你注册一个账号=模拟登陆一个账号,这个原理其实是一样的. ...

  6. 短信hz,批量注册、模拟登陆很难吗?一个Python爬虫案例告诉你答案!

    批量注册:自动化批量注册账号,我见过很多人利用selenium这个自动化框架做,但是速度太慢. 模拟登陆:这里要说明一下,其实你注册一个账号=模拟登陆一个账号,这个原理其实是一样的. 我前面说了sel ...

  7. 易语言POST里常见的JS加密方式,JS解密教程

    首先录制了套易语言POST从入门到JS解密的精通教程.估计近100集,正在更新中,目前暂时可以在网站上看前几集 在线看地址 https://www.bilibili.com/video/av39727 ...

  8. Python爬虫实现--微博模拟登陆--涉及到的知识点,python包,实现代码详解。

    之前写过一篇关于爬虫的文章,其中提到了用python requests包请求网页,并用beautifulsoup解析. https://blog.csdn.net/qq_40589051/articl ...

  9. 无限复活服务器,绝地求生无限复活模式怎么玩 无限复活新手教程

    相信不少的绝地求生玩家们最近都听说了其无限复活模式吧?因此肯定想要知道这种模式究竟该怎么玩,所以下面就来为各位带来此玩法的攻略相关,希望各位在看了如下的内容之后恩呢狗狗了解到新手教程攻略一览. &qu ...

最新文章

  1. mac 端口转发方案
  2. PHPCMS 当前栏目和子目录
  3. sql中group by 和having 用法解析
  4. 二分查找算法及其变种
  5. 详解ASP.NET页面的aspx扩展
  6. linux获取tomcat进程,Shell 获取Tomcat进程号
  7. qdialog 只有点击才能获得焦点_4 个突破点,让你的 Banner 点击率提升10倍
  8. (2021) 20 [虚拟化] 进程调度
  9. linux ethtool命令
  10. 自动论文生成器 python_python生成器
  11. 屌丝笔记本玩Windows Phone 8开发(在Windows Server 2012中安装WP8 SDK)
  12. C++数据结构02--链式线性表(单链表的实现)
  13. jq输出html 单引号引号转义符,javascript - 由于JSON中的单引号转义,jQuery.parseJSON抛出“无效的JSON”错误...
  14. [导入]玩 VSX 第一步,创建VsPkg
  15. 28335和C语言数据存储检索
  16. LISnlogn写法
  17. java泡泡屏保,js 模拟气泡屏保效果代码
  18. 计算任意多边形的面积(已知各顶点的坐标)
  19. Mac上安装XAMP环境
  20. c语言共阳极数码管的数据,LY-51S(STC89C52R):8个共阴极数码管-程序(1)

热门文章

  1. 只需一步,轻松用Python实现线性规划
  2. 换个姿势感受节日H5营销
  3. 京东金融商户平台对接开发
  4. lol6月五日服务器维护,LOL英雄联盟6月20日停机更新公告 服务器维护商品上架
  5. 强东哥和小马哥的爱情马拉松
  6. dell笔记本计算机打不开,戴尔笔记本电脑开不了机如何解决【解决方法】
  7. 局域网下访问SQLServer
  8. python挂机脚本阴阳师_记一次阴阳师挂机脚本开发
  9. 中兴新支点桌面操作系统——一些小而美的功能
  10. linux内核源码分析之内存概述