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

做了一个不用 Root,不解锁 BootLoader 也不用刷机就使用 Xposed 模块的东东。。

  weishu · 2018-03-08 16:33:30 +08:00 · 22642 次点击
这是一个创建于 2212 天前的主题,其中的信息可能已经有所发展或是发生改变。
这玩意儿是基于 VirtualApp 的,在内部通过 Java Method Hook 加入了 Xposed 运行环境;目前的实现方式是让内部 APP 完全运行在 quick code (编译模式),有没有人一起探讨一下解释模式的可行性?

项目地址在这: https://github.com/android-hacker/VirtualXposed

欢迎拍砖~
第 1 条附言  ·  2018-03-08 17:54:27 +08:00

补充几个视频,方便大家看如何使用:

123 条回复    2019-05-11 18:17:34 +08:00
1  2  
archknight
    1
archknight  
   2018-03-08 16:34:42 +08:00
mark
Mikewu
    2
Mikewu  
   2018-03-08 16:38:02 +08:00
听起来和 VAExposed 有点像,应该都是基于 VirtualApp,也就是双开的原理吧
weishu
    3
weishu  
OP
   2018-03-08 16:42:50 +08:00
@Mikewu 这两者是一个东西,VAExposed 太拗口,改名为 VirtualXposed 了 ~_~
ixinshang
    4
ixinshang  
   2018-03-08 16:43:07 +08:00 via Android
最近刚 root 手机就卡顿了 😔
m939594960
    5
m939594960  
   2018-03-08 16:45:52 +08:00   ❤️ 1
虽然不懂什么原理,但是看起来好屌啊
xream
    6
xream  
   2018-03-08 16:46:48 +08:00
我记得 VirtualXposed 里的微信是不能自启的? 如果能自启就好了...
Willjim
    7
Willjim  
   2018-03-08 16:49:15 +08:00 via Android
@weishu 原来你就是这个的开发者啊,思路很好,但是总是感觉性能不好,有时候卡住。
LanAiFaZuo
    8
LanAiFaZuo  
   2018-03-08 16:51:45 +08:00
不知道能否加个不用 root,就能用 root 的软件
dopod
    9
dopod  
   2018-03-08 16:56:58 +08:00
支持 intel cpu 的机子吗?
目前手里的几台机子需要刷机才能使用 xposed,使用贵作是直接像 app 一样安装 xposed 就可以?
看到 5.0 以下版本不支持了,5.0 还支持吗
shimomiaizo
    10
shimomiaizo  
   2018-03-08 17:03:01 +08:00
马了,可能马上要换机所以不想刷 xposed 但又需要 rootcloak
weishu
    11
weishu  
OP
   2018-03-08 17:05:29 +08:00
@xream 可以自启的。。
weishu
    12
weishu  
OP
   2018-03-08 17:05:58 +08:00
@dopod intel cpu,指的是 x86 架构吗?不支持 x86 现在
weishu
    13
weishu  
OP
   2018-03-08 17:06:36 +08:00
@dopod 5.0 支持的,不支持 4.x 及以下
weishu
    14
weishu  
OP
   2018-03-08 17:07:28 +08:00
@Willjim 有的模块加载的时候,需要动态加载代码,这时候执行 dex2oat 会巨卡。。正常情况下理论上是没啥区别的。。
fashioncj
    15
fashioncj  
   2018-03-08 17:08:21 +08:00 via iPhone
关注一下。热修复的程序有测试过么
gam2046
    16
gam2046  
   2018-03-08 17:08:28 +08:00
作者的思路真的是不错。实际效果还没用过,但是从理论上来说,只要是非系统级的 Xposed 插件(即非对系统进行修改),应该都是可以直接拿来用的。但是这样方式应该是比较容易被 Anti (相比较原始 Xposed 而言),进程名什么的,能够察觉的点比较多。因此对于一个国民级应用,例如微信这样的,如果其不想,基本上不太能在 VirtualApp 里运行。
xream
    17
xream  
   2018-03-08 17:09:54 +08:00
@weishu #11 那就是我被骗了...刚需微 x 搞起
dopod
    18
dopod  
   2018-03-08 17:10:03 +08:00
@weishu 对对,x86,手里的七八台机子都是 x86,后期考虑支持吗?
weishu
    19
weishu  
OP
   2018-03-08 17:11:58 +08:00
@fashioncj 微信的 Tinker 以及支付宝的 AndFix 是没问题的,QQ 的方案不行(目前可以通过 hook 让 qq 热修复不生效规避),Instant Run 大包的 APK 无法运行。
shengdao
    20
shengdao  
   2018-03-08 17:12:43 +08:00 via Android
这不就是多年前小米桌面吗?
weishu
    21
weishu  
OP
   2018-03-08 17:16:16 +08:00
@gam2046 嗯,理论上讲,不改系统的模块都可运行(实际上由于实现原因,有些模块现在还不稳定)。如果微信支付宝啥的要阻止被沙盒运行,比 Anti 原始 Xposed 容易得多;不过沙盒里面也有足够的权限的,可以实现一定程度的彼此对抗。。
weishu
    22
weishu  
OP
   2018-03-08 17:16:57 +08:00
@shengdao 你说的是主界面吗?这个直接用的 AOSP 里面的 Launcher3 的代码
Blackk
    23
Blackk  
   2018-03-08 17:27:53 +08:00
哈哈哈,VIVO X9S 不能 ROOT,刚刚看到你这个试用了下,真的很不错,我也是微 X 是刚需,也就只测试了这个,没有问题,就是主界面丑了点,而且克隆的微信不能在界面显示?
我还想问一点,是不是在这个软件内运行的 APP,在卸载 VirtualXposed 后是不会在系统内留下垃圾的,相当于电脑上的沙盘。
jisibencom
    24
jisibencom  
   2018-03-08 17:35:36 +08:00
这个有意思。MARK 一下
F1024
    25
F1024  
   2018-03-08 17:36:39 +08:00
miui 用不了?
Blackk
    26
Blackk  
   2018-03-08 17:43:48 +08:00
我想把这个软件当沙盘使用,为什么很多软件安装之后没有图标,无法打开
Blackk
    27
Blackk  
   2018-03-08 17:44:47 +08:00
@Blackk 有了,需要强制重启
weishu
    28
weishu  
OP
   2018-03-08 17:55:15 +08:00
@dopod 先把 arm 搞稳定了会支持 x86,原理是一样的
handsomefr
    29
handsomefr  
   2018-03-08 17:56:44 +08:00 via Android
(・・;)
weishu
    30
weishu  
OP
   2018-03-08 18:01:43 +08:00
@LanAiFaZuo 不能的。。。双开并不是 root
locoz
    31
locoz  
   2018-03-08 18:33:51 +08:00
mark
badcode
    32
badcode  
   2018-03-08 18:36:21 +08:00 via iPhone
很早就用上了,不错的软件
iFlicker
    33
iFlicker  
   2018-03-08 19:12:03 +08:00
哇作者诶!
很厉害的
yezhiye
    34
yezhiye  
   2018-03-08 19:27:23 +08:00 via Android
楼主,我想问下这个能做沙盒吗,装在里面的应用能不能偷偷读到手机的相片资料…
linxijun
    35
linxijun  
   2018-03-08 19:31:05 +08:00 via iPad
这个不错,省了 root 步骤。。。。能破解 data 和 system 底下的读写权限就更屌了
xingstar
    36
xingstar  
   2018-03-08 19:35:09 +08:00 via Android
膜拜 weishu 大佬😂😂
weishu
    37
weishu  
OP
   2018-03-08 20:33:39 +08:00
@linxijun 这做不到。。在其位谋其政。。
weishu
    38
weishu  
OP
   2018-03-08 20:33:56 +08:00
@yezhiye 理论上是可行的,但是目前还没有实现
sobigfish
    39
sobigfish  
   2018-03-08 20:40:51 +08:00
请问可以给里面运行的 app 假的 imei 之类的硬件信息么?
weishu
    40
weishu  
OP
   2018-03-08 22:07:29 +08:00
@sobigfish 可以,用 Xposed 实现;比如应用变量。
iVeego
    41
iVeego  
   2018-03-08 22:48:57 +08:00
原来是你做的哇,早就在使用中了。
UnixCRoot
    42
UnixCRoot  
   2018-03-08 23:28:04 +08:00 via Android
这里竟然碰到你了。。不过 QQ 不稳定后台容易消失,vx 的进城正常,好奇怪。
sephinh
    43
sephinh  
   2018-03-09 00:00:38 +08:00
楼主厉害,这下不用考虑 root 了
Levox
    44
Levox  
   2018-03-09 00:31:55 +08:00
mark
nodin
    45
nodin  
   2018-03-09 00:54:01 +08:00 via Android
这个是再建一个虚拟系统
243205964
    46
243205964  
   2018-03-09 00:56:24 +08:00 via Android
微信死活登录不了…不知道什么原因,会在正在登陆界面无限等待
tension2012
    47
tension2012  
   2018-03-09 06:55:02 +08:00
1. 微信跳一跳助手,这个 module 的代码写在哪里的?
2. 如果自己要 hack 新的 app, 是不是要抓包分析,然后反编译 apk,hook 里面的 method
sicifus
    48
sicifus  
   2018-03-09 08:10:18 +08:00 via Android
活捉作者,哈哈,我在 github 提的微信缺失功能的 issue 很快就修复了,你真的很厉害!
mortal
    49
mortal  
   2018-03-09 08:42:49 +08:00
之前就 Star 并用上了,真的非常不错的东西。
tension2012
    50
tension2012  
   2018-03-09 08:48:29 +08:00
me.weishu.exposed:expose-core:0.5.2 找不到,这个包在哪个仓库里啊
meanmachine
    51
meanmachine  
   2018-03-09 09:07:27 +08:00
star 一个
jemyzhang
    52
jemyzhang  
   2018-03-09 09:27:41 +08:00
star 一下, 前几天用了一下,感觉不错,就是有时候巨卡。8.0 会在通知提示正在运行,这个有点不爽
BikeCoder
    53
BikeCoder  
   2018-03-09 09:36:46 +08:00
大神
lScarlet
    54
lScarlet  
   2018-03-09 09:46:29 +08:00 via Android
还以为是坟贴😒
OldDriverKing
    55
OldDriverKing  
   2018-03-09 09:50:29 +08:00
各位大佬,请问 IOS 环境下有没有类似 VirtualApp 的开源项目,个人也是有微信多开的刚需
weishu
    56
weishu  
OP
   2018-03-09 10:11:31 +08:00
@tension2012 用 `me.weishu.exposed:expose-core:0.3.6` ;之前因为有人拿源码编译,篡改原创信息拿去分发,现在没有 exposed-core 包传 jcenter 了;如果看源码的话,用这个版本就行;但是大型插件可能运行不正常。
weishu
    57
weishu  
OP
   2018-03-09 10:11:51 +08:00
@OldDriverKing 没有。。。
yongshou
    58
yongshou  
   2018-03-09 10:12:08 +08:00 via Android
mark
weishu
    59
weishu  
OP
   2018-03-09 10:15:03 +08:00
@243205964 开了插件的话,先登录微信,再开插件(估计是登陆有检测吧)。就算是为了自己的账号安全,也应该这样做。因为你的微信密码,只有在登陆的时候是明文的(这时候 Xposed 插件有机会拿到);登陆之后微信自己都不知道你密码明文是什么,再开插件相对安全。
huluwa561
    60
huluwa561  
   2018-03-09 10:15:27 +08:00
mark
tonfy
    61
tonfy  
   2018-03-09 10:18:45 +08:00
大神
Blanke
    62
Blanke  
   2018-03-09 10:41:48 +08:00   ❤️ 1
作者你好,我测试 MDWechat ( https://github.com/Blankeer/MDWechat) ,也是可以正常使用的,望加入 readme (已经支持的模块)中.
postlive
    63
postlive  
   2018-03-09 10:50:45 +08:00 via Android
周末试一试
aku
    64
aku  
   2018-03-09 10:54:00 +08:00 via Android   ❤️ 1
系统刷了 xposed,使用了微信巫师。在 virtualxposed 里也用了微信巫师。但是只要系统里的 xposed 不勾选微信巫师,virtualxposed 的微信巫师也不生效(已经在 virtualxposed 的 xposed installer 里勾选微信巫师)。

多次重启也无效。
用的是目前最新的 virtual Xposed
weishu
    65
weishu  
OP
   2018-03-09 10:57:22 +08:00
@Blanke 多谢提醒,已经添加好了;很棒的模块!
Spoter
    66
Spoter  
   2018-03-09 12:47:05 +08:00
mak
Blanke
    67
Blanke  
   2018-03-09 12:51:34 +08:00
@weishu 谢谢! 看好 VirtualXposed,加油.
Tink
    68
Tink  
   2018-03-09 13:15:14 +08:00 via iPhone
大佬
shoogle
    69
shoogle  
   2018-03-09 13:23:33 +08:00
很溜
chenqh
    70
chenqh  
   2018-03-09 13:24:12 +08:00
大佬呀
xuanyuanaosheng
    71
xuanyuanaosheng  
   2018-03-09 13:27:43 +08:00 via Android
战略性 mark
taozi00
    72
taozi00  
   2018-03-09 14:19:17 +08:00
这比普通的双开好用多了啊,一般的需要手机里先安装一个 app 才能双开,你这个支持直接虚拟,省事多了,支持一波
WOULDESIRE
    73
WOULDESIRE  
   2018-03-09 15:34:07 +08:00 via Android
什么时候能支持 WechatUI
racecoder00
    74
racecoder00  
   2018-03-09 15:43:05 +08:00
mark
hicdn
    75
hicdn  
   2018-03-09 15:52:09 +08:00
已用一段时间,感谢。
doyel
    76
doyel  
   2018-03-09 15:58:27 +08:00
支持一下。。。并且战略性 star 一个
hicdn
    77
hicdn  
   2018-03-09 16:17:20 +08:00
报个 bug
系统信息:nexus 5x,8.1.0,OPM5.171019.017
VirtualXposed: 0.7.3

所有 Xposed 模块都不能用,从 0.4.3 开始就不能用。
只开启巫师微信的日志如下
https://pastebin.com/nkmyAmhm
weishu
    78
weishu  
OP
   2018-03-09 16:23:22 +08:00
@hicdn 不能用指的,闪退 or 不生效? 具体有哪些模块? 043 之前可以用么
Jface
    79
Jface  
   2018-03-09 16:31:08 +08:00 via iPhone
mark mark !坚果 pro 表示很兴奋!
hicdn
    80
hicdn  
   2018-03-09 16:31:40 +08:00
@weishu 从 0.2.7 开始用,到 0.4.3 才想起要用下 Xposed 功能。
如图
https://i.loli.net/2018/03/09/5aa245e92334e.png
duoglas
    81
duoglas  
   2018-03-09 16:32:48 +08:00
活捉作者
weishu
    82
weishu  
OP
   2018-03-09 16:43:03 +08:00
@hicdn 等微信巫师下次更新哈,我已经在协助解决这个问题了
Blanke
    83
Blanke  
   2018-03-09 17:30:18 +08:00
hi,能否在开发者命令( https://github.com/android-hacker/VirtualXposed/wiki/Utilities-For-Xposed-Module-Developer)中加入重启某 APP 的命令?
利益相关: 我是 Xposed 某模块开发者.
另: 我发现使用 VXP 开发模块会很方便,可以即时生效,附上我根据开发命令写的 gradle task ( https://github.com/Blankeer/MDWechat/blob/cd82b8a2f05af3962e0b0268f7d8b1169e5f5583/app/build.gradle#L45),望指正.
另: repo issues 为何关了,想问些问题交流下,只得加 qq/wechat 群,发现里面太乱,不太适合技术交流,只能发在这里了.
望回复.
谢谢.
weishu
    84
weishu  
OP
   2018-03-09 17:41:46 +08:00
@Blanke 可能是因为 fork 的项目,issue 默认是关的;现在已经开啦~

你所说的“重启”是否不是 reboot,而是打开某个 APP (我看你的那个 task 貌似是这个意思)?如果这样的话,我下个版本就加上
Blanke
    85
Blanke  
   2018-03-09 17:45:22 +08:00
@weishu 对,就是启动某 APP 的命令,对于模块开发来说,最好的开发流程就是: 运行模块后直接打开对应的 APP 看 hook
后的效果.
感谢!
weishu
    86
weishu  
OP
   2018-03-09 18:01:57 +08:00
@Blanke 代码已经提了,明天发个新版本;谢谢建议!
hicdn
    87
hicdn  
   2018-03-09 18:04:46 +08:00
@weishu 不只是巫师微信,项目首页列举的模块都装了一遍,没一个能用 XD
weishu
    88
weishu  
OP
   2018-03-09 18:15:00 +08:00
@hicdn 我也是 5x 8.1 系统,所有模块都能愉快滴运行呀,你说的不能用每一个的具体情况是?
tension2012
    89
tension2012  
   2018-03-09 18:15:05 +08:00
@weishu
感觉还是报错,launcher 目录为啥是空的
weishu
    90
weishu  
OP
   2018-03-09 18:25:13 +08:00
@tension2012 submodule 更新下
hu6360567
    91
hu6360567  
   2018-03-09 18:40:51 +08:00 via Android
楼主我想问一下我小米 note3 想用谷歌相机,需要改 build.prop,不解锁设备,能用这个实现吗?
zztt168
    92
zztt168  
   2018-03-09 18:53:57 +08:00 via Android
好牛逼的感觉
CodeM
    93
CodeM  
   2018-03-09 19:08:33 +08:00

网易云插件好像用不了的样子。。。
不知道是不是因为在海外的原因
weishu
    94
weishu  
OP
   2018-03-09 19:25:15 +08:00
@hu6360567 需要改什么,机型吗?可以用应用变量试试
weishu
    95
weishu  
OP
   2018-03-09 20:44:29 +08:00
@CodeM 勾上海外模式?
hu6360567
    96
hu6360567  
   2018-03-09 22:35:00 +08:00 via Android
@weishu 想开启 camera2 api,不过估计没希望了。我解锁自己改了以后也还是没开启。很奇怪
redmofang
    97
redmofang  
   2018-03-10 08:43:16 +08:00 via Android
VirtualXposed 内的 app 数据可以走系统代理吗?
fenglipop29
    98
fenglipop29  
   2018-03-10 08:58:25 +08:00
用了几个插件,其他都可以,就貌似微信巫师用不了。位置模拟这个不知道怎么用,改了坐标但是微信里的发送位置没有效果。
gdtv
    99
gdtv  
   2018-03-10 09:53:16 +08:00 via Android
小米 note3,一直卡在 opening xposed installer 打不开
weishu
    100
weishu  
OP
   2018-03-10 10:52:28 +08:00
@redmofang 是走的
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3025 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 15:01 · PVG 23:01 · LAX 08:01 · JFK 11:01
Developed with CodeLauncher
♥ Do have faith in what you're doing.