Releases: HHT0rro/JavaShroud
Release list
JavaShroud v0.30.0-dev
JavaShroud v0.30.0-dev
开发版大更新(2026-08-24)。本版本彻底抛弃 C 语言,Native 内核整体使用 Rust 重写,并引入以随机化 VM 方言与统一防御内核为核心的新一代防护管线。
Rust-only Native 运行时
- 删除全部 C 语言 Native 内核源码,Native 运行时由 Rust workspace 完整接管(jsrt-vm / jsrt-crypto / jsrt-page / jsrt-ffi / jsrt-shell / jsrt-resource / jsrt-runtime 共 7 个 crate)。
- 新增 Rust 工具链自动 provisioner,Native 一律 zigbuild 构建,CI 同步预置 Rust 工具链。
- AKEN R1:新增打包与 wire format、artifact 目录编解码器、当前页绑定解密器与 Eval7 DEK wrap。
- Catalog sidecar:
System.load前抽取认证目录到META-INF/jsrt/,每页携带 handle、locator、PageKey 与 RuntimeBindingDigest。 - Per-artifact Native 重编译:每次构建生成 specialization nonce 并覆写
specialization.rs,构建锁以完整 specialization identity 为键。 - 无本机工具链也能混淆:首次 Native 重编译自动下载锁定 Rust 1.78.0、Zig 0.13.0 与 cargo-zigbuild 0.18.0(SHA-256 校验后缓存到
~/.javashroud/toolchains),Rust 源码随引擎分发;不再依赖 rustup / 系统 zig / mingw 预装。 - 桌面端自动丢弃已退役 pass(
anti-dump-protection、anti-instrumentation、anti-symbolic-execution等),旧配置不再直接被引擎校验拒绝。
随机化 VM 方言与数据布局
- Per-artifact 指令集方言:以构建材料经 HMAC 扩展,对约 150 个 live opcode 做 Fisher-Yates 洗牌生成 65536 项 encode/decode 表,同一语义指令在不同产物中编号不同。
- 随机化融合超指令(fused opcode)与 dispatch 分发族(0–3),并生成 32 字节 dialect commitment 供跨组件校验。
- 随机数据布局:寄存器行 6 个字段按块种子逐行排列,每个字段再 XOR 独立 mix 掩码(register row envelope)。
- 混合操作数 envelope:操作数字段经 mix word 混淆的备选行编码。
- 嵌套 VM:行内再嵌套一层微指令,带独立 magic、dialect 校验、字段排列与逐槽 mix 掩码。
OS 级反调试 / 反 VM(统一防御内核)
- 新增 UnifiedDefenseTransforms:os-anti-debug 与 os-anti-vm 合并为同一套 Native 状态机,支持 balanced / hardened 两档 profile 与 1–4 个分布式探针方法注入。
- Rust FFI 真实环境检测:Linux 读 TracerPid 与 javaagent / JAVA_TOOL_OPTIONS 注入检测,Windows 调 IsDebuggerPresent;反 VM 使用 CPUID hypervisor 位 + DMI / cpuinfo 厂商串双证据判定。
- 新增 DefenseKernelRuntimeHelper:7 态防御状态机,全部状态迁移须经认证 JNI,仅产出 32 字节短期认证 share,密钥材料用后即刻清零。
强化管线与产物收口
- 新增 hardening 包:当前产物格式定义与 release gate、默认 pass 编排、产物最终化、发布扫描与旧生成名退役 gate。
- invokedynamic 目标改写为不透明 token envelope,classfile 只存 envelope,目标信息短时恢复后即清零。
- Ed25519 签名的版本化 rename/debug 映射,生产 JAR 不含此文件。
- AKEN 路由统一 canonical commitment,page-open / catalog-open / VM dispatch / JNI 路由不匹配即 fail-closed。
- 移除 ClassEncryptionLoader、MethodBodyDelayedDecryption、RuntimeVmCatalog 及一批 legacy helper;capability builders、配置模型(HardenedProtectionProfile)、kernel orchestration 全面重建;命名层新增 FixedGeneratedNamePolicy。
- 测试套件整体更新至当前格式,桌面端 pass catalog 同步;README 已刷新。
JavaShroud v0.21.0-dev
JavaShroud v0.21.0-dev
开发版更新(2026-08-23)。本版本只支持 current-format artifact、协议与 Native ABI;旧格式、旧协议、旧 Native ABI 和预构建 Native 回退均不再保留。
Current-format runtime
- 统一 JavaShroud 版本来源,移除独立 VBC 版本字段及旧 schema 输出。
- 强化 AKEN v4 Native locator、page descriptor、route、digest、commitment 和 generation 校验。
- 缺失 Native DLL、Native digest mismatch、page tamper、结构截断和跨 session/artifact replay 均保持 fail-closed。
- 保留完整 page authentication;AKEN cache-hit 不跳过当前 page 的认证流程。
- 不恢复 legacy artifact、旧协议、旧 Native ABI、prebuilt Native 或 Java fallback。
VM performance and lifecycle
- execution frame 使用线程隔离状态,保留有界 frame pool、generation binding 和统一 wipe/归还路径。
- 优化 active execution copy 到 persistent prepared program 的安全复用路径。
- 保持 nested/recursive dispatch depth 上限,超限继续走 fail-closed/受控回退路径。
- 优化重复 VM dispatch、resource index、JNI cache、zstd context 和 Native loader 热路径。
- 修复字段反射字符串按字段 owner 限定改写,避免同名字段跨类污染。
Security and regression coverage
- 增加 Native parser、AKEN page auth、VM frame、runtime metrics、tamper、protocol label 和 protected artifact 回归测试。
- 增加 missing DLL、digest mismatch、page tamper、partial-output wipe、generation mismatch 和 verifier 相关验证。
- 敏感材料仍不进入持久化 cache:key、DEK、nonce、page plaintext 和 descriptor secret 均不缓存。
Desktop workbench and release integration
- 更新 capability schema、pass selection、配置解析、版本展示和桌面端状态管理。
- 收紧 release workflow、Native 构建绑定和最终 artifact 校验。
JavaShroud v0.20.0-dev
开发版更新(2026-08-21)。本版本只支持当前受保护 artifact、协议与 Native ABI;旧格式、旧协议、旧 Native ABI 和预构建 Native 回退均不再保留。
Native 运行时性能
- 引入 operation-local AES schedule:每次 AES-GCM/CTR 操作只展开一次密钥,并在认证成功、失败、异常和会话失效时统一擦除。
- Windows x64 增加运行时 CPU 能力检测与不可变函数指针分发,支持 AES-NI、PCLMULQDQ(可用时使用 VAES/VPCLMULQDQ),不满足能力或自检条件时使用同协议软件路径。
- 优化 GHASH/AAD、CTR counter 批处理和固定大小 scratch;硬件与软件路径保持相同的 nonce、AAD、长度块、tag 比较、artifact binding 和失败擦除语义。
- Native shell crypto 复用同一套 schedule/dispatch,shell payload、chunk tag、payload commitment 和 inner image 在完整认证后才进入后续 loader 流程。
AKEN、VBC4 与 Native artifact 管线
- 完善当前格式的 typed NativeChunk、AKEN page descriptor、route、layout generation、commitment 和 artifact binding 生产链路,支持多页 Native 资源的认证打开。
- 保留每次打开都必须执行的 digest、tag、长度、结构、路由、布局和最终 commitment 校验;认证前不映射、不暴露、不执行 inner image。
- 补充 CP/row dialect、page frame 和 parser profile 的脱敏诊断字段,遇到截断、代际混用或构建上下文不一致时继续 fail-closed,而不是放宽解析条件。
VM 执行帧与 dispatch 热路径
- 新增按线程隔离的 execution frame:Windows 使用 FLS,Linux/macOS 使用 pthread TLS,并提供有界、受锁保护的兜底池。frame 绑定 artifact/session generation,不跨线程、跨 artifact 或跨 session 复用。
- 复用 locals、stack、operand scratch 和容量,保留 resident instruction state 到私有执行状态的复制;退出、异常、取消、JNI exception 和分配失败均走统一 wipe/归还路径。
- 支持 nested、recursive、lambda、invoke-dynamic 与 method re-entry,并限制 frame depth;超过上限直接 fail-closed。opcode bounds、epoch、rotation、exception table、session verification 和 JNI exception check 均保持不跳过。
- 增加不可变 opcode metadata、operand width、handler category 与已验证常量池分类缓存,减少临时对象和重复分支,同时不直接执行共享 resident mutable instruction array。
Resource、JNI、zstd 与 loader 热路径
- 建立 artifact/session 内的 immutable resource index,支持 alias 与 commitment 的近似 O(1) 查找;重复 alias/hash/route、跨 artifact replay 和 generation mismatch 直接拒绝。
- 复用按线程/会话绑定的 zstd 解压上下文与有界 scratch,认证前不暴露明文,解压失败会清除 partial output。
- JNI 缓存加入 loader identity、class binding、ABI 与 artifact/session generation 校验;缓存失配会清除并重新解析、重新认证。
- Native loader 复用已验证的 segment metadata、relocation 批处理、import/export index 和地址计算结果,但每次仍执行架构、边界、W^X、JNI symbol、digest、route、binding 与 final commitment 检查。
基准、可观测性与安全回归
- 新增脱敏
NativeRuntimeMetrics、CryptoRuntimeMetrics、VmRuntimeMetrics、ResourceRuntimeMetrics与RuntimeSecurityCounters,只记录路径、阶段耗时、计数器和 output digest,不记录 key、nonce、DEK、page plaintext、descriptor secret 或敏感路径。 - 增加 AES-128/256-GCM、CTR、GHASH/AAD、4 KB/64 KB/1 MB page、AKEN page open、重复 resource open、VM prepared/nested execution、JNI lookup、zstd decode 和 shell payload decode fixture。
- 增加硬件/软件 differential、known-answer、错误 key/nonce/AAD/tag、截断、长度溢出、跨 artifact replay、alias/commitment collision、stale generation、frame depth、JNI exception 和 partial-output wipe 覆盖。
- 安全门禁优先于性能:认证检查数不得下降,
fallback_count、legacy_path_hits、wipe_failure_count、plaintext_persistence_bytes和security_checks_skipped必须为零;不引入旧协议或 prebuilt native fallback。
Desktop workbench 与发布集成
- 升级桌面端能力/规则/目标选择、配置解析、class tree 虚拟列表和 pass selection 状态管理,改善大型项目的可视化与配置反馈。
- 收紧 embedded engine release integration、Native 构建/打包和证据清单绑定,发布物按最终 artifact 条目记录脱敏哈希与验证结果。
验收边界
- 本版本的 benchmark 报告同时标注 phase-level 证据与 coverage 状态;尚未被真实 accepted artifact 矩阵覆盖的路径不会被标记为完整计划验收通过。
- 从旧版本生成的 artifact 不保证可加载;请使用同一构建上下文重新生成 engine、Native image、AKEN pages、routes、bindings 和 commitments。
JavaShroud v0.12.0
Native 加固与密钥边界
- 引入 Boot KEK 驱动的加密启动材料(
META-INF/.r/boot.dat,AES-GCM 认证),运行时密钥不再随产物分发。 - 强化 MAX Native Shell:加密载荷头、分块认证加密、启动完整性校验与敏感缓冲区主动擦除(
PACKER_VERSION = 5)。 - 外壳绑定期望值只存在于加密 boot.dat 中,由 JVM 在
JNI_OnLoad期间一次性交付,Native 库内不再自带可整体替换的期望值。 - 新增运行时密钥分区(按分片隔离、可擦除)与五级构建安全计划(target → partition → method → profile → page 派生,freeze 后不可变)。
- 字符串加密升级为 AES-CTR,密钥/IV 按构建上下文 + 16 字节类身份域分离派生,杜绝跨类复用密文。
VMBC 与运行时
- VBC4 元数据升级至
vbc4-meta-v2:类型标签向量去标识化、密封字符串常量池项(带 MAC)。 - 新增 CFG 索引编码(按种子派生的模逆映射),指令物理布局与执行顺序解耦;新增诱饵异常表项。
- 新增加密 VM 目录(按分片分散存放、Merkle root 派生目录名、支持重命名映射),降低静态命名与资源映射泄露。
- 修复 Native VM 的
MONITORENTER/MONITOREXIT真实 JNI 同步语义(含 NPE / IllegalMonitorStateException)。 - VM 核心增强:按方法身份定位激活程序、运行时会话校验、
ldc类型与所属类身份匹配校验。
多平台 Native
targetPlatform支持"all"与多平台集合,单次构建产出 Windows x64、Linux x64、macOS x64、macOS ARM64 四份原生库(Zig 交叉编译)。- 新增 macOS Mach-O 外壳链(导出符号白名单 + fail-closed 校验)与 Linux 专用链接脚本。
- 构建证据报告支持 schema v2
natives[],按最终 JAR 条目 SHA-256 逐项绑定四平台产物;单 PE 场景保持 schema v1 兼容输出。
兼容性与正确性
- Lambda 配方保真度提升,覆盖更多 MethodHandle 调用类型、构造器引用、接口调用及 checked exception。
- 修复大小写不敏感文件系统上的类名冲突问题。
- 嵌入式运行时 helper 以 Java 8 字节码编译,可在最低支持运行时加载;引擎本体保持 Java 21。
- 修复 MAX 加密产物跨构建缓存复用问题(绑定当前 Boot KEK)。
JavaShroud v0.20.0-dev
JavaShroud v0.20.0-dev
开发版更新(2026-08-21)。本版本只支持当前受保护 artifact、协议与 Native ABI;旧格式、旧协议、旧 Native ABI 和预构建 Native 回退均不再保留。
Native 运行时性能
- 引入 operation-local AES schedule:每次 AES-GCM/CTR 操作只展开一次密钥,并在认证成功、失败、异常和会话失效时统一擦除。
- Windows x64 增加运行时 CPU 能力检测与不可变函数指针分发,支持 AES-NI、PCLMULQDQ(可用时使用 VAES/VPCLMULQDQ),不满足能力或自检条件时使用同协议软件路径。
- 优化 GHASH/AAD、CTR counter 批处理和固定大小 scratch;硬件与软件路径保持相同的 nonce、AAD、长度块、tag 比较、artifact binding 和失败擦除语义。
- Native shell crypto 复用同一套 schedule/dispatch,shell payload、chunk tag、payload commitment 和 inner image 在完整认证后才进入后续 loader 流程。
AKEN、VBC4 与 Native artifact 管线
- 完善当前格式的 typed NativeChunk、AKEN page descriptor、route、layout generation、commitment 和 artifact binding 生产链路,支持多页 Native 资源的认证打开。
- 保留每次打开都必须执行的 digest、tag、长度、结构、路由、布局和最终 commitment 校验;认证前不映射、不暴露、不执行 inner image。
- 补充 CP/row dialect、page frame 和 parser profile 的脱敏诊断字段,遇到截断、代际混用或构建上下文不一致时继续 fail-closed,而不是放宽解析条件。
VM 执行帧与 dispatch 热路径
- 新增按线程隔离的 execution frame:Windows 使用 FLS,Linux/macOS 使用 pthread TLS,并提供有界、受锁保护的兜底池。frame 绑定 artifact/session generation,不跨线程、跨 artifact 或跨 session 复用。
- 复用 locals、stack、operand scratch 和容量,保留 resident instruction state 到私有执行状态的复制;退出、异常、取消、JNI exception 和分配失败均走统一 wipe/归还路径。
- 支持 nested、recursive、lambda、invoke-dynamic 与 method re-entry,并限制 frame depth;超过上限直接 fail-closed。opcode bounds、epoch、rotation、exception table、session verification 和 JNI exception check 均保持不跳过。
- 增加不可变 opcode metadata、operand width、handler category 与已验证常量池分类缓存,减少临时对象和重复分支,同时不直接执行共享 resident mutable instruction array。
Resource、JNI、zstd 与 loader 热路径
- 建立 artifact/session 内的 immutable resource index,支持 alias 与 commitment 的近似 O(1) 查找;重复 alias/hash/route、跨 artifact replay 和 generation mismatch 直接拒绝。
- 复用按线程/会话绑定的 zstd 解压上下文与有界 scratch,认证前不暴露明文,解压失败会清除 partial output。
- JNI 缓存加入 loader identity、class binding、ABI 与 artifact/session generation 校验;缓存失配会清除并重新解析、重新认证。
- Native loader 复用已验证的 segment metadata、relocation 批处理、import/export index 和地址计算结果,但每次仍执行架构、边界、W^X、JNI symbol、digest、route、binding 与 final commitment 检查。
基准、可观测性与安全回归
- 新增脱敏
NativeRuntimeMetrics、CryptoRuntimeMetrics、VmRuntimeMetrics、ResourceRuntimeMetrics与RuntimeSecurityCounters,只记录路径、阶段耗时、计数器和 output digest,不记录 key、nonce、DEK、page plaintext、descriptor secret 或敏感路径。 - 增加 AES-128/256-GCM、CTR、GHASH/AAD、4 KB/64 KB/1 MB page、AKEN page open、重复 resource open、VM prepared/nested execution、JNI lookup、zstd decode 和 shell payload decode fixture。
- 增加硬件/软件 differential、known-answer、错误 key/nonce/AAD/tag、截断、长度溢出、跨 artifact replay、alias/commitment collision、stale generation、frame depth、JNI exception 和 partial-output wipe 覆盖。
- 安全门禁优先于性能:认证检查数不得下降,
fallback_count、legacy_path_hits、wipe_failure_count、plaintext_persistence_bytes和security_checks_skipped必须为零;不引入旧协议或 prebuilt native fallback。
Desktop workbench 与发布集成
- 升级桌面端能力/规则/目标选择、配置解析、class tree 虚拟列表和 pass selection 状态管理,改善大型项目的可视化与配置反馈。
- 收紧 embedded engine release integration、Native 构建/打包和证据清单绑定,发布物按最终 artifact 条目记录脱敏哈希与验证结果。
- 新增
promo-video-v2产品演示、示例 artifact 与跨平台运行证据包,便于复现实例、检查构建结果和展示 Native/VM 运行链路。
验收边界
- 本版本的 benchmark 报告同时标注 phase-level 证据与 coverage 状态;尚未被真实 accepted artifact 矩阵覆盖的路径不会被标记为完整计划验收通过。
- 从旧版本生成的 artifact 不保证可加载;请使用同一构建上下文重新生成 engine、Native image、AKEN pages、routes、bindings 和 commitments。
JavaShroud v0.12.0
Native 加固与密钥边界
- 引入 Boot KEK 驱动的加密启动材料(
META-INF/.r/boot.dat,AES-GCM 认证),运行时密钥不再随产物分发。 - 强化 MAX Native Shell:加密载荷头、分块认证加密、启动完整性校验与敏感缓冲区主动擦除(
PACKER_VERSION = 5)。 - 外壳绑定期望值只存在于加密 boot.dat 中,由 JVM 在
JNI_OnLoad期间一次性交付,Native 库内不再自带可整体替换的期望值。 - 新增运行时密钥分区(按分片隔离、可擦除)与五级构建安全计划(target → partition → method → profile → page 派生,freeze 后不可变)。
- 字符串加密升级为 AES-CTR,密钥/IV 按构建上下文 + 16 字节类身份域分离派生,杜绝跨类复用密文。
VMBC 与运行时
- VBC4 元数据升级至
vbc4-meta-v2:类型标签向量去标识化、密封字符串常量池项(带 MAC)。 - 新增 CFG 索引编码(按种子派生的模逆映射),指令物理布局与执行顺序解耦;新增诱饵异常表项。
- 新增加密 VM 目录(按分片分散存放、Merkle root 派生目录名、支持重命名映射),降低静态命名与资源映射泄露。
- 修复 Native VM 的
MONITORENTER/MONITOREXIT真实 JNI 同步语义(含 NPE / IllegalMonitorStateException)。 - VM 核心增强:按方法身份定位激活程序、运行时会话校验、
ldc类型与所属类身份匹配校验。
多平台 Native
targetPlatform支持"all"与多平台集合,单次构建产出 Windows x64、Linux x64、macOS x64、macOS ARM64 四份原生库(Zig 交叉编译)。- 新增 macOS Mach-O 外壳链(导出符号白名单 + fail-closed 校验)与 Linux 专用链接脚本。
- 构建证据报告支持 schema v2
natives[],按最终 JAR 条目 SHA-256 逐项绑定四平台产物;单 PE 场景保持 schema v1 兼容输出。
兼容性与正确性
- Lambda 配方保真度提升,覆盖更多 MethodHandle 调用类型、构造器引用、接口调用及 checked exception。
- 修复大小写不敏感文件系统上的类名冲突问题。
- 嵌入式运行时 helper 以 Java 8 字节码编译,可在最低支持运行时加载;引擎本体保持 Java 21。
- 修复 MAX 加密产物跨构建缓存复用问题(绑定当前 Boot KEK)。
JavaShroud v0.11.0
JavaShroud v0.11
This release advances the public line to 0.11 and presents the former “Native Max” work under the clearer Native hardening name.
Highlights
- Adds authenticated outer-stub packing for the complete inner Native kernel.
- Binds Native payloads to VMBC resources, bootstrap metadata, resource paths, dispatcher profiles, and artifact identity.
- Hardens Windows PE64 and Linux ELF64 in-memory loader validation across sections, relocations, symbols, imports, initializers, and executable entrypoints.
- Extends Mach-O metadata, rebase / bind, export, and initializer validation while retaining fail-closed behavior at the current macOS execution boundary.
- Expands runtime and reverse-evidence gates for payload, header, profile, bootstrap-index, resource-path, and manifest-mesh tampering.
- Streamlines the Chinese and English READMEs around capabilities, VMBC / NBVM, Native hardening, compatibility, and build usage.
Release Validation
The tag-triggered GitHub Actions workflow rebuilds the engine, Native components, frontend bundle, and Wails Windows package before publishing javashroud-windows-amd64.zip.
JavaShroud v0.9.3-dev
JavaShroud v0.9.2-dev
This development release bumps the engine version to 0.9.2-dev and the VBC capability version to 4.55.
- Adds guarded native VM support for engine-generated
ConstantDynamicLDC values fromcondy-constant-indirection. - Keeps
method-virtualizationstrictall-compatiblecoverage intact for max-method virtualization instead of skipping condy-bearing methods. - Preserves fail-closed behavior for unknown
ConstantDynamicbootstrap shapes. - Validates the previously failing real-JAR pair/max slice for
demo.jarunderE:\XiangMu\TestJar.
GitHub Releases are published by .github/workflows/release.yml from v* tags. Use v0.9.2-dev for this release line; bare tags such as 0.9.2-dev are not release workflow triggers.
Verification
.\gradlew :core-engine:test --tests io.github.hht0rro.javashroud.MethodVirtualizationThresholdTest --no-build-cache --stacktrace
.\gradlew :core-engine:test --fail-fast --no-build-cache --stacktrace
python scripts\real_jar_matrix.py --engine build\core-engine\libs\obfuscator-engine-0.9.2-dev.jar --fixtures E:\XiangMu\TestJar\demo.jar --mode pair --include-native --combo-param-profiles max --limit 8 --offset 140 --work-dir build\real-jar-matrix-v092-pair-max-140-148-demo --run-timeout 60 --run-attempts 2 --obfuscate-timeout 300 --ignore-testjar-pool-flakeThe matrix slice includes pair-condy-constant-indirection__method-virtualization-params-max, which previously failed during obfuscation with unsupported org.objectweb.asm.ConstantDynamic LDC input.
Prior Line
v0.9.1-dev preserved the prior sealed VM ABI when fullconfig processed older VBC4-sealed artifacts while keeping fresh inputs on the current VBC4 max-strength/native-only path.
JavaShroud v0.9.2-dev
JavaShroud v0.9.2-dev
This development release bumps the engine version to 0.9.2-dev and the VBC capability version to 4.55.
- Adds guarded native VM support for engine-generated
ConstantDynamicLDC values fromcondy-constant-indirection. - Keeps
method-virtualizationstrictall-compatiblecoverage intact for max-method virtualization instead of skipping condy-bearing methods. - Preserves fail-closed behavior for unknown
ConstantDynamicbootstrap shapes. - Validates the previously failing real-JAR pair/max slice for
demo.jarunderE:\XiangMu\TestJar.
GitHub Releases are published by .github/workflows/release.yml from v* tags. Use v0.9.2-dev for this release line; bare tags such as 0.9.2-dev are not release workflow triggers.
Verification
.\gradlew :core-engine:test --tests io.github.hht0rro.javashroud.MethodVirtualizationThresholdTest --no-build-cache --stacktrace
.\gradlew :core-engine:test --fail-fast --no-build-cache --stacktrace
python scripts\real_jar_matrix.py --engine build\core-engine\libs\obfuscator-engine-0.9.2-dev.jar --fixtures E:\XiangMu\TestJar\demo.jar --mode pair --include-native --combo-param-profiles max --limit 8 --offset 140 --work-dir build\real-jar-matrix-v092-pair-max-140-148-demo --run-timeout 60 --run-attempts 2 --obfuscate-timeout 300 --ignore-testjar-pool-flakeThe matrix slice includes pair-condy-constant-indirection__method-virtualization-params-max, which previously failed during obfuscation with unsupported org.objectweb.asm.ConstantDynamic LDC input.
Prior Line
v0.9.1-dev preserved the prior sealed VM ABI when fullconfig processed older VBC4-sealed artifacts while keeping fresh inputs on the current VBC4 max-strength/native-only path.
JavaShroud v0.9.1-dev
JavaShroud v0.9.1-dev
This development release keeps the engine version at 0.9.1-dev and the VBC capability version at 4.54.
- Preserves the prior sealed VM ABI when fullconfig processes older VBC4-sealed artifacts.
- Keeps fresh inputs and artifacts generated by the current run on the current VBC4 max-strength/native-only path.
- Covers fullconfig validation across every JAR under
E:\XiangMu\TestJar, including already shrouded fixtures and no-main library behavior.
GitHub Releases are published by .github/workflows/release.yml from v* tags. Use v0.9.1-dev for this release line; the legacy bare 0.9.1-dev tag is not a release workflow trigger.
v0.8.4-dev
Merge remote-tracking branch 'JavaShroud/main' into dev
v0.8.3-dev
fix: enable https protocol in native image
v0.8.2-dev
Fix native auto target compilation