某数4代逻辑分析 下
声明:本文内容仅供学习交流,严禁用于商业用途,否则由此产生的一切后果均与作者无关,请于24小时内删除。
1,前言
1.1 上一篇文章,我们已经说完生成假cookie的逻辑和通过假cookie生成***80T真cookie的逻辑了,并通过***80T真cookie成功获取了状态码为200的页面
1.2 这一篇,我们来说一下200页面的js如何对已有的***80T cookie进行刷新
1.3 以及xhr等请求的后缀MmEwMD生成的逻辑。
1.4 最后,有个收费的部分分析了下某数4代用到的所有浏览器指纹,都是细节的补充,与整体逆向逻辑没有关系,只是给订阅的老板们的一个回馈,可不看,但也欢迎支持,哈哈。
2,200页面的***80T cookie刷新逻辑(与生成逻辑大致相同,简单讲)
2.1 首页逻辑还是上篇文章中讲的那样,没有变化,略过,直接进入eval中。
2.2 eval里面搜索"(5);",定位到cookie生成的地方。
2.3 这一次不用跟进去了,因为根本就不会再生成cookie。如下图所示:
不会生成cookie的原因是meta里那一长串字符串中没有了这一部分所需的参数。
2.4 我们进入 _$5a(767, 1);中,这里面对已有的***80T cookie进行了刷新。
2.5 继续进入_$5a(746, _$uN); 方法
2.6 可以看到case 767中的刷新逻辑与上篇文章中的生成逻辑完全一致,跟着走一下就好了。
2.7 对于200页面刷新逻辑需要注意的地方就是:
2.7.1,不会生成假cookie了,
2.7.2,某些在202页面有的参数在200页面没有了,有些是200页面的js中用不到了,有些是通过localStorage传递到了200页面。
3,MmEwMD后缀定位及生成逻辑(详细讲解)
3.1,定位:我们加个xhr断点,随便拦截一个xhr请求。如下图所示
3.2 然后我们发现拦截到了 l.send ,这里的 l 是一个XMLHttpRequest对象,
3.3 鼠标放到1处可以看到后缀已经生成了。
3.4 但我们在l.open的时候看到传进去的明明是没有后缀的,故可以断定,l.open函数有猫腻!
3.5 我们验证一下,在控制台上 打出l.open,发现确实如此,l.open方法已经被暗戳戳的替换掉了
点击上图中红框位置方法可以直接定位,我们跟进去看一下。
3.6 下面两张图可以看到运行完 _$jO(arguments[1]); 之后url就被改变了。定位逻辑入口完成~
3.7 那让我们跟进_$jO看一下吧。可以看到前面都是对url做处理,关键位置为_$5a(779, _$CM._$8Y, _$O4, _$zx); 上面那一部分对url的处理,找找规律,自己写个对url处理的实现即可,不用完全还原。毕竟我们一般只采集几个链接。不需要兼容的那么好。闲话少说,我们跟到_$5a方法 里瞅瞅。
3.8 我们先进入_$5a(746, 6); 看一下
3.9 这段逻辑是不是十分眼熟?没错!就是 生成真***80T和刷新***80T 用的那段逻辑。此处和之前一样处理即可。
3.10 然后让我们回到上一个方法,再看下下面还有啥逻辑,debug走两步,可以看到_$bj就是后缀的内容。中间那两行代码 就是又检测了下 meta里的参数啥的,照着扣就好了。至此,后缀生成的逻辑结束。
注:某数4代的逻辑已经全部讲完了,顺着讲的思路慢慢做,应该可以将某数4的各个逻辑搞定啦。
下面的内容 愿意支持一下作者的老板们可以往下看一下,或许能让老板们少掉点头发, 哈哈。下面两个部分的内容为:
4,202页面生成***80T,200页面刷新***80T,MmEwMD后缀生成 三者检测指纹的介绍与区别。
5,扣某数js的小技巧
4,202页面生成***80T,200页面刷新***80T,MmEwMD后缀生成 三者检测指纹的介绍与区别。
4.1 某数指纹检测类别全解(代码仅供参考,注释掉的即为4代中用不到的,无需关注)