jsvmp04_某yuan宝日志还原rc4

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来解析!我们根据定位,可以随机截取一部分来验证!

相关推荐
coderCN1 小时前
Nodejs 第三十四章 数据库(表达式和函数、子查询和连表)
前端·node.js
5233AI开发笔记5 小时前
Node.js 调用 API:为什么秘密型 Key 不能放前端
node.js
2601_962076255 小时前
Node.js 完全教程:从入门到精通
node.js
超级码里奥20249 小时前
OpenClaw(龙虾[特殊字符])AI 智能体安装教程
windows·node.js
ruanCat1 天前
Prettier 明明执行成功,Markdown 为什么还是没变?一次插件误诊复盘
前端·javascript·node.js
屋昂仼1 天前
NestJS 从入门到企业级实战(二):依赖注入(DI)深度拆解
node.js
Larru-Sun1 天前
从零开始用 Docker 部署 Node.js 后端服务
docker·容器·node.js
__zRainy__1 天前
Node系列 · Express:nodemon
node.js·express
__zRainy__1 天前
Node系列 · Express:中间件
中间件·node.js·express