rc4
我们看出来,这个乱码是通过+,一步步拼接而成的!

所以搜索前三位字符,看到第一次出现的位置

往上找181和和115从哪里来。

第一个181是从数组中取来的

找183怎么来,也就是173和10相加
7
不断网上看,猜测这里是乱码charCodeAt(181)得到取值10.



以上上面这里发现173是和10调换的!
这个就是0+1 然后1%256 =1

下面是,index:1,取值得到173。然后173+0= 0,然后173%256=173

对比如下rc4,对应图中框选的部分!

===计算二=
找对应代码日志:const K = S(S\[i + Sj) & 0xff];
10怎么来


181怎么来,从乱码中charCodeAt来!

115是数组index来
181^115

然后找198怎么来的,看到了181和115做了运算,可能是上面数组生成的!
然后String.FromChartCode()得到了如下图

对应了如下:
javascript
result += String.fromCharCode(
data.charCodeAt(n) ^ K
);
==KSA
他上图是57...,直接搜这个数组最初的形态,发现了key!怎么知道是key的,直接根据运算来!



验证KSA

对应如下!

所以证明AI生成的这个rc4,没有问题!
最后只要拿铭文和密钥,传进rc4,再对比这个之前的密文是否相等即可

然后再将其验证(base64() === "之前base64")这个对比是否相等!

我们看到256位数组,知道里面的顺序换了,但是不知道是什么算法的时候。。。可以将日志发给AI去看

这里的index:1,得到了值173!

我们发现,它对0和56进行替换!

看56怎么来的,是这段charCodeAt来的,这也就是这段对应算法的密钥

substring(起始,终点索引),我们看到它截取的是4a3e22,截取出来了22,然后转成十六进制为0x22,最后转成了34。

一般出现256位数组,我们就可以猜测是AES或者RC4,但是AES是0x开头的,所以应该就不是。但是我们可以借助AI来解析!我们根据定位,可以随机截取一部分来验证!