LBE 平行空间(原来的双卡大神)是怎么实现双开的,以前搞过简单的双开,基本就是改包名了。
但是看 LBE 平行空间并没有改动包名,也没有产生一个新的 app ,更像是内嵌在平行空间内部的。有大神了解过他是怎么实现的吗
1
aprikyblue 2016-02-20 21:52:02 +08:00
maybe useful
/t/216494 |
2
Maskeney 2016-02-20 23:58:07 +08:00
恩我也 I 想知道
|
3
zhjits 2016-02-21 08:41:37 +08:00
用 360 那个 dexposed 加载对应 APK 的 class 并运行,然后到处挂钩子让它跟原有的应用不冲突。
|
4
aalska 2016-02-21 13:14:24 +08:00 via iPad
lbe 的字典里这个是黑科技
说了是黑科技。。。你要知道了那就不是黑科技了 |
5
gnaix OP @aprikyblue 我来看看 thx
|
6
lamianlbe 2016-02-22 22:59:45 +08:00
黑科技只是市场同学的说法,请谅解。
目前主要由三部分构成: 1. 对部分 service 做了运行时解析(类似 droid plugin ) 2. 实现了自己的 AMS PMS 等服务用于管理四大组件的生命周期和交互,以及进程管理等 3. native 部分做了 path redirection 其实还是挺复杂的,目前完成度有 70%,差不多可以跑 95%左右的 app ,从 1 月初的版本起已经可以在平行空间里跑类似 Google Play Services 这样复杂而且差不多有 6-7 个进程的巨型 app 了 |
8
gnaix OP @lamianlbe 发现了一种方式可以判断 APP 是否是为多开的情况,只要获取 app 的绝对路径会发现。平行空间的 app 路径在 /data/data/com.lbe.parallel/parallel 下
|
9
lamianlbe 2016-02-26 19:34:45 +08:00
平行空间本身不是为了“做坏事”而设计的,所以不考虑和 app 之间攻防。
|
10
lamianlbe 2016-02-26 19:39:22 +08:00
其实上条回复也不全对。目前为了兼容梆梆加固,对梆梆加固的应用进行了完整的 native hook ,这些应用在运行时拿到的 dataDir 是 /data/data/xxx 目录。为了兼容性,有时候还是要不得不做攻防的。。。
|