这是一个轻量级的库,配置几行代码。就能够实如今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和360\cm 杀的好

最后要说一下。进程常驻是保证不死。可是首先要活一次才行

换句话说好多人问我是不是要开机的时候启动一次,怎么启动

答案肯定是开机广播

可是如今有第三方软件获取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

Android 进程常驻(5)----开机广播的简单守护以及总结的更多相关文章

  1. Android 进程常驻----开机广播的简单守护以及总结

    这是一个轻量级的库,配置几行代码,就可以实现在Android上实现进程常驻,也就是在系统强杀下,以及360获取root权限下,clean master获取root权限下都无法杀死进程 支持系统2.3到 ...

  2. Android 进程常驻(使用第三方MarsDaemon)(虽然不可用,但是还是保留下。)

    github地址: https://github.com/Marswin/MarsDaemon 原理分析: Android 进程常驻(0)----MarsDaemon使用说明 Android 进程常驻 ...

  3. Android 进程常驻、进程守护、进程保活技术的总结

    转载自:http://blog.csdn.net/marswin89/article/details/50917098 这是一个轻量级的库,配置几行代码,就可以实现在Android上实现进程常驻,也就 ...

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

    版权声明:本文为博主原创文章,未经博主允许不得转载. 这是一个轻量级的库,配置几行代码,就可以实现在Android上实现进程常驻,也就是在系统强杀下,以及360获取root权限下,clean mast ...

  5. Android 进程常驻----native保活5.0以上方案推演过程以及代码

    正文: 上一篇我们通过父子进程间建立双管道,来监听进程死掉,经过测试,无耗电问题,无内存消耗问题,可以在设置中force close下成功拉起,也可以在获取到root权限的360/cleanmaste ...

  6. Android 进程常驻----native保活5.0以下方案推演过程以及代码

    正文: 今天继续昨天,一鼓作气,争取这个礼拜全部写完. 上一篇文章留了一个别人的github链接,他里面的native保活实现方案也是大多数公司采用的方案. 我们先来讲一下他的方案. 他是首先开启一个 ...

  7. Android进程保活

    Android进程回收机制 Low Memory Killer原理 微信团队原创分享:Android版微信后台保活实战分享(网络保活篇) 微信团队原创分享:Android版微信后台保活实战分享(进程保 ...

  8. 【Android】Android 4.0 无法接收开机广播的问题

    [Android]Android 4.0 无法接收开机广播的问题   前面的文章 Android 开机广播的使用 中 已经提到Android的开机启动,但是在Android 4.0 有时可以接收到开机 ...

  9. Android开机广播

    有些时候我们常常需要某个程序开机运行.在这个时候我们就需要监听系统的开机广播,然后启动我们的程序即可. 不多说 直接上代码: public class BootReceiver extends Bro ...

随机推荐

  1. Android.mk宏定义demo【转】

    本文转载自:http://blog.csdn.net/u010164190/article/details/72783963 1.Android.mk  LOCAL_PATH := $(call my ...

  2. The current .NET SDK does not support targeting .NET Core 2.1. Either target .NET Core 2.0 or lower, or use a version of the .NET SDK that supports .NET Core 2.1.

    C:\Program Files\dotnet\sdk\2.1.4\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInferenc ...

  3. Wifi加密协议漏洞

    互联网,移动互联网,物联网给我们带来便利的同时,也更容易让我们被黑客攻击,安全问题也越来越突出重要.比如近些天出现的wpa2的漏洞,让广泛应用的Wifi处于危机状态,说不定哪天你身边黑客就利用它攻击获 ...

  4. Python3爬虫--两种方法(requests(urllib)和BeautifulSoup)爬取网站pdf

    1.任务简介 本次任务是爬取IJCAI(国际人工智能联合会议)最新2018年的pdf论文文件. 本次编码用到了正则表达式从html里面提取信息,如下对正则表达式匹配规则作简要的介绍. 2.正则表达式规 ...

  5. [luogu P5349] 幂 解题报告 (分治FFT)

    interlinkage: https://www.luogu.org/problemnew/show/P5349 description: solution: 设$g(x)=\sum_{n=0}^{ ...

  6. [JXOI 2018] 游戏 解题报告 (组合数+埃氏筛)

    interlinkage: https://www.luogu.org/problemnew/show/P4562 description: solution: 注意到$l=1$的时候,$t(p)$就 ...

  7. Liunx搜索命令行

    1.grep grep(General Regular Expression Parser,通用规则表达式分析程序)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 它的使 ...

  8. 洛谷P1208 [USACO1.3]混合牛奶 Mixing Milk(贪心)

    题目描述 由于乳制品产业利润很低,所以降低原材料(牛奶)价格就变得十分重要.帮助Marry乳业找到最优的牛奶采购方案. Marry乳业从一些奶农手中采购牛奶,并且每一位奶农为乳制品加工企业提供的价格是 ...

  9. tensorflow冻结层的方法

    其实常说的fine tune就是冻结网络前面的层,然后训练最后一层.那么在tensorflow里如何实现finetune功能呢?或者说是如何实现冻结部分层,只训练某几个层呢?可以通过只选择优化特定层的 ...

  10. hdu3572Task Schedule 最大流,判断满流 优化的SAP算法

    PS:多校联赛的题目质量还是挺高的.建图不会啊,看了题解才会的. 参考博客:http://blog.csdn.net/luyuncheng/article/details/7944417 看了上面博客 ...