某瓣读书 window.__DATA__ js逆向

注:本篇博客仅供学习使用,请勿用做其他商业用途,如有侵权,请联系本菜鸟

废话写前面:本小菜鸟半年前刚学习js逆向爬虫的时候请教一个逆向大佬,大佬直接给我丢下一个网站,说你直接去扣这个网站,把这个网站的加密逻辑给搞出来,你基本就明白如何进行js逆向了,我当时一脸懵逼(大佬的方法果然与众不同),后面我try了try发现这特么真是个磨人的小妖精,搞了两天啥子东西都没弄出来,当场就差点跟爬虫Say goodbye
在这里插入图片描述
但是秉承着身在其位,必谋其职的原则,作为一个爬虫(划水)工程师,这点困难是难不到我的,经历了这么多逆向的网站,所以今天就打算回过头去看看,也算是一种不忘初心吧
好了,废话说了一大推,下面就是网站:
aHR0cHM6Ly9zZWFyY2guZG91YmFuLmNvbS9ib29rL3N1YmplY3Rfc2VhcmNoP3NlYXJjaF90ZXh0PSVFNiVBRiU5QiVFNiVCMyVCRCVFNCVCOCU5QyVFNiU4MCU5RCVFNiU4MyVCMyZjYXQ9MTAwMQ==

再说句废话:有兴趣、有需要打码平台的同学可以移步到这个网站康康了解了解高效、准确、连谷歌的都能搞定

好了 ,直接进入到逻辑部分
1.在请求页面数据的时候,返回的html源码中有window.__DATA__ 这个数据,而且长度整的还挺长的,根据我的经验判断,这特么就是数据加密,别想骗过我 >_>
在这里插入图片描述
2.所以全局搜索这个参数
在这里插入图片描述
在这里插入图片描述
3.进入到加密的具体位置
在这里插入图片描述
从上面的截图已经很明显了,进入到加密位置反正就这几步

var a = e.from(r, "base64")
   , s = Math.max(Math.floor((a.length - 2 * i) / 3), 0)
   , u = a.slice(s, s + i);
 a = e.concat([a.slice(0, s), a.slice(s + i)]);
 var c = Object(o.hash)(e.concat([u, e.from(t)]));
 return n((l = {},l[c] = a,l));

说明:前面四行代码扣起来还挺合适,后面两行的逻辑扣得我的大刀都差点拔出来了,而且这其中的函数都是用a,b,c这种,很容易就搞混了,这点再扣取的过程中要注意一点
因为这是纯扣js的一个逆向,所以本菜鸟就搞一个e.from吧
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
好了,反正就是纯扣js逻辑,不涉及补环境之类的,各位就自己慢慢扣吧

溜了。。溜了。。
不懂的去看看这位s大佬的 文章 真的是yyds
在这里插入图片描述

运行截图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值