|
tireless
银牌会员
    
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
  『楼 主』:
[分享]快速修改「开始」按钮文字
使用 LLM 解释/回答一下
修改 .rc 部分的代码由 HAT 编写,还有 slore 提供的一些帮助,谢谢!
测试环境:Windows XP SP2
所用工具: ResHacker.exe、 GoRC.exe
原理: ResHacker.exe 在命令行下修改、替换 explorer.exe
执行过程: 1.ResHacker.exe 提取 explorer.exe 的 37 号 StringTable 为 .rc 文件
2.用户输入新的按钮文字(即修改 .rc 文件)
3.GoRC.exe 编译 .rc 为 .res 文件
4.结束 explorer.exe 进程、重命名 dllcache 下的 explorer.exe 为 .backup 后缀
5.ResHacker.exe 使用 .res 文件覆盖修改 explorer.exe
6.Start explorer
技巧:不输入文字,直接回车,可以移除「开始」按钮 <img src="images/smilies/face-laugh.png" align="absmiddle" border="0"> 截图
修改.bat
::@ http://www.cn-dos.net/forum/viewthread.php?tid=42775
@echo off
setlocal enabledelayedexpansion
If not exist st37.rc (ResHacker.exe -extract %windir%\explorer.exe,st37.rc,stringtable,37,)
set count=0
set newname=
set /p newname=请输入:
type nul>"st37.bak"
for /f "tokens=1,2* delims=:" %%a in ('findstr /n .* "st37.rc"') do (
>>"st37.bak" echo.%%b
set /a count+=1
if !count! equ 4 goto :next
)
goto :eof
:next
>>"st37.bak" echo 578, "%newname%"
for /f "skip=5 tokens=1,2* delims=:" %%a in ('findstr /n .* "st37.rc"') do (
>>"st37.bak" echo.%%b
)
move /y "st37.bak" "st37.rc"
gorc.exe /r st37.rc
taskkill /im explorer.exe /f
set dllcache=%windir%\system32\dllcache
If not exist %dllcache%\explorer.backup ren %dllcache%\explorer.exe explorer.backup
If not exist %windir%\explorer_backup\explorer.exe (
md %windir%\explorer_backup
copy %windir%\explorer.exe %windir%\explorer_backup
)
ResHacker.exe -modify %windir%\explorer.exe,%windir%\explorer.exe,st37.res,stringtable,,
start explorer
恢复.bat
@echo off
pause
taskkill /im explorer.exe /f
replace %windir%\explorer_backup\explorer.exe %windir%
ren %windir%\system32\dllcache\explorer.backup explorer.exe
rd /s /q %windir%\explorer_backup
start explorer
下载地址: http://upload.cn-dos.net/img/780.rar
下载地址2: http://www.brsbox.com/filebox/down/fc/6870f67f2ec08e5a8ab85283b314d7d9
-------------------------------------------------------------------------------------------------------
以上修改方法是直接修改系统的 explorer.exe。还有另一种修改方法------ 加载另一个目录的 explorer.exe,修改注册表中的 shell 值指向这个 explorer.exe。 跳至 14 楼
Last edited by tireless on 2008-9-21 at 08:49 PM ]
The code in the .rc part was written by HAT, with some help from slore. Thanks!
Test Environment: Windows XP SP2
Tools Used: ResHacker.exe、 GoRC.exe
Principle: ResHacker.exe modifies and replaces explorer.exe from the command line
Execution Process: 1. ResHacker.exe extracts the 37th StringTable of explorer.exe as a .rc file
2. The user enters new button text (i.e., modifies the .rc file)
3. GoRC.exe compiles the .rc into a .res file
4. End the explorer.exe process, rename explorer.exe in dllcache to have a .backup suffix
5. ResHacker.exe uses the .res file to overwrite and modify explorer.exe
6. Start explorer
Tip: If you don't enter text and just press Enter, you can remove the "Start" button :) Screenshot
Modify.bat
::@ http://www.cn-dos.net/forum/viewthread.php?tid=42775
@echo off
setlocal enabledelayedexpansion
If not exist st37.rc (ResHacker.exe -extract %windir%\explorer.exe,st37.rc,stringtable,37,)
set count=0
set newname=
set /p newname=Please enter:
type nul>"st37.bak"
for /f "tokens=1,2* delims=:" %%a in ('findstr /n .* "st37.rc"') do (
>>"st37.bak" echo.%%b
set /a count+=1
if !count! equ 4 goto :next
)
goto :eof
:next
>>"st37.bak" echo 578, "%newname%"
for /f "skip=5 tokens=1,2* delims=:" %%a in ('findstr /n .* "st37.rc"') do (
>>"st37.bak" echo.%%b
)
move /y "st37.bak" "st37.rc"
gorc.exe /r st37.rc
taskkill /im explorer.exe /f
set dllcache=%windir%\system32\dllcache
If not exist %dllcache%\explorer.backup ren %dllcache%\explorer.exe explorer.backup
If not exist %windir%\explorer_backup\explorer.exe (
md %windir%\explorer_backup
copy %windir%\explorer.exe %windir%\explorer_backup
)
ResHacker.exe -modify %windir%\explorer.exe,%windir%\explorer.exe,st37.res,stringtable,,
start explorer
Restore.bat
@echo off
pause
taskkill /im explorer.exe /f
replace %windir%\explorer_backup\explorer.exe %windir%
ren %windir%\system32\dllcache\explorer.backup explorer.exe
rd /s /q %windir%\explorer_backup
start explorer
Download Link: http://upload.cn-dos.net/img/780.rar
Download Link 2: http://www.brsbox.com/filebox/down/fc/6870f67f2ec08e5a8ab85283b314d7d9
-------------------------------------------------------------------------------------------------------
The above modification method directly modifies the system's explorer.exe. There is another modification method - load another directory's explorer.exe and modify the shell value in the registry to point to this explorer.exe. Jump to Floor 14
Last edited by tireless on 2008-9-21 at 08:49 PM ]
此帖被 +20 点积分 点击查看详情 评分人:【 HAT 】 | 分数: +10 | 时间:2008-9-10 10:23 | 评分人:【 radem 】 | 分数: +2 | 时间:2008-9-10 13:23 | 评分人:【 moniuming 】 | 分数: +8 | 时间:2008-9-10 13:39 |
|
|
|
2008-9-10 03:08 |
|
|
metoo
初级用户
 
积分 195
发帖 93
注册 2006-10-28
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
ResHacker.exe 有命令行接口啊- -!才知道
ResHacker.exe has a command-line interface, oh - -! Just found out
|
|
2008-9-10 06:58 |
|
|
zts59
中级用户
  
积分 387
发帖 104
注册 2004-11-19
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
不错,改资源也可以命令行,高
Not bad, modifying resources can also be done via command line, excellent
|
|
2008-9-10 09:33 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
|
2008-9-10 10:23 |
|
|
terrytong
中级用户
  
积分 240
发帖 115
注册 2008-3-10
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
运行了之后怎么金山词霸就出错了,怎么也打不开了。
After running it, Kingsoft PowerWord has an error and can't be opened at all.
|
|
2008-9-10 11:53 |
|
|
tireless
银牌会员
    
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
Originally posted by terrytong at 2008-9-9 03:53 PM:
运行了之后怎么金山词霸就出错了,怎么也打不开了。
可能是由于重启了 explorer.exe 的缘故。
Originally posted by terrytong at 2008-9-9 03:53 PM:
After running it, Kingsoft Ciba (Kingsoft Dictionary) has an error and can't be opened at all.
It may be due to restarting explorer.exe.
|
|
2008-9-10 12:14 |
|
|
slore
铂金会员
      
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
还是建议改注册表修改shell……还原方便还不替换系统原文件。
It is still suggested to modify the shell by changing the registry... It is convenient to restore and does not replace the original system files.
|

S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2008-9-10 12:32 |
|
|
radem
高级用户
    CMD感染者
积分 691
发帖 383
注册 2008-5-23
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
支持原创
modify startbutton text.rar
Support original work
modify startbutton text.rar
|

 |
|
2008-9-10 13:21 |
|
|
ggaking
新手上路

积分 19
发帖 8
注册 2008-9-11
状态 离线
|
『第 9 楼』:
使用 LLM 解释/回答一下
看到你最后一个恢复的批处理,好象就是将那个注册表删除了,却没有恢复为原来的值啊,这样重新启动要出错的呀!
I see your last restored batch processing, it seems that you just deleted that registry, but didn't restore it to the original value! This will cause an error when restarting!
|
|
2008-9-11 23:10 |
|
|
tireless
银牌会员
    
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
『第 10 楼』:
使用 LLM 解释/回答一下
Originally posted by ggaking at 2008-9-11 03:10 AM:
看到你最后一个恢复的批处理,好象就是将那个注册表删除了,却没有恢复为原来的值啊,这样重新启动要出错的呀!
我也不记得默认有没有那个“shell”值。我试过了,不会出错。
Originally posted by ggaking at 2008-9-11 03:10 AM:
Seeing your last restored batch file, it seems that you just deleted that registry but didn't restore it to the original value. This will cause an error when restarting!
I don't remember if there was originally that "shell" value. I tried it and there's no error.
|
|
2008-9-11 23:27 |
|
|
slore
铂金会员
      
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
默认是explorer.exe不能删除的说
By default, it's said that explorer.exe can't be deleted
|

S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2008-9-12 23:02 |
|
|
coolrain
新手上路

积分 8
发帖 4
注册 2008-9-13
状态 离线
|
|
2008-9-14 11:19 |
|
|
coolrain
新手上路

积分 8
发帖 4
注册 2008-9-13
状态 离线
|
|
2008-9-14 11:19 |
|
|
tireless
银牌会员
    
积分 2025
发帖 1122
注册 2007-9-5
状态 离线
|
   『第 14 楼』:
修改方案二:
使用 LLM 解释/回答一下
修改.bat
@echo off
::@ http://www.cn-dos.net/forum/viewthread.php?tid=42775
If not exist st37.rc (ResHacker.exe -extract %windir%\explorer.exe,st37.rc,stringtable,37,)
setlocal enabledelayedexpansion
set count=0
set newname=
set /p newname=请输入:
type nul>"st37.bak"
for /f "tokens=1,2* delims=:" %%a in ('findstr /n .* "st37.rc"') do (
>>"st37.bak" echo.%%b
set /a count+=1
if !count! equ 4 goto :next
)
goto :eof
:next
>>"st37.bak" echo 578, "%newname%"
for /f "skip=5 tokens=1,2* delims=:" %%a in ('findstr /n .* "st37.rc"') do (
>>"st37.bak" echo.%%b
)
move /y "st37.bak" "st37.rc"
gorc.exe /r st37.rc
If not exist %windir%\CustomStartButton\ md %windir%\CustomStartButton\
taskkill /im explorer.exe /f
ResHacker.exe -modify %windir%\explorer.exe,%windir%\CustomStartButton\explorer.exe,st37.res,stringtable,,
reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /d %windir%\CustomStartButton\explorer.exe /f
start %windir%\CustomStartButton\explorer.exe
恢复.bat
@echo off
pause
reg delete "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /f
taskkill /im explorer.exe /f
rd /s /q %windir%\CustomStartButton
start explorer
下载地址: http://upload.cn-dos.net/img/781.rar
下载地址2: http://www.brsbox.com/filebox/down/fc/be99982f13243d6129bbffe4888e1e8a
Last edited by tireless on 2008-9-21 at 08:48 PM ]
Modify .bat
@echo off
::@ http://www.cn-dos.net/forum/viewthread.php?tid=42775
If not exist st37.rc (ResHacker.exe -extract %windir%\explorer.exe,st37.rc,stringtable,37,)
setlocal enabledelayedexpansion
set count=0
set newname=
set /p newname=Please enter:
type nul>"st37.bak"
for /f "tokens=1,2* delims=:" %%a in ('findstr /n .* "st37.rc"') do (
>>"st37.bak" echo.%%b
set /a count+=1
if !count! equ 4 goto :next
)
goto :eof
:next
>>"st37.bak" echo 578, "%newname%"
for /f "skip=5 tokens=1,2* delims=:" %%a in ('findstr /n .* "st37.rc"') do (
>>"st37.bak" echo.%%b
)
move /y "st37.bak" "st37.rc"
gorc.exe /r st37.rc
If not exist %windir%\CustomStartButton\ md %windir%\CustomStartButton\
taskkill /im explorer.exe /f
ResHacker.exe -modify %windir%\explorer.exe,%windir%\CustomStartButton\explorer.exe,st37.res,stringtable,,
reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /d %windir%\CustomStartButton\explorer.exe /f
start %windir%\CustomStartButton\explorer.exe
Restore .bat
@echo off
pause
reg delete "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /f
taskkill /im explorer.exe /f
rd /s /q %windir%\CustomStartButton
start explorer
Download address: http://upload.cn-dos.net/img/781.rar
Download address 2: http://www.brsbox.com/filebox/down/fc/be99982f13243d6129bbffe4888e1e8a
Last edited by tireless on 2008-9-21 at 08:48 PM ]
|
|
2008-9-22 16:47 |
|
|
moniuming
银牌会员
     永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
|
2008-9-24 17:30 |
|