{"adoption": {"forks": 2531, "observed_at": "2026-08-28T04:11:14.742064+00:00", "stars": 16053}, "canonical_url": "https://ross.abutalabs.com/products/virtualxposed", "card": {"archived": false, "artifact_type": "application", "description": "A simple app to use Xposed without root, unlock the bootloader or modify system image, etc.", "domain": ["android-tools", "security", "developer-tools"], "enriched": true, "function": ["security", "plugin-system", "developer-tools"], "health_score": 20, "homepage": "https://vxp.app", "language": "Java", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["android-hacker/VirtualXposed", "android-hacker/exposed"], "name": "VirtualXposed", "platform": [], "pushed_at": "2024-03-08T05:09:27+00:00", "repo": "android-hacker/VirtualXposed", "stars": 16053, "tags": ["xposed", "non-root", "app-virtualization", "hooking", "aop", "java", "android"], "topics": ["xposed", "android", "non-root", "hook", "aop"], "urls": [], "use_cases": ["use xposed modules without rooting my phone", "run youtube adaway without root", "hook app methods on a non-rooted android device", "test xposed modules in a sandboxed virtual environment", "clone an app and apply xposed tweaks to it", "avoid unlocking bootloader to use xposed"], "what_it_is": "VirtualXposed is an Android app that runs apps and Xposed modules inside a virtual environment, enabling Xposed module functionality without root, unlocked bootloader, or system modification. It is built on VirtualApp for app virtualization and epic for method hooking, supporting Android 5.0 through 10.0.", "when_to_avoid": ["you need modules that modify the system globally, since system modification is unsupported", "you rely on resource hooks such as theming modules, which are not supported", "you target Android versions above 10.0", "you intend to use it commercially, which is prohibited by VirtualApp's declaration"], "when_to_choose": ["you want Xposed module functionality on a stock, unrooted Android device", "you only need to hook individual apps rather than the whole system", "you want a quick sandbox to test Xposed modules without flashing anything"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/android-hacker/VirtualXposed", "repo": "android-hacker/VirtualXposed", "role": "main", "score": 23}, {"path": "/repos/android-hacker/exposed", "repo": "android-hacker/exposed", "role": "sdk", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.742064+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:05:15.655626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b8dc5666dc18e195329f2d9ff6dec9b5f8f6b28fe564e8d4c128051278229c2", "fetched_at": "2026-08-28T04:11:14.742064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/android-hacker/VirtualXposed"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.742064+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:05:15.655626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b8dc5666dc18e195329f2d9ff6dec9b5f8f6b28fe564e8d4c128051278229c2", "fetched_at": "2026-08-28T04:11:14.742064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/android-hacker/VirtualXposed"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:05:15.655626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b8dc5666dc18e195329f2d9ff6dec9b5f8f6b28fe564e8d4c128051278229c2", "fetched_at": "2026-08-28T04:11:14.742064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/android-hacker/VirtualXposed"}], "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:11:14.742064+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.742064+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.742064+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:05:15.655626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b8dc5666dc18e195329f2d9ff6dec9b5f8f6b28fe564e8d4c128051278229c2", "fetched_at": "2026-08-28T04:11:14.742064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/android-hacker/VirtualXposed"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.742064+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.742064+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:05:15.655626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b8dc5666dc18e195329f2d9ff6dec9b5f8f6b28fe564e8d4c128051278229c2", "fetched_at": "2026-08-28T04:11:14.742064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/android-hacker/VirtualXposed"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.742064+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.742064+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.742064+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:05:15.655626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b8dc5666dc18e195329f2d9ff6dec9b5f8f6b28fe564e8d4c128051278229c2", "fetched_at": "2026-08-28T04:11:14.742064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/android-hacker/VirtualXposed"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.742064+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:14.742064+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:05:15.655626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b8dc5666dc18e195329f2d9ff6dec9b5f8f6b28fe564e8d4c128051278229c2", "fetched_at": "2026-08-28T04:11:14.742064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/android-hacker/VirtualXposed"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:05:15.655626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b8dc5666dc18e195329f2d9ff6dec9b5f8f6b28fe564e8d4c128051278229c2", "fetched_at": "2026-08-28T04:11:14.742064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/android-hacker/VirtualXposed"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:05:15.655626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b8dc5666dc18e195329f2d9ff6dec9b5f8f6b28fe564e8d4c128051278229c2", "fetched_at": "2026-08-28T04:11:14.742064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/android-hacker/VirtualXposed"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:05:15.655626+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4b8dc5666dc18e195329f2d9ff6dec9b5f8f6b28fe564e8d4c128051278229c2", "fetched_at": "2026-08-28T04:11:14.742064+00:00", "kind": "readme", "missing": false, "url": "https://github.com/android-hacker/VirtualXposed"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3197, "days_push": 908, "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}}