工具介绍
YsoGUI一个面向 Java 反序列化测试的桌面 GUI 工具。
当前项目主要围绕:
ysoserialmarshalsec- Y4er 扩展的
CLASS:模板
做统一的可视化封装。

工具使用
bash
java -jar target/YsoGUI-1.0.0.jar
首次启动后:
- 加载
ysoserial.jar - 如需 JNDI Reference / LDAP 反序列化,再加载
marshalsec.jar




当前功能
1. Payload 生成
支持从 ysoserial.jar 动态扫描链并生成 payload。
支持输出格式:
- Base64
- Gzip+Base64
- URL 编码
- Base64+URL 编码
- Hex
- Hex Dump
- Raw
支持:
- 普通命令参数
CLASS:模板名- 自定义
ObjectPayload链
2. Exploit 模块
当前保留并可用的利用方式:
RMI RegistryJRMP ListenerJNDI / LDAP Remote ReferenceJNDI / LDAP 反序列化JNDI / RMI Remote Reference
当前 不提供:
JNDI / RMI 反序列化
原因很简单:这条路径实现复杂、稳定性差,当前版本不作为正式功能提供。
3. JNDI 模式说明
LDAP
支持两种模式:
远程 Reference(6u211 / 7u201 / 8u191 / 11.0.1)反序列化
RMI
只保留一种模式:
远程 Reference(6u132 / 7u122 / 8u113)
4. 调用图编辑
支持:
- 查看内置链调用图
- 编辑节点/连边
- 保存用户自定义图
- 重置为内置图
5. 自定义链
支持导入你自己写的 ObjectPayload 实现类。
要求:
- 必须实现
ysoserial.payloads.ObjectPayload - 导入的是已编译好的
.class
6. 内存马相关
项目里保留了内置模板 / 内存马相关管理代码,但当前版本 不建议作为主功能使用。
原因:
- 这部分兼容性强依赖具体链、容器和目标环境
- 不同链对
TemplatesImpl/ class 字节码加载路径并不一致 - 工程上很难承诺"任意模板、任意容器、任意版本"都稳定
所以当前更推荐的用法是:
- 把它当成辅助能力
- 优先使用已经验证过的 payload / JNDI 路径
- 不把内存马部分当成当前版本的稳定能力
工具下载
https://github.com/wr0ld/YsoGUI