首页
社区
课程
招聘
[讨论]关于Android 程序自启动与禁止自启动方法的讨论
发表于: 2016-9-21 22:14 14666

[讨论]关于Android 程序自启动与禁止自启动方法的讨论

2016-9-21 22:14
14666
Android 3.1后引入了一种机制,系统中的包管理服务跟踪应用的停止状态,然后用于控制是否启动这些应用。即Android Intent中定义了两种新的FLAG,FLAG_INCLUDE_STOPPED_PACKAGES和FLAG_EXCLUDE_STOPPED_PACKAGES,顾名思义,前者是允许已经停止的应用的Intent filter接收这个intent,而后者不可以。并且系统对于所有的broadcast intent都加了FLAG_EXCLUDE_STOPPED_PACKAGES这个标志。

也就是说,要想获得开机广播,你必须保证两点,1)你的应用程序在安装后必须运行一次;2)你的应用程序没有被强行停止。

----------------------------------------------------分割线-----------------------------------------------

对于一个apk,注册ACTION_BOOT_COMPLETED广播,可以实现开机自启动。

早期,有安全软件使用 pm命令禁止package或component,使得apk自启动失败。

最近做了几个实验,用Kingroot和LBE的自启动管理攻击关闭软件自启动后,发现apk中接受开机广播的component还是enable状态,但是已经无法自启动,所以,想了解一下这些软件是怎么管理自启动的。

另外,Android5.0以后,系统自带自启动管理选项了,这些是什么原理?

-----------------------------------------分割线---------------------------------------------

以上讨论暂不包含相互唤醒,全家桶等姿势,欢迎各种讨论,拍砖,不吝赐教!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 9479
活跃值: (757)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
android的诟病就是自启动,所谓自启动就是看谁能先起来,谁先起来谁说的算
2016-9-22 09:11
0
雪    币: 159
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是啊,现在就是想研究一下apk的自启动方式,以及如何禁止啊?我看root了的lbe对某些程序也禁止不了,开机广播照样收,这些apk怎么做到的,如何破?
2016-9-22 09:21
0
雪    币: 9479
活跃值: (757)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这些都是流氓软件的看家本领,他们启动的早
2016-9-22 10:09
0
雪    币: 2731
活跃值: (1651)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
其实很多所谓流氓软件都是通过C so注入方式实现的
2016-9-25 18:32
0
雪    币: 159
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
[QUOTE=hhhaiai;1446312]其实很多所谓流氓软件都是通过C so注入方式实现的[/QUO我理解是注入到系统程序中,hook了系统发出广播的函数,设置某些reveiver可以接收,某些不可以接收?
2016-9-26 08:51
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
试过以下方法:
1 使用AppOps禁用Boot_complete权限,基本没用
2 禁用Boot_complete receiver组件,基本没用
3 禁用所有Androidmanifest中注册的静态Receiver,大部分有用,仍有一些关联启动不能解决
   对功能也可能会有影响
2016-9-29 15:59
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
安全软件都是注入system server中,拦截某些binder调用,如广播、alarm、service、provider...相关接口,毕竟各大app厂商都已经深知广播不好使了,所以都切换到service、provider、account...唤醒了
2016-9-29 16:41
0
雪    币: 2731
活跃值: (1651)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
[QUOTE=yxlpeter;1446353][QUOTE=hhhaiai;1446312]其实很多所谓流氓软件都是通过C so注入方式实现的[/QUO我理解是注入到系统程序中,hook了系统发出广播的函数,设置某些reveiver可以接收,某些不可以接收?[/QUOTE]

你说的利用广播特性.这个貌似新版本已经不能使用了吧
2016-11-14 10:02
0
雪    币: 2731
活跃值: (1651)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
可以root执行执行  pm  disable 禁止有些软件
2016-11-14 10:05
0
游客
登录 | 注册 方可回帖
返回
//