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

相关推荐
flash俊杰3 小时前
Electron 打包后窗口 30 秒不出现:一个 ABI 不匹配的血案
electron·node.js
@tangguo1235 小时前
npm 和 yarn 配置说明
前端·javascript·npm·node.js·yarn
flash俊杰7 小时前
一套代码接入所有大模型:OpenAI 兼容适配器设计
node.js·openai
右耳朵猫AI7 小时前
Node.js周刊2026W38 | 进程中断缺陷修复、Copilot 迁至 Rust、Node 新增 VFS
javascript·后端·node.js
光影少年1 天前
Express 中间件原理
后端·node.js·express
时速GEO系统1 天前
初元 AI V1.1 版本升级,首个正式版发布一周・实现生成、部署、上线、优化全流程自动化闭环
人工智能·数据挖掘·node.js
console.log('npc')1 天前
06 — Model 层:数据模型与操作
前端·后端·node.js·express
右耳朵猫AI1 天前
Web前端周刊2026W38 | React 19.3 发布、StyleX 深潜、jsdom 30.1 提速
前端·javascript·react.js·typescript·node.js
光影少年1 天前
Koa 为什么使用洋葱模型
后端·node.js·koa