【免费下载链接】ps5-y2jb-autoloader
An automated payload loader for exploited PS5 consoles
PS5 Y2JB Autoloader 是一款面向已越狱 PS5 主机的自动化负载投递工具,支持固件 4.03–13.60(11.40 暂不支持)。它把整个链路封装成一条流水线:YouTube 用户态漏洞利用 → Lapse/Relapse 内核漏洞 →kexp 内核 Shellcode注入elfldr→ 统一自动加载器完成最终 payload 投递,全程无需手动操作。
一、这个自动加载器到底做了什么
普通用户需要手动发送的每一步,README.md 中描述的项目都会自动完成:
| 阶段 | 动作 | 对应源码 |
|---|---|---|
| 启动入口 | YouTube 应用加载download0.dat,执行 src/splash.html → src/main.js | 浏览器沙箱内运行 |
| 用户态漏洞 | V8 漏洞获取任意读/写/ROP 原语 | src/main.js#L125-L142 |
| 内核漏洞 | 按固件自动选择 Relapse 或 Lapse 提权 | src/main.js#L1195-L1213 |
| Shellcode 注入 | kexp 一键 Shellcode 安装 elfldr | src/aioshellcode.js |
| 最终投递 | 通过 9021 端口把 ELF 发给 elfldr | src/autoload.js#L69-L155 |
⚠️ 固件 11.40 目前不支持;Relapse 需要活动网络接口(Wi-Fi 或有线,不需要互联网)。
二、第一步:YouTube 浏览器里的用户态利用
一切从 YouTube 应用的内置浏览器开始。src/main.js 利用 CVE-2021-38003("the hole")构建不稳定原语,再通过伪造 V8 堆对象(fake Array / ArrayBuffer / BytecodeArray)升级为稳定的addrof/read64/write64,最终搭出 ROP 链。
几个新手友好的观察点:
- src/global.js#L251-L309 定义了 PS5 的全部 syscall 编号表(
mmap、mprotect、socket、jitshm_create等),后续所有系统调用都靠它。 - src/global.js#L98-L164 为 4 个不同 YouTube 构建号分别维护一套 ROP gadget 偏移(
eboot_base/libcobalt_base),这就是"按 YouTube 版本适配"的来源——版本对照表见 README.md。 - ROP 测试成功后(src/main.js#L1001-L1007),脚本通过
gettimeofday附近的 PLT 包装器获得真正的syscall()能力,并顺便关掉 PSN 断网弹窗。
三、第二步:Lapse / Relapse 内核漏洞与提权
拿到 syscall 能力后,程序在 src/main.js#L1195-L1213 按固件分流:
- Relapse(src/relapse.js):FW 7.00–13.60 且有网络时优先使用,9.05 与 11.40 除外;
- Lapse(src/lapse.js):FW ≤ 10.01 且无网络时的兜底。
以 Lapse 为例,其提权逻辑集中在 src/lapse.js#L1600-L1640:把进程的fd_cdir/fd_rdir指向根 vnode(获得根文件系统读写)、置空fd_jdir(跳出沙箱)、放宽 dynlib 地址范围并开放dlsym。之后 src/misc.js#L242-L282 的is_jailbroken()用getuid()==0 && !is_in_sandbox()确认越狱成功。
内核读写原语本身在 src/kernel.js#L3-L9,所有结构偏移(proc、filedesc 等)集中在同文件顶部的kernel_offset。
四、第三步:kexp 内核 Shellcode 与 elfldr 注入
这是"最终交付"前最关键的一跳,全部逻辑在 src/aioshellcode.js:
- 装载 elfldr:
load_elfldr()(L78-L90)从 YouTube 缓存目录读出 elfldr 的 ELF 二进制并拷入堆内存; - 映射 kexp:
map_shellcode()(L26-L45)用jitshm_create创建可执行共享内存,再mmap(PROT_RWX)得到可执行地址; - 执行 Shellcode:
run_shellcode()(L47-L76)把allproc地址、master/victim 管道 fd、elfldr 数据地址与大小打包进参数区,用Thrd_create起线程执行,再Thrd_join等待完成。
这里的kexp是 ufm42 的 PS5 "越狱后 All-in-One" Shellcode(见 third_party/ps5-kexp/),它接管内核态资源并完成 elfldr 的安装——一个监听127.0.0.1:9021的 ELF 加载守护进程。elfldr 本体来自 third_party/ps5-elfldr/,默认是只接受本机连接的定制版,可防止局域网内其他设备向主机发 payload。
构建时,Makefile 的y2jb_update.zip目标会把@@KEXP_FILE@@、@@ELFLDR_FILE@@占位符替换为实际的kexp-*.bin与elfldr-ps5-*.elf文件名(Makefile#L19-L28),所以源码里看不到具体二进制——它们由第三方子模块在构建期动态拉取。
五、最终交付:elfldr 9021 端口与统一自动加载器
kexp 跑完后,src/main.js#L1224-L1236 先确认越狱成功,依次执行:
- 自动更新检查:src/update.js 扫描 USB 8 个槽位与
/data下的y2jb_update.zip(路径清单见 update.js#L573-L579),校验update-info.txt后备份旧文件、原子替换,顺带修正splash.html权限与应用图标; - payload 投递:src/autoload.js#L69-L96 每 200ms 轮询一次
127.0.0.1:9021,等 elfldr 就绪后,把ps5-unified-autoloader.elf通过 TCP 整体写入(autoload.js#L145-L151)。
统一自动加载器(third_party/ps5-unified-autoloader/,Y2JB / BD-JB / Lua 三种自动加载器共用)接手后有两种行为:
- 找到
autoload.txt配置:按行逐个投递.elf/.bin,支持!1000毫秒级延时与@sync配置迁移; - 没找到配置:自动启动 Payload Manager,提供 Web UI,用浏览器直接配置和发送 payload。
一个典型的autoload.txt(含自定 elfldr 时需加延时):
elfldr.elf !4000 etaHEN.elf六、源码文件速查表
| 文件 | 职责 |
|---|---|
| src/main.js | 用户态 V8 漏洞、ROP、syscall 能力、漏洞分流与主流程 |
| src/global.js | 全局声明、ROP gadget 表、syscall 编号表 |
| src/kernel.js | 内核读/写原语与结构偏移 |
| src/lapse.js / src/relapse.js | 两套内核漏洞实现 |
| src/aioshellcode.js | kexp Shellcode 映射执行、elfldr 装载 |
| src/autoload.js | 轮询 9021 端口并投递统一自动加载器 |
| src/update.js | y2jb_update.zip热更新器 |
| src/misc.js | 越狱状态判断、通知、字符串分配等工具 |
| Makefile | 打包y2jb_update.zip发布包 |
七、新手常见问题 📌
- 为什么需要网络?10.20–13.60 固件必须走 Relapse,而它要求检测到活动网络接口(局域网即可,无需上网);旧固件无网络时会自动回退 Lapse。
- 11.40 为什么不能用?内核漏洞对 11.40 尚无适配,项目明确标注暂不支持。
- 更新会不会弄坏系统文件?更新器会先备份(
UPDATER_BACKUP)再替换,任何一步失败都会尝试回滚,并且只操作 YouTube 缓存沙箱内的文件。 - 9021 端口监听在局域网安全吗?默认 elfldr 只接受 localhost 连接,即仅主机自身可投递 payload;如需 PC 远程发送,可按 README.md 中的说明放入自定义
elfldr.elf并加入配置。
整条链路的精髓在于分工:用户态漏洞负责"进门",内核漏洞负责"提权",kexp Shellcode 负责"铺路"(装好 elfldr),统一自动加载器负责"送货"。四个模块各司其职,任何一环失败都会通过 src/misc.js 的send_notification给出明确提示并安全退出。
【免费下载链接】ps5-y2jb-autoloader
An automated payload loader for exploited PS5 consoles
相关推荐
PS5 Y2JB Autoloader安全实践清单:默认elfldr为何只监听localhost,还有这些防护细节
PS5 Y2JB Autoloader安全实践清单:默认elfldr为何只监听localhost,还有这些防护细节 PS5 Y2JB Autoloader 是一
PS5 Y2JB Autoloader完全指南:读懂这款覆盖4.03–13.60固件的PS5自动负载加载器
PS5 Y2JB Autoloader完全指南:读懂这款覆盖4.03–13.60固件的PS5自动负载加载器 PS5 Y2JB Autoloader 是一款面向已
PS5 Y2JB Autoloader 内核读写完全解析:IPv6 Socket pktopts 技巧背后的原理
PS5 Y2JB Autoloader 内核读写完全解析:IPv6 Socket pktopts 技巧背后的原理 PS5 Y2JB Autoloader 是一款
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考