{"id":47273824,"url":"https://github.com/chenxiaolong/AlterInstaller","last_synced_at":"2026-03-29T20:00:48.723Z","repository":{"id":222235060,"uuid":"756675075","full_name":"chenxiaolong/AlterInstaller","owner":"chenxiaolong","description":"Spoof Android package manager installer fields","archived":false,"fork":false,"pushed_at":"2026-02-15T04:54:50.000Z","size":359,"stargazers_count":112,"open_issues_count":1,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-02-15T11:53:24.946Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chenxiaolong.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-02-13T04:40:32.000Z","updated_at":"2026-02-15T04:54:44.000Z","dependencies_parsed_at":"2024-02-13T05:20:10.602Z","dependency_job_id":"07515e41-094f-41ee-88bc-c86a2f7b1610","html_url":"https://github.com/chenxiaolong/AlterInstaller","commit_stats":null,"previous_names":["chenxiaolong/alterinstaller"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/chenxiaolong/AlterInstaller","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenxiaolong%2FAlterInstaller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenxiaolong%2FAlterInstaller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenxiaolong%2FAlterInstaller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenxiaolong%2FAlterInstaller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chenxiaolong","download_url":"https://codeload.github.com/chenxiaolong/AlterInstaller/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chenxiaolong%2FAlterInstaller/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31162845,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-29T18:55:37.765Z","status":"ssl_error","status_checked_at":"2026-03-29T18:55:04.089Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-15T15:00:34.495Z","updated_at":"2026-03-29T20:00:48.715Z","avatar_url":"https://github.com/chenxiaolong.png","language":"Java","readme":"# AlterInstaller\n\n[![latest release badge](https://img.shields.io/github/v/release/chenxiaolong/AlterInstaller?sort=semver)](https://github.com/chenxiaolong/AlterInstaller/releases/latest)\n[![license badge](https://img.shields.io/github/license/chenxiaolong/AlterInstaller)](./LICENSE)\n\nAlterInstaller is a simple Magisk/KernelSU module that changes apps' installer, initiating installer, and update owner fields in the Android package manager database. This makes it possible to spoof where an app is installed from and control which app store is allowed to update it.\n\nThe module directly modifies `/data/system/packages.xml` before the package manager service starts and thus, does not require runtime code injection (eg. Zygisk). Because this state file is modified, the changes persist even if the module is uninstalled.\n\n**Supports Android 12 and newer only.**\n\n## Usage\n\n1. Download the latest version from the [releases page](https://github.com/chenxiaolong/AlterInstaller/releases). To verify the digital signature, see the [verifying digital signatures](#verifying-digital-signatures) section.\n\n2. Install the module from the Magisk/KernelSU app.\n\n3. Create `/data/local/tmp/AlterInstaller.json` listing the package IDs to modify:\n\n    ```jsonc\n    {\n        // The top level key is the package to modify. The values below can be\n        // omitted or set to null to leave the fields unchanged.\n        \"org.videolan.vlc\": {\n            // Mark VLC as being installed by the Play Store.\n            \"installer\": \"com.android.vending\",\n            // Mark VLC as being only updatable by Droid-ify.\n            \"updateOwner\": \"com.looker.droidify\"\n        }\n    }\n    ```\n\n4. Reboot. The log file is written to `/data/local/tmp/AlterInstaller.log`.\n\n    If an app is updated and it no longer reports as being installed by the specified installer, just reboot again.\n\n## Verifying digital signatures\n\nTo verify the digital signatures of the downloads, follow [the steps here](https://github.com/chenxiaolong/chenxiaolong/blob/master/VERIFY_SSH_SIGNATURES.md).\n\n## Building from source\n\nAlterInstaller can be built like most other Android projects using Android Studio or the gradle command line.\n\nTo build the module zip:\n\n```bash\n./gradlew zipRelease\n```\n\nThe output file is written to `app/build/distributions/release/`.\n\n## License\n\nAlterInstaller is licensed under GPLv3. Please see [`LICENSE`](./LICENSE) for the full license text.\n","funding_links":[],"categories":["App Management and Control"],"sub_categories":["Package Management and Installation"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenxiaolong%2FAlterInstaller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchenxiaolong%2FAlterInstaller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchenxiaolong%2FAlterInstaller/lists"}