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

2017-06-13 14:39:14 +08:00
 mrcn
找游戏时发现的一个黑科技

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

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

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/368086

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX