{"id":19210006,"url":"https://github.com/zencodex/cydia-android-hook","last_synced_at":"2025-04-15T17:23:54.481Z","repository":{"id":16091145,"uuid":"18835891","full_name":"zencodex/cydia-android-hook","owner":"zencodex","description":"Cydia Substrate demo, hook getExternalStorageState, always return MOUNTED status.","archived":false,"fork":false,"pushed_at":"2014-04-16T10:34:14.000Z","size":740,"stargazers_count":145,"open_issues_count":1,"forks_count":70,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-03-28T23:03:51.463Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zencodex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-16T10:32:39.000Z","updated_at":"2025-01-18T08:26:00.000Z","dependencies_parsed_at":"2022-09-11T18:03:45.209Z","dependency_job_id":null,"html_url":"https://github.com/zencodex/cydia-android-hook","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zencodex%2Fcydia-android-hook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zencodex%2Fcydia-android-hook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zencodex%2Fcydia-android-hook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zencodex%2Fcydia-android-hook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zencodex","download_url":"https://codeload.github.com/zencodex/cydia-android-hook/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249116963,"owners_count":21215312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-11-09T13:33:54.682Z","updated_at":"2025-04-15T17:23:54.445Z","avatar_url":"https://github.com/zencodex.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"### CydiaHook\n==========\n\n利用Cydia Substrate SDK 开发，可以HOOK java层或NATIVE层 API接口。\n\n### 本代码功能\n写代码的初衷是因为有个app，需要保存数据到SD卡上，并且app里面有判断SD挂载的状态。没有SD卡，会造成程序逻辑有问题，很多功能无法正常使用，而我的手机没有装SD卡。\n\n另外这种HOOK方式也有助于调试程序，不必因为修改ROM底层，而引起手机变砖，简便好用，目前Cydia Substrate在某些手机中可能会有不稳定的情况，我测试的机型是ZTE U969，还找不到相关ROM。\n\n- HOOK android.os.Environment.getExternalStorageState()，强制返回，已挂在状态。\n- 执行mount bind 挂载可以读写目录到 SD卡的路径，每个终端方案商的挂载点都可能不同，请根据自己的情况，修改成正确的挂载点路径。\n- 可以根据自身需要，修改挂载实现函数，可以HOOK framework中的任何API。在Main.java里，比如IMEI，GPS模拟等等。\n\n### 准备工作\n\n- ROOT过的手机一部，没有ROOT的，请自行搜索方法。\n- Eclipse 上安装 Android Substrate SDK，参考：\u003cbr\u003e\nhttp://www.cydiasubstrate.com/id/73e45fe5-4525-4de7-ac14-6016652cc1b8/\n- 手机端去Google Play 下载安装 Cydia Substrate\n- Eclipse 导入本代码，编译后安装到手机。\n- 手机上运行Substrate，界面上点击“Link Substrate Files”，再点击 “Restart System（Soft）”\n- 通过CydiaHook，查看挂载路径和状态。\n\n参考官方的入门教程 VioletExample：\u003cbr\u003e\nhttp://www.cydiasubstrate.com/id/20cf4700-6379-4a14-9bc2-853fde8cc9d1/\n\n=======\ncydia-android-hook\n==================\n\nCydia Substrate demo, hook getExternalStorageState, always return MOUNTED status.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzencodex%2Fcydia-android-hook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzencodex%2Fcydia-android-hook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzencodex%2Fcydia-android-hook/lists"}