网上反混淆的的文章一堆这里就不多说了。
目前akamai有两个版本。1.75和2.0,相信1.75基本上还是能看懂的,2.0多了一层加密,看上去令人生畏,其实也是很简单的,其实跟1.75差不多。
算法概述
因为内容确实比较多,我们就讲讲1.75的核心算法。
1.75检测内容共分为27块。
其实核心内容:浏览器信息、浏览器指纹(画布渲染、声音、WEBGL等等)、行为分析(鼠标、按键、方向、页面载入)、数据校验,其他部分相对没这么重要。
协议解析
因为内容确实比较多,该章节就说说前置信息、第一块、第二块信息。
下面都是满满的干货~
前置信息
??这里为什么把前置信息和第一块信息要分开呢?卖个关子,大家自己去研究一下??
如图所示,7a74G7m23Vrp0o5c935503为前置信息
其中这里分两段组成:7a74G7m23Vrp0o5c 和 935503
第一段:F的值 cs和api_public_key是两个固定值,所以结果肯定是固定值。直接拿来用即可
第二段:两个时间相关的数字计算得出,具体算法小伙伴们自己去看一下就懂了。
第一块:版本信息
固定值,akamai的版本号
第二块:浏览器信息
浏览器的信息比较多,就不填代码了,只要分析一下,都能出来
解析结果如下:
浏览器UA: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36,
固定值: uaend,
相关指标(可固定):12147,
版本新(固定): 20030107,
语言: zh-CN,
版本: Gecko,
固定值 5,0,0,0,
(开始时间/2016*2016):406870,
当前(开始)时间取后七位: 6972469,
浏览器屏幕:1920,1200,1920,1200,1775,914,1775,
固定值: ,cpen:0,i1:0,dm:0,cwen:0,non:1,opc:0,fc:0,sc:0,wrc:1,isc:0,vib:1,bat:1,x11:0,x12:1,
浏览器UA的校验码:8315,
随机数:0.304127786152,
开始时间/2:826813496293.5,
固定值:0,loc:
重要说明
只要算法生成的数据模拟出浏览器指纹信息,和行为数据。可以达到大并发和超高的通过率,前提是不能使用一个ip。 ip和指纹是有信用的,请求多了信用会被降低,并且短时间被关小黑屋。
所以大家测试的时候或者大并发情况下一定要使用代理ip,不然你的浏览器指纹和IP都会进黑名单
大并发支持:
目前1.75以及基本都下架,都是使用2.0版本。已知支持20来个网站大并发,如:W6,vy,jetstar,LV,hilton等等基本都可以过