Android 虚拟多开系列二——技术原理

news/2024/10/24 2:28:11/

目录

        Android虚拟多开应用有哪些?

        Android虚拟多开应用技术原理有哪几类?

        Android虚拟多开需求分析

        反虚拟多开技术

 

 

正文

 

一、Android虚拟多开应用列表

 

应用名称版本号开源公司名称下载链接
太极 维术(个人)微信公众号:虚拟框架
VirtualApp 2017.12月停止开源更新罗盒科技VirtualApp
LBE平行空间 LBELBE平行空间
360分身大师 360360分身大师
DroidPlugin 360DroidPlugin
小米应用分身 小米小米手机
双开助手 卓盟双开助手
360奇酷手机 360360奇酷手机
克隆大师 未知克隆大师(项目已停)

 

二、Android虚拟多开应用技术原理

        Android应用分身的实现和解析

        1)修改APK(例:克隆大师)

        2)修改Framework(Android多用户机制。例:小米应用分身、360奇酷手机、等)

        3)通过虚拟化技术实现(例:360分身大师、LBE平行空间)

        4)以插件机制运行(例:DroidPlugin)

 

      A. 原理简述:

         现在市场上常见的虚拟多开应用主要是基于虚拟化技术实现,而虚拟化技术主要通过 Hook 技术实现,因此我们主要考察 Hook 技术。

 

         Hook技术的分类,在非虫写的《Android软件安全权威指南》第十章有详细描述,推荐。现总结如下:

 

         按 Java 层 与 Native 层分类, Hook 技术可以分为 Java 层的 Hook 与 Native 层的 Hook。根据代码的运行环境,Java层的 Hook 可以分为 Dalvik Hook 与 ART Hook。根据 ELF 文件的特点,Native层的 Hook 可以分为基于动态库加载劫持的 LD_PRELOAD Hook、针对 .got.plt 节区的 GOT Hook 及针对汇编指令级别的 Inline Hook。

 

         Hook技术主要分为五类:

                 a. Dalvik Hook;

                 b. ART Hook;

                 c. LOAD_PRELAD Hook;

                 d. GOT Hook;

                 e. Inline Hook;

 

         已有的Hook框架:

                 a. Xposed(支持Java层的 Dalvik Hook 和 ART Hook,但不支持 Native 层的 Hook)

                 b. legend(支持Java层的 Dalvik Hook 和 ART Hook) 

                 e. epic

                 c. whale(跨平台的Hook框架,支持Java层的 Dalvik Hook 和 ART Hook)

       

         VirtualApp 采用了 Hook技术实现了在Android平台上的沙盒环境(容器),达到可以完全控制 其内运行的App的目的。

 

     B. 实践

         笔者主要看了 weishu 和  lody 对该技术的研究以及实现,因此主要讲这两位开发者对该问题的研究和实现。

             1) weishu的主要产品是 taichi,其产品发展图如下所示:
     

            2)lody主要产品是 VirtualApp,非常优秀的一款软件,weishu的 VirtualXpose 也是基于 VirtualApp 来实现的。

                 分析该软件原理的文章非常之多,也很专业,笔者在这里仅列出两篇实践应用的文章,用以实现 基于VirtualApp来hook其他第三方应用。

                 VirtualHook:基于VirtualApp的Java代码hook工具

                 通过 VirtualApp 实现免 Root 权限 Hook 

 

                 另:笔者通过借鉴以上两篇文章实现了 基于 VirtualApp 并结合 whale hook框架 来hook其他第三方应用的目的,在之后的文章将详述实现过程。感谢。


 

三、Android虚拟多开需求分析

       多账号同时运行;

   运营工具;

 

四、反虚拟多开技术

       VirtualApp技术黑产利用报告

       VirtualApp使恶意应用具有免杀能力;

       VirtualApp给检测引擎识别恶意应用带来难度,因为其母包没有恶意应用,但可动态加载子包。

       相应的解决方案文中有详细描述。


http://www.ppmy.cn/news/574784.html

相关文章

郑州奇酷培训python

七月蝉歌嘹亮,骄阳轰响。 奇酷学院Python/UI/WEB盛大开班! 炎值爆表! ▲Python/UI/WEB盛大开班 开班篇 初识篇 世界那么大,我们在奇酷学院相遇啦! 开班典礼上,大家一起聊梦想,一起飙歌斗…

JQuery获取选中的元素(单选框复选框)及其他等

看注释 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>.wrapper>p{display: none;/* visibility: hidden; 不包含*/}</style></head><body><div class"wrapper&…

15岁上浙大、22岁获世界冠军,90后「天才黑客」为何被开除、错失上亿股票?

本文转载自 新智元 2021年开年持续霸占热榜的互联网某厂又霸榜了。1月12日早间&#xff0c;名为“如何看待天才黑客 Flanker 疑因拒绝做黑客攻击业务&#xff0c;被拼多多强行辞退&#xff0c;错失上亿股票&#xff1f;”的话题冲上知乎热搜。 原阿里集团安全研究实验室总监云…

复制mathtype到Word时

新手在使用math type复制公式到Word时&#xff0c;总会复制成一大段代码&#xff0c;那么我们如何让他成功复制&#xff1f; 只需要将MathType里的一个设置更改 将剪切与复制里的MathML改为 namespace attr2.0 就可以了

使用计算机粘贴板的步骤,剪贴板怎么打开,教您电脑剪贴板怎么打开

使用windows系统&#xff0c;经常用到就是 “复制”、“剪切”、“粘贴” 的操作步骤。有时不小心将剪切板中的内容粘贴到某个不知名的地方&#xff0c;导致存储空间变大。那么怎么打开剪贴板&#xff1f;下面&#xff0c;小编给大家讲解电脑剪贴板的打开流程了。 在电脑系统中…

剪贴板是计算机系统,剪贴板怎么打开,小编教你电脑剪贴板怎么打开

说起剪切板&#xff0c;我想大家并不陌生&#xff0c;剪切板是内存中的一块区域&#xff0c;电脑中是非常重要的一部分&#xff0c;剪贴板就像是一个中转媒介&#xff0c;复制或者移动的文件&#xff0c;都是先放在剪贴板里面&#xff0c;但是有部分用户却不知道怎么打开&#…

使用计算机粘贴板的步骤,剪贴板怎么打开,手把手教你电脑剪贴板怎么打开

使用windows系统&#xff0c;经常用到就是 “复制”、“剪切”、“粘贴” 的操作步骤。有时不小心将剪切板中的内容粘贴到某个不知名的地方&#xff0c;导致存储空间变大。那么怎么打开剪贴板&#xff1f;下面&#xff0c;小编给大家讲解电脑剪贴板的打开流程了。 说起剪切板&a…

电脑笔记本计算机在哪里打开,剪贴板在哪里,教您如何打开电脑剪贴板

电脑上的剪切板对用户来说是非常重要工具&#xff0c;经常要用到它&#xff0c;复制或者移动的文件&#xff0c;都是先放在(剪贴板)里面&#xff0c;然后从这里面复制或者移动到指定的地方去。但是许多用户反映说不懂得&#xff0c;那么剪切板究竟该如何打开呢&#xff1f;下面…