文档章节

Xposed恶意插件可自动安装激活

骑牛找牛
 骑牛找牛
发布于 2015/01/14 15:03
字数 785
阅读 1359
收藏 1

Post by Gandalf

概述

AVL移动安全团队在之前的《Xposed恶意插件》一文中分析了一个Xposed恶意插件,但是由于Xposed模块需要手动勾选重启后才能生效,导致应用场景有限。之后网友MindMac提供了一个可自动安装激活的Xposed恶意插件demo(需Root权限),以下是对此恶意插件的详细代码分析。

详细分析

安装开启该demo后在后台会自行安装Xposed,并勾选自身AutomaticXposed,之后自动重启系统使模块激活生效:

1

启动样本即进入Xposed的安装和激活:2

检查是否安装了Xposed

首先检查是否安装过Xposed,若未安装则安装样本内嵌的Xposed。3

静默安装Xposed插件

释放Xposed安装apk到sdcard:4

获取su权限,通过pm来静默安装Xposed:5

自动激活Xposed插件功能

启动Xposed的InstallService服务,通过Intent参数设置“Enable module”激活样本:6

此服务原本实际上并不含有Xposed插件,属于作者重打包添加,所以此处demo的激活方式只适用于未安装Xposed的手机,若已安装则无法生效。

修改内嵌子包,添加InstallService激活插件并重启动系统

样本内嵌子包属于Xposed框架的安装包,但作者修改过,添加了一个InstallService用来激活插件以及重启动系统。

包结构主要差异对比,上为原版Xposed框架安装包,下为样本内嵌Xposed:78

作者修改过的XposedInstall添加了InstallService,并使其导出以至于可以被外部调用:9

服务运行之后首先检查手机系统版本和Xposed版本的兼容性,之后则设置勾选插件、重启系统激活插件:10

复现原版Xposed的正常启动流程,因是样本直接激活没有通过正常的Xposed启动,故需如此:11

调用原版ModuleUtil类的setModuleEnabled方法。修改Xposed配置文件,设置插件可用:12

配置文件位于:/data/data/de.robv.android.xposed.installer/shared_prefs/enabled_modules.xml,将样本包名“com.mindmac.xposed”置值为“1”:13

原版ModuleUtil类的updateModulesList方法 给/data/data/de.robv.android.xposed.installer/conf/modules.list文件写入样本完整路径:1415

配置完成之后,重启系统以便使设置生效:16

总结

该样本虽然只是一个demo,但实现了自动安装Xposed及其插件,并自动勾选重启激活插件的功能。但若被恶意代码利用,可能会导致更严重的损害,请谨慎使用。

不过该样本目前只适用于未安装Xposed的手机,已经安装Xposed后则无法激活,而且内嵌的Xposed属于重打包需要另外添加模块。如果已经安装了Xposed,在Root权限下通过修改Xposed的配置文件来进行激活会更合适。

最后感谢MindMac 对AVL Team的关心和帮助,用户可以使用AVL Pro对此类工具进行检测。

附:网友MindMac提供的demo来源:https://github.com/MindMac/XposedAutomation

转载请注明来自 http://blog.avlyun.com/


本文转载自:http://blog.avlyun.com/2014/11/1703/xposed/

骑牛找牛
粉丝 2
博文 28
码字总数 29263
作品 0
常德
私信 提问
oppo8.0系统怎么无需Root激活Xposed框架的经验

在较多部门的引流,或业务操作中,基本都需要使用安卓的神一般的xposed框架,近期我们部门购来了一批新的oppo8.0系统,基本都都是基于7.0以上版本,基本都不能够刷入root的su权限,虽说一部分...

不是叫兽
03/26
0
0
oppo设备怎么样无需root激活XPOSED框架的教程

在非常多部门的引流或业务操作中,基本上都需要使用安卓的强大XPOSED框架,近期,我们部门购来了一批新的oppo设备,基本上都都是基于7.0以上版本,基本上都不能够获得root的su超级权限,即使...

菜鸟院长
03/26
0
0
vivo机器如何无需root激活XPOSED框架的流程

在大多运行室的引流或者业务操作中,理论上需要使用安卓的神一般的Xposed框架,上周我们运行室购来了一批新的vivo机器,理论上都是基于7.0以上系统版本,理论上不能够获得root的su权限,虽然...

玉米帮
03/26
0
0
vivo4.0系统怎么不ROOT激活Xposed框架的教程

在越来越多应用室的引流,或业务操作中,大多数需要使用安卓的强大Xposed框架,前几天,我们应用室采购了一批新的vivo4.0系统,大多数都是基于7.0以上系统,大多数不能够刷入Root的su权限,即...

菜鸟院长
03/26
0
0
安卓4.0以上系统怎么不用root激活XPOSED框架的方法

在大多单位的引流或业务操作中,基本上都需要使用安卓的高端技术Xposed框架,近期,我们单位购买了一批新的安卓4.0以上系统,基本上都都是基于7.0以上版本,基本上都不能够刷入root超级权限,...

土豆师傅
03/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

字节序转换详解

在跨平台和网络编程中我们经常会提到网络字节序和主机字节序,如果没有正确对两者进行转换,从而导致两方产生了不同的解释,就会出现意想不到的bug。 目录 0x01 概念 0x02 分类 0x03 两种字节...

无心的梦呓
36分钟前
4
0
干货 | AI人脸识别之人脸搜索

本文档将利用京东云AI SDK来实践人脸识别中的人脸搜索功能,主要涉及到分组创建/删除、分组列表获取、人脸创建/删除、人脸搜索,本次实操的最终效果是:创建一个人脸库,拿一张图片在人脸库中...

京东云技术新知
41分钟前
4
0
【swiper】 滑块组件说明

本文转载于:专业的前端网站➣【swiper】 滑块组件说明 swiper 滑块视图容器,其原型如下: 1 <swiper 2 indicator-dots="[Boolean]" 3 indicator-color="[Color]" 4 indicator-act......

前端老手
51分钟前
4
0
堆排序算法

《Java算法总纲目录》 1、定义 由下图(网上找的),堆排序类似这种,把最大的数字放到最下面的最右面位置,然后把第二大的数字放到最下层的最右面倒数第二个位置,依此类推,如下: 2、代码...

木九天
54分钟前
5
0
框架和库的区别

框架和库的区别 框架:是一套完整的解决方案;对项目的侵入性较大,项目如果需要更换框架,则需要重新架构整个项目。 node 中的 express; 库(插件):提供某一个小功能,对项目的侵入性较小...

庭前云落
58分钟前
5
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部