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

Post by Gandalfandroid

概述

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

详细分析

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

1

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

检查是否安装了Xposed

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

静默安装Xposed插件

释放Xposed安装apk到sdcard:4工具

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

自动激活Xposed插件功能

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

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

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

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

包结构主要差别对比,上为原版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/

相关文章
相关标签/搜索