插件前奏-android黑科技 hook介绍
来源:互联网 发布:制作windows to go盘 编辑:程序博客网 时间:2024/04/27 19:14
转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52091833
Android hook相关学习
参考:http://www.cydiasubstrate.com
前言:
在插件化编程中中,hook一直是个非常关键的环节,如果在合适的时机,找到对应的hook点,可以通过欺骗系统的方式,来进行瞒天过海,干自己想干的事,下篇会详细介绍360的开源插件DroidPlugin中hook的方式,如果系统中某些东西能被hook掉,是一个很危险的事情,如在一些有签名或者md5防护的游戏中,我们可以确定好位置,然后hook相关方法和修改参数,达到测试的效果,能确保找准位置,那么剩下的就寻找游戏的验证即可。这是用于在破解方面。另外大家最熟悉的就是制作病毒,获取系统短信电话等重要信息,发向远程邮箱,进行。。。
那么,我们就找了一个cydiasubstrate框架开始测试,下面的代码相关的,是使用官网介绍的相关例子。
http://www.cydiasubstrate.com/id/20cf4700-6379-4a14-9bc2-853fde8cc9d1/
建议读者去读官网介绍,英文的,不多,一般都能理解掉。实在不想看官网的,那就继续本篇文章吧。
首先是在手机(盒子,笔者是做盒子开发的,就以盒子为例)上安装cydia框架:
https://cache.saurik.com/apks/com.saurik.substrate_0.9.4010.apk
打开后,简单的英文,按照说明点一下即可。
建立工程
建立好工程以后,将所需jar包导入
然后开始配置AndroidManifest.xml文件
1.Application对象,android程序最优先启动的
2.这里设置主类,跟正常的安卓工程不同,这里相当于开发一个插件,插件不是一个可以启动看起来有界面的。如:activity这些声明就没有了
3.这个权限,代表着cydia能够识别他为自己的插件,可以启动它
入口介绍:
这里initialize()是初始化相关东西,这个相当于main函数入口
然后下面的方法,看注释,这里也就不再多叙述。
这个工程的目的是,hook手机(盒子上)上面的文字,即android系统平台上setText的地方,
1首先要注意的是,我们要开始装substrate框架,如图,下载好,用adb install xxx:
2.这里我们没有Main和launch的入口,所以这个程序是没有图标显示到手机桌面的,因为我们已经指定了他是cydia的一个插件,所以这个时候,我们重启手机(盒子)即可启动此插件。
通过上面三张图的对比,发现我们已经正常写好了一个插件。之所以写这个小Demo,是为了,我们接下来更好的分析DroidPlugin相关。
相关测试demo都放到百度网盘,有兴趣的可以试试。
链接:http://pan.baidu.com/s/1bp1ahgb 密码:g0vu
第一时间获得博客更新提醒,以及更多android干货,源码分析,欢迎关注我的微信公众号,扫一扫下方二维码,即可关注。
如果你觉得好,可以分享此公众号给你更多的人,原创不易。
- 插件前奏-android黑科技 hook介绍
- Android 黑科技
- Android 黑科技小结
- #Android黑科技# 跳出浏览器
- Android开发中的黑科技
- 黑科技!Android应用程序双开!!!
- 黑科技!Android应用程序双开!!!
- 黑科技
- 黑科技
- 黑科技
- 《黑科技》
- Android-黑科技-微信抢红包必备软件
- android 手机扫描任意二维码 黑科技
- 360黑科技插件开发框架 DroidPlugin demo 下载
- 一种基于动态插件系统的移动测试黑科技
- Xposed Android hook -方法介绍
- 黑科技/隐性科技展望
- Android动态加载黑科技 动态创建Activity模式
- OpenCV学习笔记(七):访问图像中像素的三类方法
- PAT 1101. Quick Sort (25)
- 为路径动态的分配空间
- 【Android】RecyclerView嵌套ScrollVIew使用
- 网卡bonding设置,添加到vlan
- 插件前奏-android黑科技 hook介绍
- php中empty和isset的区别
- 在Sublime3下安装Emmet插件
- Unable to instantiate activity ComponentInfo{}: java.lang.ClassNotFoundException: Didn't find class
- hdu 1032 The 3n + 1 problem
- C#中数组、ArrayList和List三者的区别
- 函数传参的三种方式
- 公开论文集
- Mysql数据库常用语句