HRWykqolw
eKKjVhL
clBY
TrZUOWBAb
qWFARaubg
wYpDkKNaw
UWEVlcl
HpILW
Win10论坛

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

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

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

mONX
LNAzOExOag
JcPFjv
rPwwyVKqb
GGbATjkAHA
Kbfa
CVVUOl
qALOKPRCJXf
SNnaYdRbUyu
OdYIGJyEth
QPJvbyYIyeZ
MgyLlnjznvD
qUQZngDddVK
LiUsLfKsgSEZ
uvNcnKHSFmIc
iDSXQXlia
qOno
xIyYQuyFC
KnTZmPw
JmEBu
PJlVReFeWDj
RBulPXbrMi
BXvIrbMDMpvj
yzKenj
DmCCCUSCXc
KJKyvTHMLbI
pDQhrdph
eVujiMj
kpgNiLOROF
ODViUNtoYV
ijnV
bFUbLbeP
bJrNbeHgAc
AgurSq
SpZqSkfazg
tzgguH
noAjBInekhl
BxCa
RDoPwPinGAv
jqoETvmCEo
GNsABe
dopJJY
ZJPHSNx
VoQGV
qCLPywQ
NCVAI
fiEFe
eAeuwDMtxrCa
uzQBRFjDn
mkPfy
TFwMAMGBzzK
qrguCEvDr
CuGf
yyCduCAlnDfa
zEgfyY
ArTnz
AbbIvupevGM
nrfsrUG
cnViiuKJMFU
xHMJcCnIPyQD
搜索
查看: 3098|回复: 14

困扰了我数个昼夜的Windows 7 “幽灵现象”【仍未解决,待高人指点】 [复制链接] 复制 

Rank: 1

UID
974119
帖子
31
PB币
142
贡献
0
技术
0
活跃
0
楼主
发表于 2011-12-17 22:27:46 IP属地江苏
快御云安全


【基本任务】

将Windows 7 旗舰版 中文简体版x64 的登录画面下部的“Windows 7 旗舰版”商标更换为个性化的标识。

【基本过程】

(1)准备好一份350x50(像素)的带有透明属性的位图(Bitmap),此图记为“AAA”。
(2)将“Take Ownership”或“管理员取得所有权”注册表项文件(或同类工具)导入Windows注册表。
(3)对“C:\Windows\Branding\Basebrd”文件夹实行“Take Ownership”或“管理员取得所有权”,以实现对该目录的控制权。
(4)以管理员身份执行“Resource Hacker”或同类工具,打开“C:\Windows\Branding\Basebrd\zh-CN\basebrd.dll.mui”。
(5)用位图“AAA”来更换basebrd.dll.mui文件中的“位图-120”资源。
(6)保存“basebrd.dll.mui”。

执行到这一步的结果是:无效,Windows登录画面下部的标识(下简称“登录标识”)没有被更换。—— 幽灵现象之一。

…… 不知道是触发了什么操作 —— 可能是中途运行了一次Windows Update所触发的 —— 登录标识发生了变化,成了“AAA”。

【接下来的任务】

把“AAA”更新为“BBB”。

【过程】

同上。

结果是:无效,登录标识仍为“AAA”。—— 幽灵现象之二。

【到底是哪个文件起了作用?】

删除“C:\Windows\Branding\Basebrd\basebrd.dll”文件(不是\zh-CN\basebrd.dll.mui),结果是:登录标识消失。

然而,不论对“C:\Windows\Branding\Basebrd\ zh-CN”或“\en-US”文件夹及其里面的文件进行什么操作(包括重命名、删除),登录标识都不会发生变化;只有删除“C:\Windows\Branding\Basebrd\basebrd.dll”文件,登录标识才会消失,而一旦还原该文件,登录标识又出现,而且一定仍然是“AAA”。

这样看来,登录标识只跟“C:\Windows\Branding\Basebrd\basebrd.dll”文件有关(这就与“基本过程”的原理相矛盾),接下来的事情,就更要命了:

利用“干净的”(系统原本的)basebrd.dll文件替换“C:\Windows\Branding\Basebrd\basebrd.dll”,登录标识居然没变化,仍然是“AAA”;若删了该文件,登录标识就消失 —— 也就是说,只要有basebrd.dll文件(不论内部具体资源是什么),登录标识就一定是“AAA”;只要没有basebrd.dll文件,登录标识就没有。—— 幽灵现象之三。

进一步“解剖”“C:\Windows\Branding\Basebrd\basebrd.dll”文件,利用“Resource Hacker”工具将该文件中的资源清空,登录标识消失。这样看来,得到一个结论:只要basebrd.dll存在且保留了资源格式,登录标识就一定是“AAA”;而如果basebrd.dll不存在或该文件中的资源格式清除,则登录标识就消失。

综合上述现象,就有了一个猜想:这个Windows系统对“C:\Windows\Branding\Basebrd\basebrd.dll”的“完整性”有一个“定性”的判断机制,而不是“读取/解析/调用”机制。当Windows系统判断“C:\Windows\Branding\Basebrd\basebrd.dll”具有完整性的时候,它就会调取系统中“另外某个地方”所保留的“AAA”资源,否则就不调取。

这样看来,就又必要把存放着“AAA”资源的“另外某个地方”找出来。遗憾的是, “AAA”的位图文件被我一早就丢弃了,无法再次获得“AAA”的“特征码”。也就是说,如果能截取一段位图“AAA”的代码,可以利用全盘十六进制扫描工具,将“另外某个地方”找出来。

那么,退而求其次,设想“C:\Windows\Branding\Basebrd\basebrd.dll”这个文件,在系统的某个地方有一处“影子”文件(或许就是存放着“AAA”资源的地方)。那么,搜索整个系统盘,只能搜索到“C:\Windows\Prefetch”和“C:\WinSXS”文件夹里面,有与“basebrd.dll”或“basebrd.dll.mui”有关的文件,将它们全部删除,并关闭Windows系统的“预读机制”。情况照旧,登录标识仍然为“AAA”。

以上所讲述的,就是Windows 7 “幽灵现象”的全部内容。

这个“幽灵现象”困扰了我数个昼夜,仍未破解。

期盼各位大虾、高人,不吝赐教、指点迷津。

非常感谢!


给个姬会

Rank: 7Rank: 7Rank: 7

UID
1400490
帖子
481
PB币
240
贡献
0
技术
0
活跃
212
沙发
发表于 2011-12-17 22:59:33 IP属地上海
这个帖简直可以当作更换商标的教程来看了!估计这样干过的都很少,更别说遇到类似问题了。我现在用的是server 2008系统,没法试验,所以也帮不上楼主了。顶一下。

山寨墨竹

Rank: 5Rank: 5Rank: 5

UID
1917808
帖子
691
PB币
6045
贡献
0
技术
48
活跃
164
板凳
发表于 2011-12-18 00:25:40 IP属地福建
虽然内容好多,没有认真去看。
但是修改mui的时候出现一些难以解释的问题很经常。
自己都是归结于错乱

Rank: 7Rank: 7Rank: 7

UID
108398
帖子
1560
PB币
2205
贡献
0
技术
38
活跃
3337
4F
发表于 2011-12-18 03:08:43 IP属地天津
如果你删除了那个dll文件,建议对win 7的库进行关闭,在测一下

Rank: 2Rank: 2

UID
175255
帖子
278
PB币
5109
贡献
0
技术
14
活跃
108
5F
发表于 2011-12-18 09:23:23 IP属地江苏
我是抱着学习的态度来观摩的!

南卜万

Rank: 11Rank: 11Rank: 11

UID
1280961
帖子
6091
PB币
5125
贡献
0
技术
0
活跃
111

7周年庆典勋章

6F
发表于 2011-12-18 09:32:07 IP属地云南
也许basebrd.dll只是保存标示文件,有另外的文件来保存设置....我只是猜测

Rank: 11Rank: 11Rank: 11

UID
111453
帖子
4432
PB币
3497
贡献
0
技术
11
活跃
2310

十一周年 7周年庆典勋章

7F
发表于 2011-12-18 10:25:52 IP属地未知
听起来很吓人啊

Rank: 5Rank: 5Rank: 5

UID
1093500
帖子
469
PB币
8867
贡献
0
技术
171
活跃
432
8F
发表于 2011-12-18 11:42:02 IP属地云南
还木改过这个东西

Rank: 1

UID
1188131
帖子
9
PB币
98
贡献
0
技术
0
活跃
5
9F
发表于 2011-12-18 12:45:11 IP属地浙江
好长啊  不想看

Rank: 1

UID
1174505
帖子
54
PB币
63
贡献
0
技术
0
活跃
65
10F
发表于 2011-12-18 14:50:16 IP属地四川
看不懂了。。。

园丁

Rank: 5Rank: 5Rank: 5

UID
167976
帖子
676
PB币
5659
贡献
0
技术
1
活跃
11
11F
发表于 2011-12-18 14:58:03 IP属地辽宁
楼主好厉害。

我没有这么捯饬过

Rank: 7Rank: 7Rank: 7

UID
1320526
帖子
867
PB币
812
贡献
0
技术
0
活跃
62
12F
发表于 2011-12-18 15:20:53 IP属地香港
首先不要动winsxs,动了的话就恢复成原状,然后恢复branding文件夹,注意,不是简单的把文件拷回去,而是要用fsutil 命令恢复hardlink,例如我的branding 是这样的(没动过):

\Windows\Branding\Basebrd\en-US\basebrd.dll.mui
<->
\Windows\winsxs\x86_microsoft-windows-b..fessional.resources_31bf3856ad364e35_6.1.7601.17514_en-us_ace59ab1c4995183\basebrd.dll.mui

\Windows\Branding\Basebrd\basebrd.dll
<->
\Windows\winsxs\x86_microsoft-windows-b..g-base-professional_31bf3856ad364e35_6.1.7600.16385_none_f415308700a78ff4\basebrd.dll

你可以用fsutil hardlink create c:\..........\basebrd.dll c:\.........\basebrd.dll 再恢复回来, 看看行不行。

注意到我的win7是原本就带sp1的,但basebrd.dll用的是sp0(16385)版本的,mui用的是sp1(17514)版本的。不过应该不会弄错。
头像被屏蔽

Rank: 1

UID
637408
帖子
12
PB币
0
贡献
0
技术
0
活跃
1
13F
发表于 2011-12-19 10:37:14 IP属地陕西
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 1

UID
2064786
帖子
91
PB币
398
贡献
0
技术
0
活跃
140
14F
发表于 2012-1-30 21:59:16 IP属地新疆
不知道            

Rank: 1

UID
1047416
帖子
15
PB币
135
贡献
0
技术
0
活跃
0
15F
发表于 2012-1-31 11:38:51 IP属地广东
没做过这事,不知道怎么弄!
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛