如果一个页面大部分是script标签构成,80%以上是webpack打包。然后重写 window 数组的 push 方法为 webpackJsonpCallback,也就是说 window.push 其实执行的是 webpackJsonpCallback,window.push接收三个参数,第一个参数是模块的ID,第二个参数是 一个数组或者对象,里面定义大量的函数,第三个参数是要调用的函数。
打开斗鱼登录界面:按F12输入错误账号密码,查看提交的请求是哪个:查看FormData:可以看到password变成了一串啥,应该是加密了,现在从调用栈进去,最好点击文件名里包含login的进去:进去之后搜索password:在上面这里打上断点。
跟进到 _0x7f9865 函数中,直接把算法扣下来:我们来分析下这是什么算法,倒着看,_0x70f89f、_0x1d4342 之类的是一些十进制数,keyStr.charAt 就是获取 keyStr 字符串特定位置的字符值,最后拼接起来:keyStr 就是源码中的 this,其值如下,长度为 65 位:这一串完全符合 Base64 编码索引表的特征,包含大写字母、小写字母、数字、加号和斜杠,64 位,还有一个填充字符,Base64 编码的基本流程如下,例如编码 Hello 字符串:首先,将 Hello 转换为 ASCII 码,得到 72 101 108 108 111;
之前我发过关于爬虫的帖子,有不少人也关注了我并在后台私信我,说他们也想学习下爬虫补贴下家用,问我到底哪家机构好。这真的是问对人了,首先我就是0基础自学的编程,从2012年入坑易语言再到2019年入坑Python,一开始学习的自动化办公,数据分析,量化投资再到现在的爬虫。