2024年4月13日发(作者:三星ex1)
浅析Android手机的应用双开实现原理及风
险
作者:王建阔
来源:《神州·上旬刊》2019年第11期
摘要:现在大部分朋友的生活已经严重依赖智能手机,手机里藏着我们各种各样的隐私,
分身类的手机应用迎合了部分消费者的需求,市面上所谓的手机分身软件,大部分都是提供
“应用双开”功能,对于要使用多个微信、微博、贴吧的朋友可能还比较实用。目前市面上有如
下“分身类”的产品:有些是厂商开发,内置于手机内部,如小米、奇酷等,还有一些第三方应
用单独实现了此功能,如LBE平行空间、360分身大师、克隆大师、DroidPlugin等,并且这
类第三方应用不需要root手机。通过实际使用和对比,总结目前分身类应用技术实现方案。
关键词:Android;手机;应用;双开实现原理;风险
一、修改APK
反编译APK,修改APK包名、签名,将APK伪装成另外一个不同的APK,但对于一些
有加密的APK,可能没办法实现。市面上的克隆大师就是利用这一原理实现了多款应用的双
开。
二、以插件机制运行
这一技术可以在无需安装、修改的情况下运行APK文件,利用反射替换,动态代理,
hook了系统的大部分与system—server进程通讯的函数,以此作为“欺上瞒下”的目的,欺骗系
统“以为”只有一个APK在运行。市面上的DroidPlugin就是360手机助手在Android系统上实
现了一种新的插件机制:它可以在无需安装、修改的情况下运行APK文件。
三、修改Framework
对于有系统修改权限的手机生产厂商,可以修改Framework层来实现双开的目的手机的系
统分身是在OS层实现的虚拟化技术,需要通过修改Android系统的Framework层以及OS的
源码。它比较依赖手机厂商的定制系统,不能在其他手机厂商的Android版本上运行。不过这
也意味着同一台手机将会为你提供两个完全不同且互相封闭的系统环境,用不同的解锁密码、
进入不同的桌面、安装不同的应用。两者的数据完全隔离,相册、桌面、通讯录全都不一样,
即使是同一个应用的数据都是完全隔离互不干涉的,所以当你将手机插入电脑时,也完全不会
显示另外一个系统储存的资料。市面上利用该技术实现应用双开常见的产品包括小米MUMI8
系统、360奇酷手机、NubiaZ17mini等。
四、通过虚拟化技术实现
这个虚拟化的实现,简而言之就是创造一个基于Android系统的虚拟平台,通修改
Framework层的虚拟实现、Android系统组件管理、文件系統虚拟化和应用进程管理,将APK
复制一份到虚拟空间中运行,从而在手机上支持多个应用空间,并达到不相互干扰的效果。市
面上常见的运用虚拟化技术实现应用双开的产品包括:360分身大师,LBE平行空间等。
五、应用双开的存在的风险:
1.数据安全隐患风险:
部分的分身双开应用数据,通过应用分身的过滤,万一应用分身被掌握,或使用第三方应
用分身类应用,数据会存在安全隐患。简单粗暴的反编译修改APK的方式也会存在类似的问
题更可能存在植入数据窃取代码的数据安全隐患。
2. Android政策风险:
应用分身功能可能Android会禁止该类应用。后续Android版本更新后有可能会被限制无
法使用。
3.卡顿、资源占用问题:
应用分身无论采用系统层还是应用层的做法,都会占用系统资源,如果分身过多,可能会
造成系统卡顿。可以通过限制分身数量的方式来加以避免。
4.第三方应用兼容问题
应用分身可能会遭到第三方应用如微信/QQ等的屏蔽,一些第三方应用调用接口不标准,
可能没办法被应用分身监听和替换,会造成分身应用和本身应用表现不同的兼容性异常。
发布者:admin,转转请注明出处:http://www.yc00.com/num/1712947541a2153532.html
评论列表(0条)