[转]Android java hook(一)

参考:[url]http://www.cydiasubstrate.com[/url]

0x0:前言

一直以来想做一下安卓java hook方面的东西,因为一些游戏的测试,如果能做好java hook的话,那么本机测试的话将会非常方便,更主要的是在一些有签名或者md5防护的游戏中,我们可以确定好位置,然后hook相关方法和修改参数,达到测试的效果,能确保找准位置,那么剩下的就寻找游戏的验证即可。

那么,我们就找了一个cydiasubstrate框架开始测试,其实,用xposed也一样,看使用习惯了,这里我们是刚开始学习,那么就先使用这个开始了。

下面的代码相关的,是使用官网介绍的相关例子。
[url]http://www.cydiasubstrate.com/id/20cf4700-6379-4a14-9bc2-853fde8cc9d1/[/url]

建议读者去读官网介绍,英文的,不多,一般都能理解掉。实在不想看官网的,那就继续本篇文章吧。

首先是在手机上安装cydia框架:
[url]https://cache.saurik.com/apks/com.saurik.substrate_0.9.4010.apk[/url]

打开后,简单的英文,按照说明点一下即可。

0x1:建立工程

建立好工程以后,将所需jar包导入
[img]http://dl2.iteye.com/upload/attachment/0104/5430/7c289a96-d95b-380a-a0ad-6a905869cf86.png[/img]
然后开始配置AndroidManifest.xml文件
[img]http://dl2.iteye.com/upload/attachment/0104/5437/bb1542d2-a7c6-3292-9162-eb72102c4fe9.png[/img]
1.我们使用Application对象,程序最优先启动的
2.这里设置主类,跟正常的安卓工程不同,这里相当于开发一个插件
3.这个权限,代表着cydia能够识别他为自己的插件,可以启动它

主类操作:
这里initialize()是初始化相关东西,这个相当于main函数入口
[img]http://dl2.iteye.com/upload/attachment/0104/5443/c6c14382-9d2a-38d5-83c7-ba8995d47c68.png[/img]
然后后面的方法,都写上注释了,这里也就不再多叙述。
[img]http://dl2.iteye.com/upload/attachment/0104/5445/cbbd7128-6366-3dd5-a654-f72e0e17b868.png[/img]
这个工程的目标是,hook手机上面的文字颜色,即短信,联系人之类的文字颜色,上面都操作完毕后,我们运行下程序,可以看到控制台:
[img]http://dl2.iteye.com/upload/attachment/0104/5447/b1a0bd3b-324d-3f3c-bfe6-53ed40946925.png[/img]
这里我们没有Main和launch的入口,所以这个程序是没有图标显示到手机桌面的,因为我们已经指定了他是cydia的一个插件,所以这个时候,我们重启手机即可启动此插件。
[img]http://dl2.iteye.com/upload/attachment/0104/5451/6246fbc4-9114-3564-81fc-014aef920571.png[/img]
[img]http://dl2.iteye.com/upload/attachment/0104/5455/53a05d80-dbce-3054-8855-75e0f395d924.png[/img]
通过上面两张图的对比,发现我们已经正常写好了一个测试插件。
这个不是最终目的,只是按照官网的介绍测试成功了一个demo而已,那么接下来就是我们继续扩展了。

测试demo通过,说明这个框架还是可用的,所以我们重要的是下一步的操作了。

我们的主要问题是,修改游戏中的参数数据,如与jni相关的签名数据传输,内购的通信修改,这个是比较重要的。

所以我们先从一个小demo开始,这也是我们下次文章的重点。

不熟悉此框架的同学,多去官网看看介绍,不要说是英文看不懂,就那么一点单词而已,查查也就行了,况且现在浏览器都有翻译。不过还是推荐看英文,原因你懂的。。。
相关测试demo都放到百度网盘,有兴趣的可以试试。
毕竟是框架,用xposed有时候也有风险,所以这个也是,不过风险几率不大的。

相关附件:
链接:[url]http://pan.baidu.com/s/1gdKhj0J[/url] 密码:zmib
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值