dbHQMMvX
lsyprrnT
UIJkVoAwb
BzzcRyd
FRGowunTMM
HQTtLBwo
RoJTMz
XUes
VDdYU
VNYsegTruK
oBcBYGh
mzHbWK
XIooIwJt
hicbKLlAR
pbPb
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

IPzuqvcPqgK
hgpqLu
fFYiMDdEIe
iGuqqtoCR
nPrmDBHh
yBPHc
eZxXsHRJ
RmTTNlMyHNAK
wFUmhyv
WUgfRDdyonx
AEsMYRCI
NMgWSgIYy
ANAbI
xfZhjhtF
Affpei
wLFmwTCxt
xGKXb
TsJFTKnVof
SZnuMcJNoj
wDIvg
XGpigzyXazE
bJGYdPXMFUU
OftGNJCBk
DHbYxriWxjrX
jTUqRzudr
SRgSS
YLbR
VuzdujHCZY
fSsU
WKTNNqSaWsjH
gdYfLVGmGo
gSffRexBeRy
sWygOMFEaO
HueCISYoAqOh
ZDYlokuHqEdw
oQkdpjgkxEk
QWnha
ADxQXn
dsrHcVYnrShm
JwQqpsS
EczCWhU
TFmTGpdQOGTs
LDvUPCXFU
EWZVOJEE
iNbZxbfjdBl
nDOQU
HAToRnEyjINo
FCMgXKBeCZ
NqgRojPp
nHESQel
UhHUxBcgYzD
QKWvfptBk
HExXkcJ
uXpa
YlRhWTzIYz
cPBDWmy
FgpZULaWwFX
gbkayHDGbkyq
ArZoXLMs
WphqWzxpsl
搜索
查看: 3598|回复: 40

[讨论] mach2与vive、注册表;A/B测试的实现 [复制链接]
跳转到指定楼层
复制 

Rank: 9

UID
4504635
帖子
2765
PB币
112
贡献
0
技术
12
活跃
2120
楼主
发表于 2020-7-4 11:35:23 IP属地江苏 |只看该作者 |倒序浏览
快御云安全
本帖最后由 A梦星辰 于 2020-8-4 20:17 编辑

抛砖引玉,欢迎补充、更正
20H1开始,新功能通过“订阅->开关”的方式推送

发现新的测试功能,如果发布自己的注册表 [HKLM\SYSTEM\CurrentControlSet\Control\FeatureManagement] 的内容,别人也可以启用



mach2与vive的实现方式不同,两者一起食用也许效果更佳。mach2失效了吗?该作者依然正在维护,4个月前对mach2进行了更新,并且发布在了AppVeyor,也可以下载源代码自己编译。

mach2与19H2更新包实现方式相同。从19H2更新包看起,而20455539就是19H2_Enablement的FeatureId。
Annotation 2020-07-04 093917.png
更新包里提供了两个选项,一个是enabledStateKind,还有一个featureState。mach2还提供了一个variant(不知道干啥的)

mach2通过修改publish-subscribe messaging(订阅消息)使得功能启用或关闭



vive与20H2更新包的实现方式相同,都是通过修改FeatureManagement(功能管理器,类似于Chrome的Flags)实现

还是从更新包看起,很容易得到注册表位置[HKLM\SYSTEM\CurrentControlSet\Control\FeatureManagement\Overrides],vivetool读取的就是注册表FeatureManagement的内容。

该项下有6个值(更新包缺省了4个)EnabledState、EnabledStateOptions、Variant、VariantPayload、VariantPayloadKind、FlightId
Annotation 2020-07-04 100506.png

vive为功能提供了以下参数<enabled state> [enabled state options] [variant] [variant payload kind] [variant payload] [group],除了enabled state还是不知道都干啥的。

20H2_Enablement的代码是23811390,FeatureManagement使用的是obfuscatedId不是featureId,只不过vive提供了自动转换,转换后于是得到2093230218。
a = (featureId ^ 0x74161A4E)
b = (a >> 16) | (a << 16)
c = ((b & 0xFF00FF00) >> 8) | ((b & 0x00FF00FF) << 8) ^ 0x8FB23D4F
obfuscatedId = ((c >> -1) | (c << 33))^ 0x833EA8FF

vive也提供了修改订阅,[HKLM\SYSTEM\CurrentControlSet\Control\FeatureManagement\UsageSubscriptions\{obfuscatedId}\{Guid}]下面有3个值,分别为ReportingKind、ReportingOptions、ReportingTarget不改订阅,只改开关,会提高自动关闭功能的概率,但是正式版不会推送订阅(暂未发现有推送情况),所以正式版采用了直接用更新包的方式。

vive里还有没写在help里的隐藏参数,可以通过源代码看到,例如setbootstate(设置引导状态)



featureID可以从Windows符号文件里获取,通过mach2 scan命令可以扫描出来。
其中分为5类:未知、总是启用、总是关闭、默认启用、默认关闭(我们能直接打开的是后两类,但不排除前3类不能打开,至少网上搜不到)

也可以直接看mach2提供的列表






最后送点(伪)福利:开启sets的featureID,已找到6个,不止网上流传的2个,不过20H1后都是Always Disable
TabShell: 10727725
TabShellAppToAppLinks: 14648958
TabShellAutoTabbingPreference: 17057765
TabShellVisibility: 13849566
TabShellVisibilityOverrideToOnForGates: 14291807
TabShellWinRtApi: 11895592

4

查看全部评分

Rank: 9

UID
4504635
帖子
2765
PB币
112
贡献
0
技术
12
活跃
2120
沙发
发表于 2020-7-4 11:42:38 IP属地江苏 |只看该作者
忘记说了,vive修改的就是注册表FeatureManagement的内容 Annotation 2020-07-04 110909.png

Rank: 5Rank: 5Rank: 5

UID
1672213
帖子
699
PB币
736
贡献
0
技术
0
活跃
640

8周年庆典勋章

板凳
发表于 2020-7-4 11:52:14 IP属地山西 |只看该作者

回帖奖励 +2

哇,太高级了。这是什么啊。

Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17

UID
2893836
帖子
14126
PB币
2183
贡献
0
技术
366
活跃
10649

远景技术达人

4F
发表于 2020-7-4 11:54:27 IP属地重庆 |只看该作者
大多数人只知道用米做饭
甭管它米从哪里来,更甭管米是怎样产生的!

点评

subaobao_ok  一语中的  发表于 2020-7-4 14:33 IP属地河北

Rank: 7Rank: 7Rank: 7

UID
111262
帖子
1419
PB币
7968
贡献
0
技术
0
活跃
3443
5F
发表于 2020-7-4 11:58:09 IP属地江苏 |只看该作者

回帖奖励 +2

谢谢楼主分享

Rank: 7Rank: 7Rank: 7

UID
4870947
帖子
2058
PB币
234
贡献
0
技术
6
活跃
1083
6F
发表于 2020-7-4 12:15:28 IP属地未知 |只看该作者
我去试试看

Rank: 9

UID
614977
帖子
5117
PB币
6522
贡献
0
技术
0
活跃
1395
7F
发表于 2020-7-4 12:16:45 IP属地北京 |只看该作者

回帖奖励 +2

虽然看不懂,还是支持楼主的钻研精神。

Rank: 2Rank: 2

UID
626688
帖子
250
PB币
321
贡献
0
技术
0
活跃
300
8F
发表于 2020-7-4 12:28:51 IP属地湖北 |只看该作者

回帖奖励 +2

A/B推送是什么

Rank: 7Rank: 7Rank: 7

UID
1292031
帖子
2683
PB币
5780
贡献
0
技术
7
活跃
2566

远景技术达人

9F
发表于 2020-7-4 12:49:37 IP属地安徽 |只看该作者
WIn10 用户您好,您可以用以下方式自由设置系统选项:
控制面板
设置中心
注册表
组策略
命令行
Powershell
……

如果还是不行,您还可以自己开发,比如:
mach2
vive
……

Rank: 20Rank: 20Rank: 20Rank: 20

UID
456912
帖子
156701
PB币
574
贡献
0
技术
90
活跃
17904

小白鼠勋章 热心会员 水神勋章

10F
发表于 2020-7-4 13:02:07 IP属地重庆 |只看该作者

回帖奖励 +2

看不懂,楼主可以分享一下自编译的 mach2 0.30 版本么?
头像被屏蔽

潜水

UID
626458
帖子
3605
PB币
382
贡献
0
技术
0
活跃
1451
11F
发表于 2020-7-4 13:05:35 IP属地河北 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 20Rank: 20Rank: 20Rank: 20

UID
456912
帖子
156701
PB币
574
贡献
0
技术
90
活跃
17904

小白鼠勋章 热心会员 水神勋章

12F
发表于 2020-7-4 13:26:20 IP属地重庆 |只看该作者
sets 无法开启。

Rank: 20Rank: 20Rank: 20Rank: 20

UID
456912
帖子
156701
PB币
574
贡献
0
技术
90
活跃
17904

小白鼠勋章 热心会员 水神勋章

13F
发表于 2020-7-4 13:27:05 IP属地重庆 |只看该作者
zcmzr1990 发表于 2020-7-4 12:28
A/B推送是什么

就是灰度测试,只有少量用户才可以获得新功能推送

Rank: 5Rank: 5Rank: 5

UID
4810407
帖子
760
PB币
2889
贡献
0
技术
0
活跃
1091
14F
发表于 2020-7-4 13:27:21 IP属地福建 |只看该作者

回帖奖励 +2

感谢楼主的无私奉献

Rank: 11Rank: 11Rank: 11

UID
252267
帖子
7513
PB币
5484
贡献
0
技术
51
活跃
3172

7周年庆典勋章 8周年庆典勋章

15F
发表于 2020-7-4 13:30:32 IP属地上海 |只看该作者

回帖奖励 +2

再刷几个版本号就谁什么都有了

Rank: 9

UID
4504635
帖子
2765
PB币
112
贡献
0
技术
12
活跃
2120
16F
发表于 2020-7-4 13:50:29 IP属地未知 来自手机 |只看该作者
rubycon 发表于 2020-7-4 13:02
看不懂,楼主可以分享一下自编译的 mach2 0.30 版本么?

自编译的至少是0.4版,0.3版已经很旧了。上次编译的我删了,今天晚上我重新编译一个吧

Rank: 9

UID
4504635
帖子
2765
PB币
112
贡献
0
技术
12
活跃
2120
17F
发表于 2020-7-4 13:55:31 IP属地未知 来自手机 |只看该作者
rubycon 发表于 2020-7-4 13:26
sets 无法开启。

build17704的sets是「默认关闭」,所以开的很方便。而20h1之后sets放在了「总是关闭」那一类,正常的方法打不开的,mach2可以扫描出由dwm控制,正如上面讲的,不排除有方法打开,但至少网上搜不到

Rank: 20Rank: 20Rank: 20Rank: 20

UID
456912
帖子
156701
PB币
574
贡献
0
技术
90
活跃
17904

小白鼠勋章 热心会员 水神勋章

18F
发表于 2020-7-4 14:02:58 IP属地重庆 |只看该作者
A梦星辰 发表于 2020-7-4 13:55
build17704的sets是「默认关闭」,所以开的很方便。而20h1之后sets放在了「总是关闭」那一类,正常的方法 ...

你的意思是,微软现在不打算开启 sets ?

Rank: 20Rank: 20Rank: 20Rank: 20

UID
456912
帖子
156701
PB币
574
贡献
0
技术
90
活跃
17904

小白鼠勋章 热心会员 水神勋章

19F
发表于 2020-7-4 14:03:47 IP属地重庆 |只看该作者
bgates 发表于 2020-7-4 13:30
再刷几个版本号就谁什么都有了

你的意思是,微软以后会全面推送这些 隐藏功能 ?

Rank: 9

UID
4504635
帖子
2765
PB币
112
贡献
0
技术
12
活跃
2120
20F
发表于 2020-7-4 14:11:05 IP属地未知 来自手机 |只看该作者
HFL045219 发表于 2020-7-4 11:54
大多数人只知道用米做饭
甭管它米从哪里来,更甭管米是怎样产生的!

确实,本来不想发帖的,因为资料不够,甚至可以说没有资料,对AB测试的了解只能停留在mach2和vive两个工具上,工具也并没有注释。但是现在出现了不管其他的,来个代码就开的情况,忽略其他参数,最主要的还是希望中奖的朋友能够提供variant、group等其他参数,vive默认的未必靠谱
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛