[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81668":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":16,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":10,"pushedAt":10,"updatedAt":21,"readmeContent":22,"aiSummary":23,"trendingCount":15,"starSnapshotCount":15,"syncStatus":24,"lastSyncTime":25,"discoverSource":26},81668,"YsoGUI","wr0ld\u002FYsoGUI","wr0ld","基于 Y4er\u002Fysoserial 与 marshalsec 的 Java 反序列化利用 GUI 工具，集成 Payload 生成、JNDI Reference、LDAP 反序列化与调用图编辑。","https:\u002F\u002Fgithub.com\u002Fwr0ld\u002FYsoGUI",null,"Java",42,9,39,0,3,false,"main",true,[],"2026-06-12 02:04:18","# YsoGUI\n\n一个面向 Java 反序列化测试的桌面 GUI 工具。  \n当前项目主要围绕：\n\n- `ysoserial`\n- `marshalsec`\n- Y4er 扩展的 `CLASS:` 模板\n\n做统一的可视化封装。\n\n---\n\n## 当前功能\n\n### 1. Payload 生成\n\n支持从 `ysoserial.jar` 动态扫描链并生成 payload。\n\n支持输出格式：\n\n- Base64\n- Gzip+Base64\n- URL 编码\n- Base64+URL 编码\n- Hex\n- Hex Dump\n- Raw\n\n支持：\n\n- 普通命令参数\n- `CLASS:模板名`\n- 自定义 `ObjectPayload` 链\n\n---\n\n### 2. Exploit 模块\n\n当前保留并可用的利用方式：\n\n- `RMI Registry`\n- `JRMP Listener`\n- `JNDI \u002F LDAP Remote Reference`\n- `JNDI \u002F LDAP 反序列化`\n- `JNDI \u002F RMI Remote Reference`\n\n当前 **不提供**：\n\n- `JNDI \u002F RMI 反序列化`\n\n原因很简单：这条路径实现复杂、稳定性差，当前版本不作为正式功能提供。\n\n---\n\n### 3. JNDI 模式说明\n\n#### LDAP\n\n支持两种模式：\n\n- `远程 Reference（6u211 \u002F 7u201 \u002F 8u191 \u002F 11.0.1）`\n- `反序列化`\n\n#### RMI\n\n只保留一种模式：\n\n- `远程 Reference（6u132 \u002F 7u122 \u002F 8u113）`\n\n---\n\n### 4. 调用图编辑\n\n支持：\n\n- 查看内置链调用图\n- 编辑节点\u002F连边\n- 保存用户自定义图\n- 重置为内置图\n\n---\n\n### 5. 自定义链\n\n支持导入你自己写的 `ObjectPayload` 实现类。\n\n要求：\n\n- 必须实现 `ysoserial.payloads.ObjectPayload`\n- 导入的是已编译好的 `.class`\n\n---\n\n### 6. 内存马相关\n\n项目里保留了内置模板 \u002F 内存马相关管理代码，但当前版本 **不建议作为主功能使用**。\n\n原因：\n\n- 这部分兼容性强依赖具体链、容器和目标环境\n- 不同链对 `TemplatesImpl` \u002F class 字节码加载路径并不一致\n- 工程上很难承诺“任意模板、任意容器、任意版本”都稳定\n\n所以当前更推荐的用法是：\n\n- 把它当成辅助能力\n- 优先使用已经验证过的 payload \u002F JNDI 路径\n- 不把内存马部分当成当前版本的稳定能力\n\n---\n\n## 当前项目状态\n\n按当前版本的真实情况，可以这样理解：\n\n- `Payload 生成`：可用\n- `RMI Registry \u002F JRMP Listener`：可用\n- `LDAP 反序列化`：可用\n- `LDAP Remote Reference`：可用\n- `RMI Remote Reference`：可用\n- `RMI 反序列化`：不提供\n- `内存马相关能力`：保留，但不建议使用\n\n其中：\n\n- `LDAP 反序列化` 更适合不依赖远程 class 下载的场景\n- `Remote Reference` 是否成功，和目标 JVM 是否允许远程类加载有关\n\n---\n\n## 依赖\n\n本工具本身是 GUI 外壳，不内置完整利用生态。使用时通常需要你自己准备：\n\n- `ysoserial.jar`\n  - 项目地址：\u003Chttps:\u002F\u002Fgithub.com\u002FY4er\u002Fysoserial>\n- `marshalsec.jar`\n  - 项目地址：\u003Chttps:\u002F\u002Fgithub.com\u002Fmbechler\u002Fmarshalsec>\n\n首次启动后，从界面中加载对应 jar 即可。\n\n---\n\n## 构建\n\n需要 **JDK 8+**，不能用纯 `JRE` 环境。\n\n```bash\nmvn package -DskipTests\n```\n\n输出：\n\n```text\ntarget\u002FYsoGUI-1.0.0.jar\n```\n\n---\n\n## 启动\n\n```bash\njava -jar target\u002FYsoGUI-1.0.0.jar\n```\n\n首次启动后：\n\n1. 加载 `ysoserial.jar`\n2. 如需 JNDI Reference \u002F LDAP 反序列化，再加载 `marshalsec.jar`\n\n---\n\n## 目录结构\n\n```text\nYsoGUI\u002F\n├── pom.xml                         # Maven 构建配置\n├── README.md                       # 项目说明\n├── src\u002Fmain\u002Fjava\u002Fysogui\u002F\n│   ├── Main.java                   # 程序入口\n│   ├── App.java                    # JavaFX Application 启动类\n│   ├── core\u002F\n│   │   ├── YsoLoader.java          # 反射加载 ysoserial.jar 并扫描 payload 链\n│   │   ├── PayloadGenerator.java   # 生成 payload，负责多种编码\u002F格式输出\n│   │   ├── ExploitRunner.java      # 调用 ysoserial exploit 相关入口\n│   │   ├── HttpClassServer.java    # JNDI Reference 模式下的本地 .class HTTP 服务\n│   │   ├── LdapDeserialServer.java # LDAP 反序列化服务\n│   │   ├── RmiDeserialServer.java  # RMI 反序列化相关实现（当前不作为正式模式提供）\n│   │   ├── ChainMetaManager.java   # 链的扩展元信息管理\n│   │   └── MemshellManager.java    # 内置模板 \u002F 内存马配置管理\n│   ├── model\u002F                      # 数据模型定义\n│   └── ui\u002F\n│       ├── MainWindow.java         # 主窗口与整体布局\n│       ├── ChainListPanel.java     # 左侧链列表\n│       ├── GraphEditorPanel.java   # 调用图展示与编辑面板\n│       ├── PayloadPanel.java       # Payload 生成功能面板\n│       ├── ExploitPanel.java       # Exploit \u002F JNDI 服务功能面板\n│       └── OutputPanel.java        # 日志输出面板\n└── src\u002Ftest\u002Fjava\u002Fysogui\u002F           # 测试与调试用代码\n```\n\n---\n\n## 说明\n\n这个项目的定位不是“重写一套 ysoserial \u002F marshalsec”，而是：\n\n> 把常用 payload 生成、JNDI 服务、利用入口、调用图和一些模板能力收进同一个桌面工具里。\n\n所以它更适合：\n\n- 本地测试\n- 链路验证\n- 日常利用调试\n- 自定义链开发联调\n\n而不是：\n\n- 覆盖所有 Java 利用场景\n- 承诺所有版本 \u002F 所有容器 \u002F 所有链都兼容\n\n---\n\n## 效果图\n\n![](https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fwr0ld\u002FBlogImage@main\u002Fimg\u002F20260505163001422.png)\n\n![](https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fwr0ld\u002FBlogImage@main\u002Fimg\u002F20260505163023212.png)\n\n![](https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fwr0ld\u002FBlogImage@main\u002Fimg\u002F20260505163107120.png)\n\n![](https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fwr0ld\u002FBlogImage@main\u002Fimg\u002F20260505163200128.png)\n\n## 免责声明\n\n仅用于授权测试与安全研究。\n","YsoGUI 是一个基于 ysoserial 和 marshalsec 的 Java 反序列化利用的桌面 GUI 工具，集成了 Payload 生成、JNDI Reference、LDAP 反序列化与调用图编辑等功能。其核心功能包括从 ysoserial 动态扫描链并生成多种格式的 payload，支持 RMI Registry、JRMP Listener、JNDI\u002FLDAP Remote Reference 和 LDAP 反序列化等利用方式。此外，该工具还提供了调用图编辑和自定义 ObjectPayload 链的支持。YsoGUI 适用于需要进行 Java 反序列化测试和漏洞利用的研究人员及安全专业人员。需要注意的是，尽管项目中保留了内存马相关代码，但不建议作为主要功能使用，因为其兼容性和稳定性难以保证。",2,"2026-06-11 04:05:54","CREATED_QUERY"]