1

2023-03-15  本文已影响0人  周周周__

后缀生成的位置

图1.png

数组转的

(其中数组的前四位是根据一个数值生成的
可以根据直接搜素这四个值进行定位, 如图3)

图2.png
图3.png

由此可见长数组是由两个数组合成的,其中中间有两个值是某处生成的

图4.png

其中短数组1的生成位置

图5.png

1 长数组1的生成

长数组1的生成位置(根据图5 [8,3,7,7,15] 进行断点定位,可以找到长数组1是由一个长数组2短数组2生成生成, 具体算法在这里函数里面实现, [8,3,7,7,15]一个界面固定)

图5.png
图6.png

1.1短数组2的生成

1.1.1 短数组2是由短数组3加上时间戳,并对产生的随机数进行多次异或得到

图7.png
多次异或的算法如下图,其中框住的部分是时间戳转的数组
图8.png
定位短数组3 发现日志不够清晰,图9是结果,可以看到根据<=12进行定位,搜素<=12定位发现是进入如图11位置的参数,打印出来如图9(可以直接搜],"ceil"快速定位)
在界面不刷新的情况下这个数组是固定的,由此推出这个数组是界面生成的值(这个值是根据界面来的值,在本站是固定的)
图9.png 图10.png
图11.png

定位短数组3 发现是在索引54的位置 进行生成的

图10.png
[ 181, 74, 161, 217, 196, 110, 224, 190, 48, 3, 209, 70, 90, 223, 76, 10 ]
这个数组,在ck的生成逻辑中有是固定值 即取的数组中16位索引 _$kH[31][16]
由此也可以看出这块逻辑和ck高度相似

1.2长数组2的生成

长数组2的定位


图11.png
图12.png

通过_$cz:58_$jd:3或者],16,13]进行定位,上二图进行举例

找到生成的初始数组。根据_$$Y:67_$mS:4 进行定位,如下图

图12.png 图片.png 图片.png 图片.png 1、 图片.png 图片.png
图片.png
上一篇 下一篇

猜你喜欢

热点阅读