微信分身,微信多开,微信双开
来源:互联网 发布:access向表中加数据 编辑:程序博客网 时间:2024/04/29 14:28
由于公司放弃该方案哪就不压箱底了,开源造福人类,呵呵
先说一下实现双开(多开)的几种方案
- 静态修改APK包名,然后重打包
- 作为厂商肯定不推荐这个方式拉,可能存在法律风险
- 动态修改APK包名
- 对原生代码修改量小,兼容性差,部分APP需单独适配
- 动态修改进程的实例
- 对原生代码修改量大,兼容性一般,可能会导致系统一些乱七八糟的BUG
- 通过多用户机制实现
- MIUI的实现机制,更多的是修改多用户在相关的代码
- 通过动态加载(运行)的机制来实现(LBE的平行空间)
- 作为第三方开发者,不能ROOT,不能修改系统源码,逼的LBE用这种方式,也是难为他们了
上面几种方式是常见的几种方式,我选择的是方式2,之所以用第2种方式是由于去年年底友商也只出了微信的双开,从技术角度我需要尽快跟进,所以用了一个代码修改量小,门槛不算高的方式快速跟进。
OK,接下来我详细说一下方式2的细节。
我们分为两部分:
- 安装部分
- APP安装流程就不科普了,操作是这样的,先安装微信,然后再一次安装微信,这个时候会在系统里存在两个微信,当然原生代码做了校验,我们修改了关键函数校验代码,通过PackageInstaller第二次安装微信的流程如下:
PackageManagerServer::installPackageLI // 安装函数
PackageParser::parsePackageSplitNames // 解析函数
PackageParser::buildClassName // 处理一下类
呵呵,到此为止,已经可以安装两个微信了,但实际上还运行不起来,看第2部分
- APP安装流程就不科普了,操作是这样的,先安装微信,然后再一次安装微信,这个时候会在系统里存在两个微信,当然原生代码做了校验,我们修改了关键函数校验代码,通过PackageInstaller第二次安装微信的流程如下:
- 运行部分
- 好了,当你看到桌面上有2个微信图标是不是很兴奋,结果运行不起来,打开JNI日志,查看各种崩溃信息我已经修改了绝大部分的问题了,主要是查找类的时候路径找不到,看代码了。
class_linker::FindClass
是不是很简单,对,就是很简单。
- 好了,当你看到桌面上有2个微信图标是不是很兴奋,结果运行不起来,打开JNI日志,查看各种崩溃信息我已经修改了绝大部分的问题了,主要是查找类的时候路径找不到,看代码了。
- 后续总结
- 已经完美运行了,没发现什么问题,咦,发红包崩溃啊,好,有包名校验,改之:
ContextWrapper::getPackageName
- 已经完美运行了,没发现什么问题,咦,发红包崩溃啊,好,有包名校验,改之:
完。
====== 华丽的分割线 ======
自己来填坑了,360OS 的微信分身是如何实现的还不知道,因为手上拿到的手机无法ROOT,可以ROOT的手机已经在路上了。但这里和大家分享一下思路:
- 我们知道可以通过修改包名达到共存的目的,对于微信这类的APP当然最好不要直接修改包名,我们可以在框架层动态的修改包名,骗过系统以为有两个包,然后运行com.tencent.mm2的时候把需要的东西全部映射回原来的包,这是我的做法,已经完美运行了。
- 研究了乐视的做法,他是直接去修改AMS的流程来实现的,感觉这做法对AMS的流程修改有点大,说不好会有坑。
给需要的朋友参考一下思路。
附图:
阅读全文
0 0
- 微信分身,微信多开,微信双开
- 微信分身,微信多开,微信双开
- 微信分身
- 微信双开是定时炸弹?关于非越狱iOS上微信分身高危插件ImgNaix的分析
- 微信双开是定时炸弹?关于非越狱iOS上微信分身高危插件ImgNaix的分析
- 【原创】微信双开是定时炸弹?关于非越狱iOS上微信分身高危插件ImgNaix的分析
- 【原创】微信双开是定时炸弹?关于非越狱iOS上微信分身高危插件ImgNaix的分析
- mac电脑双开微信的方法
- Mac 上怎么双开微信
- Mac 上实现 微信双开
- 苹果微信分身版使用教程与注意事项
- 小杯子微信多开 双开共存版 ios8.0微信版本6.0免费获取了
- 小米Note手机微信双开导致UI进程被Kill解决方案
- 微信
- 微信
- 微信
- 微信
- 微信
- spring Aop小结
- 字符串CryptoJS前台加密,pycrypto后台解密(备份一下)
- Palindromes(递归)
- YTU.3189 一个菱形
- 学习生涯
- 微信分身,微信多开,微信双开
- java垃圾回收机制回收的是守护进程
- java矩形图案
- java 网络 之 UDP发送数据 DatagramSocket
- WordPress安全吗?简单的对WordPress做一些安全防护
- Android 第三方库2017年你应该尝试的25个Android库
- 滚动条的应用
- 【java集合】自己实现简易的LinkedList
- while语句,do-while与for循环的介绍