{"adoption": {"forks": 309, "observed_at": "2026-08-28T04:05:32.214202+00:00", "stars": 1756}, "canonical_url": "https://ross.abutalabs.com/products/deobfuscator", "card": {"archived": false, "artifact_type": "cli-tool", "description": "The real deal", "domain": ["reverse-engineering", "security", "developer-tools"], "enriched": true, "function": ["reverse-engineering", "security", "parser"], "health_score": 20, "homepage": "https://javadeobfuscator.com", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["java-deobfuscator/deobfuscator"], "name": "java-deobfuscator/deobfuscator", "platform": ["cli", "cross-platform", "jvm"], "pushed_at": "2023-04-26T17:51:02+00:00", "repo": "java-deobfuscator/deobfuscator", "stars": 1756, "tags": ["deobfuscator", "java-bytecode", "jar", "obfuscation-removal", "reverse-engineering", "java"], "topics": [], "urls": [], "use_cases": ["deobfuscate an obfuscated java jar", "detect which obfuscator was used on a jar file", "remove string encryption from a java application", "undo zelix klassmaster obfuscation", "reverse engineer an obfuscated minecraft mod", "write a custom transformer for a new obfuscator"], "what_it_is": "A Java-based CLI tool that deobfuscates Java JAR files produced by commercial obfuscators such as Zelix KlassMaster, Stringer, Allatori, DashO, and DexGuard. It uses configurable transformers and automatic obfuscator detection to strip obfuscation layers from bytecode.", "when_to_avoid": ["you expect to recover original class or method names that were stripped during obfuscation", "you need a GUI-only experience (use the companion deobfuscator-gui instead)", "you are working with non-Java bytecode such as .NET assemblies"], "when_to_choose": ["you have an obfuscated Java JAR and need to analyze or recover readable bytecode", "you want automatic detection of which commercial obfuscator was applied", "you need a scriptable CLI workflow with YAML configuration"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/deobfuscator", "repo": "java-deobfuscator/deobfuscator", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.214202+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:27:51.997619+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfce1d90877194c8651b7a2a71da30246a3cb151eefdebf9de099b853cade0e8", "fetched_at": "2026-08-28T04:05:32.214202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/java-deobfuscator/deobfuscator"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.214202+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:27:51.997619+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfce1d90877194c8651b7a2a71da30246a3cb151eefdebf9de099b853cade0e8", "fetched_at": "2026-08-28T04:05:32.214202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/java-deobfuscator/deobfuscator"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:27:51.997619+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfce1d90877194c8651b7a2a71da30246a3cb151eefdebf9de099b853cade0e8", "fetched_at": "2026-08-28T04:05:32.214202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/java-deobfuscator/deobfuscator"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.214202+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.214202+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.214202+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:27:51.997619+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfce1d90877194c8651b7a2a71da30246a3cb151eefdebf9de099b853cade0e8", "fetched_at": "2026-08-28T04:05:32.214202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/java-deobfuscator/deobfuscator"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.214202+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.214202+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:27:51.997619+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfce1d90877194c8651b7a2a71da30246a3cb151eefdebf9de099b853cade0e8", "fetched_at": "2026-08-28T04:05:32.214202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/java-deobfuscator/deobfuscator"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.214202+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.214202+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.214202+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:27:51.997619+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfce1d90877194c8651b7a2a71da30246a3cb151eefdebf9de099b853cade0e8", "fetched_at": "2026-08-28T04:05:32.214202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/java-deobfuscator/deobfuscator"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.214202+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:32.214202+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:27:51.997619+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfce1d90877194c8651b7a2a71da30246a3cb151eefdebf9de099b853cade0e8", "fetched_at": "2026-08-28T04:05:32.214202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/java-deobfuscator/deobfuscator"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:27:51.997619+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfce1d90877194c8651b7a2a71da30246a3cb151eefdebf9de099b853cade0e8", "fetched_at": "2026-08-28T04:05:32.214202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/java-deobfuscator/deobfuscator"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:27:51.997619+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfce1d90877194c8651b7a2a71da30246a3cb151eefdebf9de099b853cade0e8", "fetched_at": "2026-08-28T04:05:32.214202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/java-deobfuscator/deobfuscator"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:27:51.997619+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cfce1d90877194c8651b7a2a71da30246a3cb151eefdebf9de099b853cade0e8", "fetched_at": "2026-08-28T04:05:32.214202+00:00", "kind": "readme", "missing": false, "url": "https://github.com/java-deobfuscator/deobfuscator"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3868, "days_push": 1225, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}