版权声明:本文为博主原创文章,未经博主容许不得转载。javascript
此次是真的好长时间都没有写博客了,主要不是由于工做上的事,主要仍是这个问题真的有点复杂,实现起来有点麻烦,因此研究了很长时间(大约有一个月的时间)。可是幸亏最后问题搞定了~~php
1、问题场景java
想实现360手机卫士那样能够拦截应用请求系统的一些权限(好比:位置信息,通信录等)linux
2、目的android
公司开发的app须要使用音频权限,可是老是被360那样的安全管家所拦截(root以后的手机),因此想经过底层的拦截,咱们能够作到不会被其余应用所拦截。c++
3、资料算法
http://blog.csdn.net/jinzhuojun/article/details/9900105
安全
http://bbs.pediy.com/showthread.php?t=186880
微信
http://bbs.pediy.com/showthread.php?t=157419
数据结构
http://blog.csdn.net/l173864930/article/details/38455951
4、了解到的知识
此次的研究和以前的全部研究可能不同,由于以前那些研究即便再难,也就花费不到一周的时间,并且那些研究的知识点也是很单一的,可是此次的研究所掌握的知识是很全面的。
1.如何在Linux中执行NDK编译那些会使用带有Androoid系统源码头文件的程序
2.如何编译引用多个so文件的程序
3.如何在底层C++中动态的加载apk/dex文件,而后执行指定的方法
4.如何获取系统中全部的log信息(包括全部的应用进程)
5.如何在linux中动态的加载so文件,而后执行指定的方法(至关于Java中的反射机制)
6.如何在Linux中建立Socket链接
7.如何在C程序中引用C++的动态库so
4、总结
我此次拦截主要仍是根据网上的广泛方法,两种方法实现拦截
1.经过底层C注入和拦截
http://blog.csdn.net/jiangwei0910410003/article/details/39346151
2.经过framework层注入和拦截
http://blog.csdn.net/jiangwei0910410003/article/details/40949475
好吧,后续的两篇文章就开始正式来讲一下如何实现这两种方式,请继续关注后续的文章~~
更多内容:点击这里