• Android 进程常驻(5)----开机广播的简单守护以及总结


    这是一个轻量级的库,配置几行代码。就能够实如今android上实现进程常驻,也就是在系统强杀下,以及360获取root权限下。clean master获取root权限下都无法杀死进程

    支持系统2.3到6.0

    支持大部分设备,包含三星。华为。oppo,nexus。魅族等等

    能够简单对开机广播进行保护


    github地址:

    https://github.com/Marswin/MarsDaemon

    原理分析:

    Android 进程常驻(0)----MarsDaemon使用说明

    Android 进程常驻(1)----开篇

    Android 进程常驻(2)----细数利用android系统机制的保活手段

    Android 进程常驻(3)----native保活5.0下面方案推演过程以及代码详述

    Android 进程常驻(4)----native保活5.0以上方案推演过程以及代码详述

    Android 进程常驻(5)----开机广播的简单守护以及总结



    正文:



    最终一口气写完了。这是去年在一个月搞的成果。也算是对自己有了一个交代。

    事实上保活就是两个要点:

    1、如何监听到进程挂掉

    2、如何把进程拉起来

    把这两个点都解决,问题就攻克了。

    大家把我之前的文章都看完。会发现这两个点上都有好多种策略,那么在不同的手机上。两个点的不同策略就有多种组合方式。也也是我适配手机的主要手段。

    当时我适配測试的手机有




    还要说一句,有的手机会在你系统设置force close的时候,显示已经杀掉了进程。可是事实上没有真的杀掉,比方魅族。。

    能够shell进去用命令 ps | grep mars来查看全部MarsDaemon的进程

    假设有root权限,能够使用kill -9命令来杀进程,可是效果没有force close和360cm 杀的好



    最后要说一下。进程常驻是保证不死。可是首先要活一次才行
    换句话说好多人问我是不是要开机的时候启动一次,怎么启动
    答案肯定是开机广播
    可是如今有第三方软件获取root权限之后能够把我们的开机广播给禁掉。那么MarsDaemon的保护活也就没有意义了

    那么360/cm是怎么禁用我们的广播的呢?

    我们站在他的角度来思考这个问题:

    1、他阻止系统发出开机广播,开机之后立马注入SystemService

    2、系统发出广播,他让我们收不到

    3、我们收到广播之后,他把我们return掉

    4、他没能return掉我们,可是立刻杀掉我们


    ok。第一个太难,假设他能做到,我们没有root所以无解。

    第四个我们没有威胁。由于MarsDaemon就是用来反被杀的

    第三个他要注入我们,能够加壳之类防御

    那么第二个他是怎么做的呢? 系统方法:


    没错,他能够将一个组件设置为enable或者disable。假设把我们的开机广播设置为disable,那么无疑是用不了。

    但是这个他们调用不了的,须要系统签名才行。

    可是他们能够用android shell中的pms 的pm命令达到相同的效果:



    仅仅要有root权限就能够使用这个pm disable componentsName命令。

    第三方安全软件,我们已经默认他们有root权限了,那么我们该怎么办呢?


    MarsDaemon在project里面有这样一个类
    /MarsDaemon/LibMarsdaemon/src/main/java/com/marswin89/marsdaemon/PackageUtils


    是的,由于是我们自己的组件。所以设置他不须要不论什么权限,仅仅须要在有些时机顺便重置一下开机广播的状态就好(比方每次进程重新启动的时候,网络变化的时候,开关屏的时候)。另一个就是注冊一个关机广播,每次关机的时候重置一下开机广播的状态。从而达到保护开机广播的作用。

    在CleanMaster ,给了root权限之后,禁用开机广播,然后重新启动手机,开机广播失效;然后加上我的这种方法,再禁用掉,开机广播ok。

    非常easy的一个小tip


  • 相关阅读:
    一目了然卷积神经网络
    浅析 MVC Pattern
    程序员读书清单
    “数据中台”的再思考
    火锅、报表与数据库的故事
    从NoSQL到NewSQL,谈交易型分布式数据库建设要点
    从架构特点到功能缺陷,重新认识分析型分布式数据库
    YCSB测试HBase远程完全分布式集群
    NoSQL性能测试工具YCSB-Running a Workload
    再谈数据库事务隔离性
  • 原文地址:https://www.cnblogs.com/mthoutai/p/7081987.html
Copyright © 2020-2023  润新知