{"adoption": {"forks": 818, "observed_at": "2026-08-28T04:08:53.359946+00:00", "stars": 4554}, "canonical_url": "https://ross.abutalabs.com/products/epic", "card": {"archived": false, "artifact_type": "library", "description": "Dynamic java method AOP hook for Android(continution of Dexposed on ART), Supporting 5.0~11", "domain": ["android-tools", "developer-tools", "security", "mobile-development"], "enriched": true, "function": ["middleware", "security", "testing", "monitoring"], "health_score": 20, "homepage": null, "language": "Java", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["tiann/epic"], "name": "tiann/epic", "platform": [], "pushed_at": "2023-07-22T14:04:07+00:00", "repo": "tiann/epic", "stars": 4554, "tags": ["aop", "hooking", "xposed", "dexposed", "art-runtime", "java-method-hook", "runtime-instrumentation", "android"], "topics": ["art", "hook", "aop", "dexposed", "android", "epic", "xposed"], "urls": [], "use_cases": ["hook java methods at runtime on android", "implement aop in an android app without bytecode rewriting", "instrument methods for performance monitoring", "audit sensitive api calls for security", "monitor thread creation and destruction", "hook android framework methods inside my app process"], "what_it_is": "Epic is a dynamic Java method AOP hooking library for Android, continuing Dexposed on the ART runtime and supporting Android 5.0 through 11. It allows non-invasive runtime hooking of both app code and Android framework code within the app process via a small JNI library.", "when_to_avoid": ["you target Android versions above 11", "you need to hook other apps system-wide like a root Xposed module", "you want a maintained actively developed solution for new Android releases"], "when_to_choose": ["you need runtime method hooking on Android 5.0-11 without annotations or bytecode rewriting", "you want Dexposed/Xposed-style hooks inside your own app process", "you need instrumentation or security auditing of method calls"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/epic", "repo": "tiann/epic", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:53.359946+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:20:03.275333+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b0507b3ebf614f4c2baef7aea51fe2f6edab2f1434e84503dd696d61154b4dc", "fetched_at": "2026-08-28T04:08:53.359946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tiann/epic"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:53.359946+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:20:03.275333+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b0507b3ebf614f4c2baef7aea51fe2f6edab2f1434e84503dd696d61154b4dc", "fetched_at": "2026-08-28T04:08:53.359946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tiann/epic"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:20:03.275333+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b0507b3ebf614f4c2baef7aea51fe2f6edab2f1434e84503dd696d61154b4dc", "fetched_at": "2026-08-28T04:08:53.359946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tiann/epic"}], "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:08:53.359946+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:53.359946+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:53.359946+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:20:03.275333+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b0507b3ebf614f4c2baef7aea51fe2f6edab2f1434e84503dd696d61154b4dc", "fetched_at": "2026-08-28T04:08:53.359946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tiann/epic"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:53.359946+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:53.359946+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:20:03.275333+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b0507b3ebf614f4c2baef7aea51fe2f6edab2f1434e84503dd696d61154b4dc", "fetched_at": "2026-08-28T04:08:53.359946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tiann/epic"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:53.359946+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:53.359946+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:53.359946+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:20:03.275333+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b0507b3ebf614f4c2baef7aea51fe2f6edab2f1434e84503dd696d61154b4dc", "fetched_at": "2026-08-28T04:08:53.359946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tiann/epic"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:53.359946+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:53.359946+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:20:03.275333+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b0507b3ebf614f4c2baef7aea51fe2f6edab2f1434e84503dd696d61154b4dc", "fetched_at": "2026-08-28T04:08:53.359946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tiann/epic"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:20:03.275333+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b0507b3ebf614f4c2baef7aea51fe2f6edab2f1434e84503dd696d61154b4dc", "fetched_at": "2026-08-28T04:08:53.359946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tiann/epic"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:20:03.275333+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b0507b3ebf614f4c2baef7aea51fe2f6edab2f1434e84503dd696d61154b4dc", "fetched_at": "2026-08-28T04:08:53.359946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tiann/epic"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:20:03.275333+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9b0507b3ebf614f4c2baef7aea51fe2f6edab2f1434e84503dd696d61154b4dc", "fetched_at": "2026-08-28T04:08:53.359946+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tiann/epic"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3390, "days_push": 1138, "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}}