V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
DreaMQ
V2EX  ›  奇思妙想

设想 Android 虚拟机 App (专治各种流氓全家桶)

  •  
  •   DreaMQ · 2015-10-31 13:12:15 +08:00 · 5517 次点击
    这是一个创建于 3311 天前的主题,其中的信息可能已经有所发展或是发生改变。

    能不能制造一种 Android App ,通过类似于 chroot 或者 OpenVZ 等低性能开销的方式创建完全独立的系统环境,里面安装各种流氓全家桶。

    • 用户可以完全控制分享给流氓的系统资料(通讯录,文件,照片、其他 App 等)。如果用户拒绝便返回空白资料,流氓无法察觉
    • 硬件资源(电话、短信、摄像机、 mic 、定位等)同理;还可以返回垃圾数据,不必拒绝访问
    • 可以设置资源 Quota
    • 用户离开流氓 App 后强制挂起整个虚拟机,不得自行启动(当然也可以允许后台运行,不过会比较费内存)
    • 把全家桶的每个部分安装在单独的虚拟机里,让互相唤醒的见鬼去吧

    问题:
    1. 现在已有用 chroot 跑 Linux 的 Android App 。用同样的方式跑 Android 是否可行?
    2. 跑一个 Android App 最少需要在隔离环境中放多少东西,要多少内存?能不能在保证安全的情况下和主机共用?
    3. Android 6.0 有了类似于 iOS 的管理机制,不过中国 Android 环境缺乏管理 ( App 和系统都是),可能会被绕过。虚拟机还有没有意义?
    4. 能不能映射共享 GCM 和各种 SDK ?

    17 条回复    2015-11-04 09:43:21 +08:00
    noli
        1
    noli  
       2015-10-31 13:17:22 +08:00
    其实就是 AppArmor 或者 Docker 做的事情。理论上当然是可以,但是……这么做的话几乎跟重新发明一个 OS 的效果是一样的,很多不流氓的 app 也运行不了
    HentaiMew
        2
    HentaiMew  
       2015-10-31 13:23:02 +08:00
    … 沙箱运行应用
    Xs0ul
        3
    Xs0ul  
       2015-10-31 13:32:32 +08:00
    如果完全隔离,那类似支付宝的付款就用不了,很不方便;但不完全隔离,相信国内厂商总会搞出办法全家启动。

    所以现在看来还是绿色守护(切断唤醒)、阻止运行(不留后台)、 xprivacy (改变硬件资源数据)这种好使
    Luzifer
        4
    Luzifer  
       2015-10-31 13:33:43 +08:00
    icedx
        5
    icedx  
       2015-10-31 13:38:33 +08:00
    1. 不可行
    2. 用多少放多少
    3. 有意义, Android M 的新机制如同鸡肋
    4. 能

    我已经做出来类似的东西了 但是目前 Bug 太多 而且部分应用不能运行 只测试了 Android 4.2 并没有其他测试机
    honeycomb
        6
    honeycomb  
       2015-10-31 13:43:21 +08:00
    Android 6.0 的收回权限的机制实际上在 4.3 就有了,就是 AppOps

    其实不太需要
    Android 6 开始,多用户配置机制机制允许在非机主配置下开启允许未知来源
    把流氓 app 装到那个用户配置就可以了

    在 5.1 ,非机主配置只允许从 play store 安装应用
    SoloCompany
        7
    SoloCompany  
       2015-10-31 14:34:23 +08:00
    人生苦短
    jinyang656
        8
    jinyang656  
       2015-10-31 14:45:58 +08:00 via Android
    沙盒啊,三星的 Knox 貌似就是,另外 360 极客版貌似也有个沙盒
    yiciyuansky
        9
    yiciyuansky  
       2015-10-31 14:50:25 +08:00
    这就是沙盒啊。。
    scola
        10
    scola  
       2015-10-31 16:42:10 +08:00 via Android
    我也这么想过,还可以同一个 app, 安装不同的版本
    tobyxdd
        11
    tobyxdd  
       2015-10-31 17:22:20 +08:00
    My Knox ,三星独占
    mikale
        12
    mikale  
       2015-10-31 17:43:19 +08:00
    这就是 IOS 的机制。
    raikecody
        13
    raikecody  
       2015-10-31 17:46:41 +08:00
    还不如现在兴起的很多云应用平台,你的应用跑在云端,通过网页的形式给你展现到手机,和你手机本身没有任何的交互,你想用什么软件他都有,他来帮你运行。只要数据安全性有保障,也是可行的。一些没啥太大用的软件就装在云端好了
    hqs123
        14
    hqs123  
       2015-11-01 20:36:45 +08:00
    楼主想法不错,不过好像有点难实现啊...
    wipen
        15
    wipen  
       2015-11-02 09:52:01 +08:00
    的设想和 DroidPlugin 这个插件化框架有共同之处。
    虽然 DP 不是构造一个虚拟机,但可运行没有修改过的 apk ,每个 apk 运行在一个沙箱中,有独立的进程。
    内存由 Android 系统自动分配。
    宿主 APP 有能力控制每个插件的进程、访问权限、插件不可被其它应用用 Intent 直接唤起。
    21grams
        16
    21grams  
       2015-11-02 10:49:32 +08:00
    其实 google 只要把类似黑白门的功能默认加到 android 里就行了,专治这些流氓。
    mrghappy
        17
    mrghappy  
       2015-11-04 09:43:21 +08:00
    没用,最不安全的就是人了, 国内安卓市场这种情况,哪有安全放心的 app 让你用? 任你几层盒子,流氓公司都会想到办法的!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   997 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:11 · PVG 04:11 · LAX 12:11 · JFK 15:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.