开发者社区> 问答> 正文

请问iOS和Android系统中的微信分身版软件是怎么实现的?

如题,微信同时只能启动一个实例,而分身版微信可以同时启动很多个实例,我想知道这是怎么做到的,其中原理是什么?

展开
收起
爵霸 2016-03-06 08:56:21 6160 0
2 条回答
写回答
取消 提交回答
  • 总结目前分身类应用技术实现方案如下:

    1)     修改APK

    反编译APK,修改APK 包名、签名,将APK伪装成另外一个不同的APK,

    但对于一些有加密的APK,可能没办法实现。

    产品:克隆大师

    2)     修改Framework

    对于有系统修改权限的厂商,可以修改Framework来实现双开的目的

    产品:小米应用分身、360奇酷手机、Nubia?

    3)     通过虚拟化技术实现

    虚拟Framework层、虚拟文件系统、模拟android对组件的管理、虚拟应用进程管理 等一整套虚拟技术,将APK复制一份到虚拟空间中运行

    产品:360分身大师,LBE平行空间, Graphite Software “SecureSpaces”

    4)     以插件机制运行

    可以在无需安装、修改的情况下运行APK文件,利用反射替换,动态代理,hook了系统的大部分与system—server进程通讯的函数,以此作为“欺上瞒下”的目的,欺骗系统“以为”只有一个apk在运行,瞒过插件让其“认为”自己已经安装。

    产品:DroidPlugin

    2019-07-17 18:53:57
    赞同 展开评论 打赏
  • Android平台上主要借助了系统的多账户机制,相当于在手机中建立了一个“虚拟机”,就像是手机中的“第二系统”,在其中运行的应用不会对原手机系统产生任何干扰,保障了两个账户的同时独立运行。

    2019-07-17 18:53:57
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载