zoukankan      html  css  js  c++  java
  • Android 虚拟多开系列二——技术原理

    目录
            Android虚拟多开应用有哪些?
            Android虚拟多开应用技术原理有哪几类?
            Android虚拟多开需求分析
            反虚拟多开技术
     
     
    正文
     
    一、Android虚拟多开应用列表
     
    应用名称 版本号 开源 公司名称 下载链接
    太极   维术(个人) 微信公众号:虚拟框架
    VirtualApp   2017.12月停止开源更新 罗盒科技 VirtualApp
    LBE平行空间   LBE LBE平行空间
    360分身大师   360 360分身大师
    DroidPlugin   360 DroidPlugin
    小米应用分身   小米 小米手机
    双开助手   卓盟 双开助手
    360奇酷手机   360 360奇酷手机
    克隆大师   未知 克隆大师(项目已停)
     
    二、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其他第三方应用。
     
                     另:笔者通过借鉴以上两篇文章实现了 基于 VirtualApp 并结合 whale hook框架 来hook其他第三方应用的目的,在之后的文章将详述实现过程。感谢。


    三、Android虚拟多开需求分析
           多账号同时运行;
       运营工具;
     
    四、反虚拟多开技术
           VirtualApp使恶意应用具有免杀能力;
           VirtualApp给检测引擎识别恶意应用带来难度,因为其母包没有恶意应用,但可动态加载子包。
           相应的解决方案文中有详细描述。
  • 相关阅读:
    BUAA2020软工作业(三)——个人项目
    BUAA2020软工作业(二)——对软件工程的初步理解
    BUAA2020软工作业(一)——谈谈我和计算机的缘分
    OO第四单元总结与课程总结
    OO第三单元总结——JML
    面向对象第二单元总结——魔鬼电梯
    面向对象设计与构造——第一单元总结
    提问回顾与个人总结
    【技术博客】Flutter—使用网络请求的页面搭建流程、State生命周期、一些组件的应用
    软件案例分析
  • 原文地址:https://www.cnblogs.com/nmj1986/p/10505321.html
Copyright © 2011-2022 走看看