做了一个不用 Root,不解锁 BootLoader 也不用刷机就使用 Xposed 模块的东东。。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
weishu
V2EX    Android

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

  weishu 2018-03-08 16:33:30 +08:00 35149 次点击
这是一个创建于 2827 天前的主题,其中的信息可能已经有所发展或是发生改变。
这玩意儿是基于 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 理论上是可行的,但是目前还没有实现
run2
    39
run2  
   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  
PRO
   2018-03-09 13:15:14 +08:00 via iPhone
大佬
shoogle
    69
shoogle  
   2018-03-09 13:23:33 +08:00
很溜
simple2025
    70
simple2025  
   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     Solana     5251 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 30ms UTC 09:07 PVG 17:07 LAX 01:07 JFK 04:07
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86