V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mrcn
V2EX  ›  Android

应用内直接运行 apk 免安装?这是什么黑科技?

  •  
  •   mrcn · 2017-06-13 14:39:14 +08:00 via Android · 14286 次点击
    这是一个创建于 2727 天前的主题,其中的信息可能已经有所发展或是发生改变。
    找游戏时发现的一个黑科技

    不需要任何特殊的权限,下载好游戏( apk )之后直接就能在应用内启动,并且可以控制游戏的数据等等

    感觉这是黑科技?还是我火星了?猜测是基于安卓多用户实现的功能。

    具体的应用的名字叫做“ GG 大玩家”,是一个游戏市场。里面有个“魔盒”功能,下载的游戏会安装到魔盒,然后直接就可以在魔盒里运行第三方的游戏。
    15 条回复    2017-06-16 10:31:05 +08:00
    honeycomb
        1
    honeycomb  
       2017-06-13 14:47:20 +08:00 via Android
    和国内流行的人热更新是一个道理。
    本想着 Google 什么时候把这个漏洞消除,结果连它自己的 safetynet 也在用热更新
    aprikyblue
        2
    aprikyblue  
       2017-06-13 14:58:44 +08:00
    mrcn
        3
    mrcn  
    OP
       2017-06-13 15:04:48 +08:00 via Android
    @aprikyblue 感谢。
    vileer
        4
    vileer  
       2017-06-13 17:46:00 +08:00 via iPhone
    原理应该是应用多开
    debuggerx
        5
    debuggerx  
       2017-06-13 20:21:46 +08:00
    @vileer 应该是插件化,具体参考 2 楼的例子,和多开不是一回事,多开或者说分身主要解决的是包名冲突
    koalli
        6
    koalli  
       2017-06-13 20:24:10 +08:00
    应该是插件化,之前有 star 过一个类似的项目,可以看看
    https://github.com/kaedea/android-dynamical-loading
    wessin
        7
    wessin  
       2017-06-13 20:31:34 +08:00 via iPhone   ❤️ 1
    妈蛋,今天在小米浏览器中无意点开了 58 同城,返回桌面 app 都装好了,这一切都是后台自动操作,什么提示都没有,wtfk
    jacy
        8
    jacy  
       2017-06-13 20:31:54 +08:00
    几年前的 qq 游戏安卓版就是这样,单独下载游戏,不需要另外安装
    yukiww233
        9
    yukiww233  
       2017-06-13 21:34:20 +08:00
    http://www.coolapk.com/apk/com.dof.apkrun
    研究热更新衍生出的一堆东西...
    NoAnyLove
        10
    NoAnyLove  
       2017-06-14 07:35:31 +08:00
    热更新既然可以直接读取 Class 文件来运行( ClassLoader ),那么直接把 apk 文件解压取出 dex 文件,再从 dex 文件中取出 class 文件来加载应该也是可以的吧。感觉 Smali 库应该就能做到,不过我没试过,感觉有点意思。
    araraloren
        11
    araraloren  
       2017-06-14 08:33:20 +08:00
    @wessin 可以试试 安装 app protector,把安装卸载程序加到锁定列表
    codehz
        12
    codehz  
       2017-06-14 23:40:33 +08:00
    @NoAnyLove #10 是的,运行代码很容易,难在欺骗应用,让它以为它运行在正常环境中
    NoAnyLove
        13
    NoAnyLove  
       2017-06-15 00:13:39 +08:00
    @codehz 没有试过。这种方式运行的程序会有什么不同吗?
    codehz
        14
    codehz  
       2017-06-15 03:26:45 +08:00 via Android
    @NoAnyLove 意味着你得模拟一个安卓环境出来,举一个例子,你得把虚拟 app 的 activity 映射成实际已经注册的 activity,因为你不可能提前知道要运行的程序需要注册哪些 actuvity 对吧
    septem123
        15
    septem123  
       2017-06-16 10:31:05 +08:00
    @wessin 你这个应该是流应用 具体可以看看 dcloud 的文档
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1703 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:40 · PVG 00:40 · LAX 08:40 · JFK 11:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.