{"adoption": {"forks": 365, "observed_at": "2026-08-28T04:05:10.370206+00:00", "stars": 1605}, "canonical_url": "https://ross.abutalabs.com/products/legend", "card": {"archived": false, "artifact_type": "library", "description": "A framework for hook java methods.", "domain": ["security", "mobile-development", "android-tools", "reverse-engineering"], "enriched": true, "function": ["security", "reverse-engineering", "penetration-testing", "developer-tools"], "health_score": 20, "homepage": null, "language": "Java", "license": null, "license_family": "other", "maturity": "abandoned", "member_repos": ["asLody/legend"], "name": "asLody/legend", "platform": [], "pushed_at": "2022-07-23T06:09:39+00:00", "repo": "asLody/legend", "stars": 1605, "tags": ["hook-framework", "java-method-hooking", "dalvik", "art-runtime", "no-root", "hotfix", "android-reverse-engineering", "deprecated", "android", "mobile"], "topics": [], "urls": [], "use_cases": ["hook java methods on android without root", "intercept android activity start events", "hotfix a method in a running android app", "dump dex files from an android app", "dynamically debug android app behavior", "penetration test android software security"], "what_it_is": "Legend is a Java method hooking framework for Android that works without root access, supporting both Dalvik and ART runtimes. It lets developers intercept and modify Java method behavior at runtime using annotations or programmatic hooks.", "when_to_avoid": ["you target modern Android versions - the project is deprecated in favor of Whale Hook", "you need a maintained library with active support or a clear license", "you need to hook native (C/C++) code rather than Java methods"], "when_to_choose": ["you need to hook Java methods on old Android versions (4.2 through 6.x) without root", "you want annotation-based method interception in an Android app", "you are doing security research or dynamic debugging on legacy Dalvik/ART devices"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/legend", "repo": "asLody/legend", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.370206+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:52:16.274018+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9df217154a38a4beff354ae283916fc42c5f6ac5084b5d3103838384e310cac", "fetched_at": "2026-08-28T04:05:10.370206+00:00", "kind": "readme", "missing": false, "url": "https://github.com/asLody/legend"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.370206+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:52:16.274018+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9df217154a38a4beff354ae283916fc42c5f6ac5084b5d3103838384e310cac", "fetched_at": "2026-08-28T04:05:10.370206+00:00", "kind": "readme", "missing": false, "url": "https://github.com/asLody/legend"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:52:16.274018+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9df217154a38a4beff354ae283916fc42c5f6ac5084b5d3103838384e310cac", "fetched_at": "2026-08-28T04:05:10.370206+00:00", "kind": "readme", "missing": false, "url": "https://github.com/asLody/legend"}], "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:10.370206+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.370206+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.370206+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:52:16.274018+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9df217154a38a4beff354ae283916fc42c5f6ac5084b5d3103838384e310cac", "fetched_at": "2026-08-28T04:05:10.370206+00:00", "kind": "readme", "missing": false, "url": "https://github.com/asLody/legend"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.370206+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.370206+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:52:16.274018+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9df217154a38a4beff354ae283916fc42c5f6ac5084b5d3103838384e310cac", "fetched_at": "2026-08-28T04:05:10.370206+00:00", "kind": "readme", "missing": false, "url": "https://github.com/asLody/legend"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.370206+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.370206+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.370206+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:52:16.274018+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9df217154a38a4beff354ae283916fc42c5f6ac5084b5d3103838384e310cac", "fetched_at": "2026-08-28T04:05:10.370206+00:00", "kind": "readme", "missing": false, "url": "https://github.com/asLody/legend"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.370206+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:10.370206+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:52:16.274018+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9df217154a38a4beff354ae283916fc42c5f6ac5084b5d3103838384e310cac", "fetched_at": "2026-08-28T04:05:10.370206+00:00", "kind": "readme", "missing": false, "url": "https://github.com/asLody/legend"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:52:16.274018+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9df217154a38a4beff354ae283916fc42c5f6ac5084b5d3103838384e310cac", "fetched_at": "2026-08-28T04:05:10.370206+00:00", "kind": "readme", "missing": false, "url": "https://github.com/asLody/legend"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:52:16.274018+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9df217154a38a4beff354ae283916fc42c5f6ac5084b5d3103838384e310cac", "fetched_at": "2026-08-28T04:05:10.370206+00:00", "kind": "readme", "missing": false, "url": "https://github.com/asLody/legend"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:52:16.274018+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c9df217154a38a4beff354ae283916fc42c5f6ac5084b5d3103838384e310cac", "fetched_at": "2026-08-28T04:05:10.370206+00:00", "kind": "readme", "missing": false, "url": "https://github.com/asLody/legend"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3859, "days_push": 1502, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}