IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]Android中对应用程序的行为拦截实现方式概要

    jiangwei0910410003发表于 2014-09-15 14:37:39
    love 0

    这次是真的好长时间都没有写博客了,主要不是因为工作上的事,主要还是这个问题真的有点复杂,实现起来有点麻烦,所以研究了很长时间(大约有一个月的时间)。但是幸好最后问题搞定了~~

    一、问题场景

    想实现360手机卫士那样可以拦截应用请求系统的一些权限(比如:位置信息,通讯录等)

    二、目的

    公司开发的app需要使用音频权限,但是总是被360那样的安全管家所拦截(root之后的手机),所以想通过底层的拦截,我们可以做到不会被其他应用所拦截。

    三、资料

    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


    四、了解到的知识

    这次的研究和之前的所有研究可能不一样,因为之前那些研究即使再难,也就花费不到一周的时间,而且那些研究的知识点也是很单一的,但是这次的研究所掌握的知识是很全面的。

    1.如何在Linux中执行NDK编译那些会使用带有Androoid系统源码头文件的程序

    2.如何编译引用多个so文件的程序

    3.如何在底层C++中动态的加载apk/dex文件,然后执行指定的方法

    4.如何获取系统中所有的log信息(包括所有的应用进程)

    5.如何在Linux中动态的加载so文件,然后执行指定的方法(相当于Java中的反射机制)

    6.如何在Linux中创建Socket连接

    7.如何在C程序中引用C++的动态库so


    四、总结

    我这次拦截主要还是根据网上的普遍方法,两种方法实现拦截

    1.通过底层C注入和拦截

    http://blog.csdn.net/jiangwei0910410003/article/details/39346151

    2.通过framework层注入和拦截

    http://blog.csdn.net/jiangwei0910410003/article/details/40949475

    好吧,后续的两篇文章就开始正式来说一下如何实现这两种方式,请继续关注后续的文章~~





沪ICP备19023445号-2号
友情链接