[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81665":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":12,"contributorsCount":12,"subscribersCount":12,"size":12,"stars1d":12,"stars7d":14,"stars30d":14,"stars90d":12,"forks30d":12,"starsTrendScore":12,"compositeScore":12,"rankGlobal":9,"rankLanguage":9,"license":15,"archived":16,"fork":16,"defaultBranch":17,"hasWiki":18,"hasPages":16,"topics":19,"createdAt":9,"pushedAt":9,"updatedAt":20,"readmeContent":21,"aiSummary":22,"trendingCount":12,"starSnapshotCount":12,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},81665,"ghost-bits-encoder","woodpecker-appstore\u002Fghost-bits-encoder","woodpecker-appstore","ghost-bits-encoder 是一个面向 Woodpecker 的辅助插件，围绕 Ghost Bits \u002F Unicode 高位包装思路，提供通用编解码、JSON 相关编码、URL 相关编码以及若干专项辅助能力。",null,"Java",49,0,48,1,"MIT License",false,"main",true,[],"2026-06-12 02:04:18","# ghost-bits-encoder\n\n\u003Cp>\n  \u003Cimg title=\"artifact\" alt=\"artifact version\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fartifact-1.0--SNAPSHOT-blue.svg\" \u002F>\n  \u003Cimg title=\"plugin\" alt=\"plugin version\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplugin-2.0-yellow.svg\" \u002F>\n  \u003Cimg title=\"java\" alt=\"java version\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fjava-8+-orange.svg\" \u002F>\n  \u003Cimg title=\"license\" alt=\"license\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-red.svg\" \u002F>\n\u003C\u002Fp>\n\n`ghost-bits-encoder` 是一个面向 [Woodpecker](https:\u002F\u002Fgithub.com\u002Fwoodpecker-framework\u002Fwoodpecker-framwork-release\u002Freleases) 的辅助插件，围绕 Ghost Bits \u002F Unicode 高位包装思路，提供通用编解码、JSON 相关编码、URL 相关编码以及若干专项辅助能力。\n\n简体中文 | [English](README_en.md)\n\n---\n\n## 项目概览\n\n- **项目名**：`ghost-bits-encoder`\n- **Maven 坐标**：`me.gv7:ghost-bits-encoder:1.0-SNAPSHOT`\n- **编译目标**：Java 8\n- **插件入口**：`src\u002Fmain\u002Fjava\u002Fme\u002Fgv7\u002Fwoodpecker\u002Fplugin\u002FWoodpeckerPluginManager.java`\n- **Woodpecker 界面名称**：`GhostBits 编解码器`\n- **Woodpecker 插件版本**：`2.0`\n\n插件的核心做法是：将文本的低 8 位信息映射到不同的 Unicode 字符中，或基于特定解析逻辑生成可用于测试的变体；同时提供对应的解码与验证能力，方便在 Woodpecker 中直接操作和比对结果。\n\n## 核心能力\n\n项目当前实现的能力不止“编码\u002F解码”两个标签页，还包含多种针对不同输入形式的辅助编码方式：\n\n| 分类 | 标签页 | 说明 |\n| --- | --- | --- |\n| 基础 | `编码` | 输入任意文本，随机生成 5 个不同 Unicode 区块的 GhostBits 变体 |\n| 基础 | `解码` | 对 GhostBits 文本逐字符取低 8 位，还原原始内容 |\n| JSON | `FastJSON Ghost` | 对普通文本或 JSON 字符串字面量做 `\\\\uXXXX` 风格的多文种数字混淆 |\n| JSON | `Jackson Ghost` | 对普通文本全文 Ghost 编码；若输入像 JSON，则仅编码字符串字面量内容 |\n| URL | `Jetty Hex编码` | 生成 `%XX` 风格的变体，十六进制位可替换为 Jetty 可接受的非标准字符 |\n| URL | `Ghost URL编码` | Jetty Hex 与高位包装的混合变体 |\n| URL | `全角URL编码` | 将 ASCII 可打印字符映射为全角字符后再做 URL 编码 |\n| 其他 | `Base64 Ghost` | 先做 Base64，再对结果逐字符进行高位包装 |\n| 其他 | `CRLF注入编码` | 使用 `[CRLF]` 作为占位符，输出包含 Ghost 化 `CRLF` 的结果 |\n| 其他 | `BCEL Ghost` | 支持对 `$$BCEL$$` 前缀之后的内容做 Ghost 包装 |\n| 文档 | `使用帮助` | 在插件界面内显示项目内置帮助说明 |\n\n## 编码实现摘要\n\n核心实现位于 `src\u002Fmain\u002Fjava\u002Futil\u002FGhostBits.java` 与 `src\u002Fmain\u002Fjava\u002Futil\u002FJson.java`，目前包含以下几类逻辑：\n\n1. **固定基址编码与解码**\n   - 默认使用 `U+4E00`（CJK）作为基址。\n   - 解码时逐字符取低 8 位恢复原文。\n\n2. **逐字符随机高位包装**\n   - 预计算安全码点表，按字节值随机选择可见、安全的 Unicode 字符。\n\n3. **多语言区块变体生成**\n   - 内置多组可用基底，覆盖拉丁扩展、希腊、西里尔、希伯来、阿拉伯、天城文、孟加拉、泰文、缅甸、CJK、数学\u002F几何符号等区块。\n   - `编码` 标签页默认生成 **5 个**随机变体。\n\n4. **面向特定场景的辅助编码**\n   - Jetty Hex \u002F Ghost URL \u002F 全角 URL\n   - FastJSON \u002F Jackson\n   - Base64 \u002F CRLF \u002F BCEL\n\n> 说明：README 只描述当前仓库中已经实现的编码行为与插件功能，不对外部环境的兼容性或实际效果做额外保证。实际测试效果请以目标应用链路为准。\n\n## 已注册的 Helper 标签页\n\n根据 `WoodpeckerPluginManager`，插件启动时会注册以下 11 个标签页：\n\n1. `编码`\n2. `解码`\n3. `FastJSON Ghost`\n4. `Jetty Hex编码`\n5. `全角URL编码`\n6. `Ghost URL编码`\n7. `Base64 Ghost`\n8. `CRLF注入编码`\n9. `BCEL Ghost`\n10. `Jackson Ghost`\n11. `使用帮助`\n\n## 使用示例\n\n### 1. 编码\n\n默认输入示例：\n\n```text\n..\u002F..\u002F..\u002F\n```\n\n执行后会输出原文和 5 个随机变体，格式类似：\n\n```text\n原文: ..\u002F..\u002F..\u002F\n\n贮败赵贰贰贲赥\nぐぜちぢぢづど\nαεθικικιμ\n...\n```\n\n### 2. 解码\n\n默认输入示例：\n\n```text\n丮丮丯丮丮丯丮丮丯\n```\n\n输出：\n\n```text\n..\u002F..\u002F..\u002F\n```\n\n### 3. FastJSON Ghost\n\n默认输入：\n\n```json\n{\"@type\":\"java.awt.Rectangle\"}\n```\n\n当输入看起来像 JSON 时，插件会保留 JSON 结构字符，只对字符串字面量内容进行编码；若输入为普通文本，则会整体编码为 `\\\\uXXXX` 风格结果。\n\n### 4. Jackson Ghost\n\n默认输入：\n\n```json\n{\"@type\":\"com.sun.rowset.JdbcRowSetImpl\"}\n```\n\n若识别为 JSON，则仅对字符串字面量内容做 Ghost 包装；数字、布尔值和 JSON 结构字符保持不变。\n\n### 5. Jetty Hex编码 \u002F Ghost URL编码 \u002F 全角URL编码\n\n这三个标签页的默认输入都是：\n\n```text\n..\u002F\n```\n\n- `Jetty Hex编码`：输出 `%XX` 风格变体。\n- `Ghost URL编码`：混合 `%XX` 片段与 Ghost 字符。\n- `全角URL编码`：先转全角，再输出 URL 编码后的结果。\n\n### 6. Base64 Ghost\n\n默认输入：\n\n```text\n1ue\n```\n\n处理流程为：先对原文做标准 Base64，再对 Base64 结果逐字符做 Ghost 化。\n\n### 7. CRLF注入编码\n\n默认输入：\n\n```text\nattacker[CRLF]DATA[CRLF]Subject: PWNED\n```\n\n其中 `[CRLF]` 是占位标记，编码后对应位置会被替换为 Ghost 化的 `\\r\\n`。\n\n### 8. BCEL Ghost\n\n默认输入：\n\n```text\n$$BCEL$$$l$8b$I$A$A$A$A$A$A$A$9c$bc$db$d2$ab$ca$96\n```\n\n如果输入以 `$$BCEL$$` 开头，插件会保留此前缀，只对后续内容做编码。\n\n## 构建与安装\n\n### 环境要求\n\n- JDK 8 或更高版本\n- Maven 3.x\n- 可加载 Woodpecker Helper 插件的运行环境\n\n### 本地构建\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fwoodpecker-appstore\u002Fghost-bits-encoder.git\ncd ghost-bits-encoder\nmvn clean package\n```\n\n构建完成后会在 `target\u002F` 下生成：\n\n```text\ntarget\u002Fghost-bits-encoder-1.0-SNAPSHOT.jar\n```\n\n### 安装到 Woodpecker\n\n```bash\ncp target\u002Fghost-bits-encoder-1.0-SNAPSHOT.jar \u003Cwoodpecker-plugins-dir>\u002F\n```\n\n## 项目结构\n\n```text\nsrc\u002Fmain\u002Fjava\u002Fme\u002Fgv7\u002Fwoodpecker\u002Fplugin\u002F\n├── WoodpeckerPluginManager.java\n└── helpers\u002F\n    ├── Base64GhostHelper.java\n    ├── BcelGhostHelper.java\n    ├── CrlfGhostHelper.java\n    ├── FastjsonGhostHelper.java\n    ├── FullwidthUrlHelper.java\n    ├── GhostUrlHelper.java\n    ├── HelpHelper.java\n    ├── JacksonGhostHelper.java\n    └── JettyHexHelper.java\n\nsrc\u002Fmain\u002Fjava\u002Futil\u002F\n├── GhostBits.java\n└── Json.java\n\nsrc\u002Ftest\u002Fjava\u002F\n├── BcelTest.java\n├── DigitTest.java\n├── FastJsonTest.java\n├── GhostBitsTest.java\n└── JsonTest.java\n```\n\n## 测试情况\n\n仓库中已经包含基础测试与示例程序，覆盖了以下内容：\n\n- 通用 Ghost 编码\u002F解码往返\n- Jetty Hex 编码逻辑\n- Base64 Ghost 往返验证\n- CRLF 编码结果校验\n- 全角 URL \u002F Ghost URL 基本输出验证\n- Jackson \u002F FastJSON 场景下的 JSON 结构保留\n\n当前仓库状态下可直接执行：\n\n```bash\nmvn test\n```\n\n## 依赖说明\n\n`pom.xml` 当前主要依赖包括：\n\n- `me.gv7.woodpecker:woodpecker-bcel:0.1.0`\n- `me.gv7.woodpecker:woodpecker-sdk:0.3.0`\n- `me.gv7.woodpecker:woodpecker-requests:0.2.0`\n- `me.gv7.woodpecker:woodpecker-tools:0.1.0.beta1`\n- `com.alibaba:fastjson:1.2.57`（测试作用域）\n\n## 贡献者（排名不分先后）\n\n- [whwlsfb](https:\u002F\u002Fgithub.com\u002Fwhwlsfb\u002F)@SgLab\n- [Xenc](https:\u002F\u002Fgithub.com\u002Frsxenc-maker\u002F)@SgLab\n\n\u003Cimg src=\".\u002Fimages\u002Fsglab.svg\" width=\"300\" alt=\"SgLab\">\n\n## License\n\nMIT\n","ghost-bits-encoder 是一个面向 Woodpecker 的辅助插件，主要功能是基于 Ghost Bits 和 Unicode 高位包装思路提供多种编解码服务。其核心功能包括通用文本的编码与解码、JSON 字符串的混淆处理、URL 编码变体生成等，支持如 FastJSON、Jackson 等特定场景下的高级编码需求。该插件还具备 CRLF 注入编码和 BCEL Ghost 编码等专项能力，以满足不同测试环境的需求。适用于需要对数据进行复杂变换或安全性测试的开发人员，特别是在使用 Woodpecker 框架进行应用安全评估时。项目采用 Java 语言编写，并遵循 MIT 许可协议。",2,"2026-06-11 04:05:54","CREATED_QUERY"]