v0.1.2
v0.1.2
Highlights since v0.1.1:
-
Full-corpus validation: 39 real-world APKs (6.4 GB, 5.4M classes)
decompile to 4,081,503 files that ALL pass javac's parse phase —
zero syntax errors. Seven obfuscated-name defects found and fixed
along the way (case-renamed class headers, the lone-underscore
reserved identifier, restricted type names like 'var', digit-start
names, R8 trailing-'$' class names, Kotlin bare yield() calls,
fake dex entries no longer abort a run). docs/validation.md. -
ddc info is now the one orientation command: an app-context header
(label resolved through resources.arsc, package, version, launcher,
sdk, size, md5) above the per-dex table. -
Performance: the per-invoke proto re-parse is gone (fixpoint phase
CPU 23.5s -> 11.3s on lark, total decompile CPU -35%); method
names/descriptors share per-dex tables as Arc (peak RSS
-81MB on lark). -
weixin full-decompile stack overflow fixed (forward_single_use
inlining a def-reference cycle). -
Parser: dex-LIKE entries (encrypted payloads) are skipped with a
notice instead of failing the whole run.
jdc-core 0.1.10; ddc-dex 0.2.0 (breaking: proto_params -> &[u32]).
Full Changelog: v0.1.1...v0.1.2