我是靠谱客的博主 天真故事,最近开发中收集的这篇文章主要介绍.net网页input 赋值 提交时空白_[Android ] 某哩某哩网页aes解密和APP真正免VIP无限观看...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、网页版AES:


  1.首先我们打开浏览器"某哩某哩"的网页。  2.F12开启"开发者模式"-"Network"。(众所周知,一般这种视频都是m3u8.)  3.随便点一个视频进去  4.搜索"m3u8",果然是m3u8流   cf42dc9f6ede73a0e5160033f7f5d86a.png  5.然后直接搜这个m3u8的文件名,结果搜不到,那么应该是被加密了       99e086e06c0844e0424ddc53d1a543d0.png  6.然后我们尝试搜这个视频的ID,可以发现有“视频推荐”、“演员信息”、“当前视频信息”3个相关的请求(PS:这个ID是后来加的,截图之前是另一个)   f5ef427bf6be509388aef6460abaecdc.png  7.由上图得到的/video/info是从哪来的呢?不要急,ctrl+f搜一下,还真搜到一个JS文件。   710048baebc0b5b839bf6c2dde286b40.png  8.我们从sources中打开这个文件,搜/video/info看看,果然搜到一个getVideoInfo的函数(注意这个a的值是从headers中获取的)   ed13b11dddd35bb37f24394c6139de4e.png  9.接着往下看,就看到一个decryptString,那么我猜这个应该就是解密的函数了,再搜decryptString,找到函数   9c515df252cd0bf3832856358c2132c4.png  10.分析下这个函数:  t = 获取到的加密字符串,o = 取md5,e = 取md5之后从第八位开始取出16位字符串  所以通过计算得出当前视频的iv和key   b18ecbec79ee0d68eea8c4f90a48a27e.png  11.然后我们用AES解密试试   da970c3801e710eed18e884259f38a73.png  12.成功解密,并获得m3u8地址,拼接host后直接打开,结果发现不能播放。  我们返回网页的抓包看看,原来m3u8地址后面还有个token参数,添加token后打开正常播放   1ca05928db9fa774b33aa0223e397688.png  13.值得注意的是/video/info获取的时候是需要headers中添加origin、platform等的,不然返回的是视频简介,并不是完整的视频.   89d8f40ad0664bf9a7615518b0dcb749.png   所以用老哥的M3U8下载器时,需要自定义协议头:Origin二、网页端用户Token的获取:


  爬的时候问题来了,每个用户只能免费看30个视频。那我们就多弄点用户:         ba437b519c86b27f2c7b61fd40cf991a.png  感觉应该是token的缘故(一个token代表一个用户),那么就要了解下token是怎么产生的:
      1.F12开启"开发者模式"-"Network",刷新下网页,搜索token的值,其实这个pwatoken是第二次访问的时候才会有的参数,         bac2864e0e5a2a9d66f8d4d5633f24a3.png      我们新建一个无痕窗口或小号窗口,开启F12.会发现一个新的接口mail_pwa_temp,建议全程用抓包软件抓着。         17f957b3b5fc8f387b6e6f3a3c51c2b5.png      可以看出token是由mail_pwa_temp返回的,看一下提交的参数,post提交pwa-ckv         018c9d433efac5d5ec38bf5ddfbed1b5.png      那么这个pwa-ckv是哪来的呢,其实当我们访问首页的时候会返回一个license,这个就是pwa-ckv         1533226fb5ac534e5a9524f0954abbcb.png      PS:但是,当我们把post的内容设为pwa-ckv=1的时候,出现了一个有意思的现象(附:貌似post任何都会返回会员的token,包括空白)         0590b428ce66286141e3eadecb419e39.png        体现到浏览器是这样的:         128f38a14b346ee32964543e55635fdb.png              没错,这就是一个VIP等级为2(也就是所谓的尊荣VIP的账号),那么他的token是可以无限抓视频的噢。      貌似爬取的速度不能太快,会频繁。         a293565086044f7c34d810cad7cad872.png三、实现网页版的无限观看的两种方法【方法已失效,会强制登出,token已被禁,已无法使用这个token抓视频】:


  第一种:FD的自动回复器,这个我就不讲了,就是把token替换成前面取到的尊荣Token  第二种:JS打印this,下面是步骤:    1.打开到会员页面,点击账户后面的刷新,会提示刷新成功,我们搜索“刷新成功”,不难发现还是app.XXXXXX.js这个文件中调用的       25f7cf4973dd6c2343ed7adfae08d005.png    2.搜索“refresh_success”,可以找到getUserInfo的函数,       b938657fdf33565742dbb0ac7a976e32.png    3.给这个函数打个断点,再刷新下个人信息,然后我们把this打印出来       880440888aa5edf4364c41da40b5818b.png    4.console中输入temp1.$store.state.newToken = '尊荣token'      这里提到的尊荣token,是第二步中抓到的token,字符串长度大约是145左右。      即可在浏览器中更换为尊荣VIP,享受无限观看。(值得注意的是:一刷新网页就会失效...再次操作即可)       27253e17838cc0c4f975a3b59f78ebb1.png四、实现APP端的真正无限观看①【方法已失效,会强制登出,token已被禁】:


  其实道理很简单,就是把APP中返回的Token固定成前面得到的尊荣VIP的Token。  1.首先我们抓包下APP,果然也是和网页版一样用到了Token,不过调用的接口不太一样。    36648f6e09495d6ab1a9bff8ae5c051e.png  2.那么我们打开MT管理器或者NP管理器,尝试搜索方法名包含Token的内容。    bdc19d55883aa157cbfcea9082f2cb36.png  3.发现2个相关的getToken函数,让我们点进去,修改为返回之前得到的Token    63389db1db9376e27b6657637ad717af.png  4.编译APP之后,打开查看效果。    05ee99e26df97013603ef39f4fbf4311.png  5.果然就变成了尊荣VIP。  虽然显示有每日观看次数限制,但是实际上你会发现是无限观看7d801af7686da4e0866e0f8f89d91599.gif五、实现APP端的真正无限观看②:


  其实道理也是很简单,首次打开APP的时候是要注册的。那么我们把注册的参数修改为随机即可达到每次清空数据后打开APP都会是一个新的体验用户。  因为SMALI中重新添加函数什么的稍微有点复杂,所以我在这直接调用了APP的原有random的函数(PS:这个random是我用到的函数简写,大家可以尝试其他的随机函数)  下图是由NP管理器转JAVA的修改前后的代码区别:(思路就是this.d赋值随机字符)   6192e528857aea1772cf5637a04a7d47.png  这个方法相对于第四步来说稍微有点难度,但是也只是稍微有点而已。  我相信你们能通过抓包然后得到一些信息,然后再次搞定。  这里就不详细的解说了,防止和谐,有能力者可以试试,对我我这自学的半吊子来说不是很难,我相信你们也不会觉得难的。  


  PS:抓包也能发现/user/info接口返回的expiry、level、user_id等信息,通过MT管理器或NP管理器搜索方法名,发现全部在ResponseUserInfo类中:      比如getLevel(const v0,0x2    1是普通/2是尊荣)、getExpiry(const v0,0x746a6480)等等      修改后发现仅仅是本地显示的。

最后

以上就是天真故事为你收集整理的.net网页input 赋值 提交时空白_[Android ] 某哩某哩网页aes解密和APP真正免VIP无限观看...的全部内容,希望文章能够帮你解决.net网页input 赋值 提交时空白_[Android ] 某哩某哩网页aes解密和APP真正免VIP无限观看...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部