{"adoption": {"forks": 355, "observed_at": "2026-08-28T04:05:20.410911+00:00", "stars": 1674}, "canonical_url": "https://ross.abutalabs.com/products/yahfa", "card": {"archived": false, "artifact_type": "library", "description": "Yet Another Hook Framework for ART", "domain": ["android-tools", "security", "developer-tools"], "enriched": true, "function": ["security", "reverse-engineering", "developer-tools"], "health_score": 20, "homepage": null, "language": "Java", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["PAGalaxyLab/YAHFA"], "name": "PAGalaxyLab/YAHFA", "platform": [], "pushed_at": "2024-07-22T23:50:28+00:00", "repo": "PAGalaxyLab/YAHFA", "stars": 1674, "tags": ["hook-framework", "art", "java-method-hooking", "xposed-alternative", "mobile-security", "android"], "topics": ["android", "hook-framework", "hook"], "urls": [], "use_cases": ["hook java methods in android apps", "replace method implementations at runtime on art", "build a rootless hooking tool like virtualhook", "instrument android app behavior for analysis", "intercept android api calls without root", "patch third-party app methods on android 7 through 12"], "what_it_is": "YAHFA is a hook framework for Android ART that enables efficient Java method hooking and replacement. It is distributed as an Android library (AAR) via Maven Central and powers VirtualHook for rootless app hooking.", "when_to_avoid": ["you need to hook Android 6.0 or lower (support is broken)", "you need active development or support for the newest Android versions", "you want a non-copyleft license (it is GPL-3.0)", "you need native (C/C++) function hooking rather than Java method hooking"], "when_to_choose": ["you need to hook Java methods on Android 7.0-12 ART", "you want a lightweight library dependency rather than a full Xposed setup", "you need rootless hooking via a virtual environment like VirtualHook", "you need support for x86, x86_64, armeabi-v7a and arm64-v8a"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/yahfa", "repo": "PAGalaxyLab/YAHFA", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.410911+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:42:31.014968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7252b601c45cef7579dcf9a30dbe318975c69a8bb1b72f4f3cc0aa1418cf3fcc", "fetched_at": "2026-08-28T04:05:20.410911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PAGalaxyLab/YAHFA"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.410911+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:42:31.014968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7252b601c45cef7579dcf9a30dbe318975c69a8bb1b72f4f3cc0aa1418cf3fcc", "fetched_at": "2026-08-28T04:05:20.410911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PAGalaxyLab/YAHFA"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:42:31.014968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7252b601c45cef7579dcf9a30dbe318975c69a8bb1b72f4f3cc0aa1418cf3fcc", "fetched_at": "2026-08-28T04:05:20.410911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PAGalaxyLab/YAHFA"}], "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:20.410911+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.410911+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.410911+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:42:31.014968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7252b601c45cef7579dcf9a30dbe318975c69a8bb1b72f4f3cc0aa1418cf3fcc", "fetched_at": "2026-08-28T04:05:20.410911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PAGalaxyLab/YAHFA"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.410911+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.410911+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:42:31.014968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7252b601c45cef7579dcf9a30dbe318975c69a8bb1b72f4f3cc0aa1418cf3fcc", "fetched_at": "2026-08-28T04:05:20.410911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PAGalaxyLab/YAHFA"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.410911+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.410911+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.410911+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:42:31.014968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7252b601c45cef7579dcf9a30dbe318975c69a8bb1b72f4f3cc0aa1418cf3fcc", "fetched_at": "2026-08-28T04:05:20.410911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PAGalaxyLab/YAHFA"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.410911+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:20.410911+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:42:31.014968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7252b601c45cef7579dcf9a30dbe318975c69a8bb1b72f4f3cc0aa1418cf3fcc", "fetched_at": "2026-08-28T04:05:20.410911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PAGalaxyLab/YAHFA"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:42:31.014968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7252b601c45cef7579dcf9a30dbe318975c69a8bb1b72f4f3cc0aa1418cf3fcc", "fetched_at": "2026-08-28T04:05:20.410911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PAGalaxyLab/YAHFA"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:42:31.014968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7252b601c45cef7579dcf9a30dbe318975c69a8bb1b72f4f3cc0aa1418cf3fcc", "fetched_at": "2026-08-28T04:05:20.410911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PAGalaxyLab/YAHFA"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:42:31.014968+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7252b601c45cef7579dcf9a30dbe318975c69a8bb1b72f4f3cc0aa1418cf3fcc", "fetched_at": "2026-08-28T04:05:20.410911+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PAGalaxyLab/YAHFA"}], "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": 3443, "days_push": 772, "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}}