免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1633 | 回复: 0
打印 上一主题 下一主题

[Android] android 上的API函数钩子,利用CydiaHook实现 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-09-09 15:29 |只看该作者 |倒序浏览

### CydiaHook

利用Cydia Substrate SDK 开发,可以HOOK java层或NATIVE层 API接口。

### 本代码功能
写代码的初衷是因为有个app,需要保存数据到SD卡上,并且app里面有判断SD挂载的状态。没有SD卡,会造成程序逻辑有问题,很多功能无法正常使用,而我的手机没有装SD卡。

另外这种HOOK方式也有助于调试程序,不必因为修改ROM底层,而引起手机变砖,简便好用,目前Cydia Substrate在某些手机中可能会有不稳定的情况,我测试的机型是ZTE U969,还找不到相关ROM。

- HOOK android.os.Environment.getExternalStorageState(),强制返回,已挂在状态。
- 执行mount bind 挂载可以读写目录到 SD卡的路径,每个终端方案商的挂载点都可能不同,请根据自己的情况,修改成正确的挂载点路径。
- 可以根据自身需要,修改挂载实现函数,可以HOOK framework中的任何API。在Main.java里,比如IMEI,GPS模拟等等。

### 准备工作

- ROOT过的手机一部,没有ROOT的,请自行搜索方法。
- Eclipse 上安装 Android Substrate SDK,

- 手机端去Google Play 下载安装 Cydia Substrate
- Eclipse 导入本代码,编译后安装到手机。
- 手机上运行Substrate,界面上点击“Link Substrate Files”,再点击 “Restart System(Soft)”
- 通过CydiaHook,查看挂载路径和状态。



---

### cydia-android-hook
Cydia Substrate demo, hook getExternalStorageState, always return MOUNTED status.

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP