|
本帖最后由 tt911 于 2022-11-15 17:38 编辑
无忧论坛,这么多年,竟然没人玩这个。
我弄个教程吧,前些天,我自己编的。
如图所示,当你在Windows资源管理器重命名时,是不是总有个啰了叭嗦的对话框出来?
询问你是否要改名?今天,我们就是调试修改一下它。
当你在Win9x系统时,使用SoftICE或TRW2000时,任意时刻你都能用Ctrl+D唤出控制台来调试目标程序。
这个框框出来,你再去附加我们的调试器,比如x64dbg就已经晚了。
所以呢,我们就得先找一个假想敌,过渡一下来间接的来调试它。
开始以为是不是exeplor.exe? 一切从怀疑开始。
用x32dbg来打开吧,结果提示需要64位的来
就重换x64dbg来走起吧。
当你一按运行时,就发现进程已经结束了。
。。。
所以呢,几经失败,我们就换成了调试notepad.exe
先Alt+E来到模块窗口中,尝试搜索message,下好断点,发现并不好使啊。。。
于是想。。。是不是位于shell32.dll模块中?
结果发现设断也好,搜索字符串也好,并不好使啊。。。
然后一想自从win8以后,不少人都说windows是印度人搞的。。。越来越臃肿,没用的功能与来越多,蛋痛的功能也不少。
以前你一个notepad.exe只需要一个主程序就行了,如今你去搜索还会发现多余的语言文件。。。
所以呢? 搜索中文是多么的愚蠢行为。。。
那么,我们换成英文renname吧。
00007FFE5F485152 | 48:8D15 F73A0500 | lea rdx,qword ptr ds:[7FFE5F4D8C50] | 00007FFE5F4D8C50:L"RenameEdit"
就是就发现了多个,在这上断到了。
位于explorerframe.dll
然后呢,我们试图使用堆栈窗口,慢慢向上回溯,似乎发现这样是无功而返的,因为它出现的地方更早。
所以,我再Alt+M搜索下内存窗口Ctrl+B
就会发现2处
我们来到DUMP窗口中按下Ctrl+Shift+1 ,设置1字节硬件访问断点
断下后
就会来到这下面附近
然后不断的Ctrl+A 向上查看段首 是哪里调用的。。。
不断的重复向上查看 ,并配合堆栈窗口
最终,我们就来到了上面的这个地方!!! 照图那样修改那个烦人的框框就再也不会出来了。。。
补丁后的文件,需要到WinPE环境下去替换。。。
刚才又试了下虚拟机外的这个win10
第1)个文件中:
特征码第1处不变
第2处不变
第2)个文件 需要手动跨模块搜索下,再找一找,没费啥劲就做到了。
- 00007FFCD4F66F63 | 48:8D15 4EA50100 | lea rdx,qword ptr ds:[7FFCD4F814B8] | 00007FFCD4F814B8:L"pszDesktopTitleW"
- 00007FFCD4F66F6A | 48:8BCE | mov rcx,rsi |
- 00007FFCD4F66F6D | FF15 955F0100 | call qword ptr ds:[<&GetPropW>] |
- 00007FFCD4F66F73 | 48:85C0 | test rax,rax |
- 00007FFCD4F66F76 | 48:8D7D E0 | lea rdi,qword ptr ss:[rbp-20] |
- 00007FFCD4F66F7A | 48:0F45F8 | cmovne rdi,rax |
- 00007FFCD4F66F7E | EB 0D | jmp shlwapi.7FFCD4F66F8D |
- 00007FFCD4F66F80 | 48:8D7D E0 | lea rdi,qword ptr ss:[rbp-20] |
- 00007FFCD4F66F84 | EB 07 | jmp shlwapi.7FFCD4F66F8D |
- 00007FFCD4F66F86 | 48:8D3D 9B810100 | lea rdi,qword ptr ds:[7FFCD4F7F128] |
- 00007FFCD4F66F8D | 48:8D85 F8000000 | lea rax,qword ptr ss:[rbp+F8] | [rbp+F8]:"?朷"
- 00007FFCD4F66F94 | 49:8BD4 | mov rdx,r12 |
- 00007FFCD4F66F97 | 4C:8D4424 20 | lea r8,qword ptr ss:[rsp+20] |
- 00007FFCD4F66F9C | 48:894424 20 | mov qword ptr ss:[rsp+20],rax |
- 00007FFCD4F66FA1 | 49:8BCE | mov rcx,r14 |
- 00007FFCD4F66FA4 | E8 BFFDFFFF | call shlwapi.7FFCD4F66D68 |
- 00007FFCD4F66FA9 | 48:836424 20 00 | and qword ptr ss:[rsp+20],0 |
- 00007FFCD4F66FAF | 4C:8BF0 | mov r14,rax |
- 00007FFCD4F66FB2 | 48:85C0 | test rax,rax |
- 00007FFCD4F66FB5 | 0F85 B2000000 | jne shlwapi.7FFCD4F6706D | 1)84=>85
- 00007FFCD4F66FBB | BB A0000000 | mov ebx,A0 |
- 00007FFCD4F66FC0 | 48:8D4C24 30 | lea rcx,qword ptr ss:[rsp+30] |
- 00007FFCD4F66FC5 | 44:8BC3 | mov r8d,ebx |
- 00007FFCD4F66FC8 | 33D2 | xor edx,edx |
- 00007FFCD4F66FCA | E8 C64CFFFF | call <JMP.&memset> |
- 00007FFCD4F66FCF | 8B8D F0000000 | mov ecx,dword ptr ss:[rbp+F0] | [rbp+F0]:&"辣O"
- 00007FFCD4F66FD5 | 48:8D5424 30 | lea rdx,qword ptr ss:[rsp+30] |
- 00007FFCD4F66FDA | 895C24 30 | mov dword ptr ss:[rsp+30],ebx |
- 00007FFCD4F66FDE | 48:897424 34 | mov qword ptr ss:[rsp+34],rsi |
- 00007FFCD4F66FE3 | 4C:897424 64 | mov qword ptr ss:[rsp+64],r14 |
- 00007FFCD4F66FE8 | 48:897C24 4C | mov qword ptr ss:[rsp+4C],rdi |
- 00007FFCD4F66FED | E8 0A170100 | call shlwapi.7FFCD4F786FC |
- 00007FFCD4F66FF2 | 8BD8 | mov ebx,eax |
- 00007FFCD4F66FF4 | 85C0 | test eax,eax |
- 00007FFCD4F66FF6 | 78 6A | js shlwapi.7FFCD4F67062 |
- 00007FFCD4F66FF8 | 48:8D4D D8 | lea rcx,qword ptr ss:[rbp-28] |
- 00007FFCD4F66FFC | E8 5FEEFEFF | call shlwapi.7FFCD4F55E60 |
- 00007FFCD4F67001 | 45:33C9 | xor r9d,r9d | r9d:&"PE"
- 00007FFCD4F67004 | 48:8D55 D0 | lea rdx,qword ptr ss:[rbp-30] |
- 00007FFCD4F67008 | 48:8D4C24 30 | lea rcx,qword ptr ss:[rsp+30] |
- 00007FFCD4F6700D | E8 82290100 | call shlwapi.7FFCD4F79994 |
- 00007FFCD4F67012 | 8BD8 | mov ebx,eax |
- 00007FFCD4F67014 | 85C0 | test eax,eax |
- 00007FFCD4F67016 | 78 18 | js shlwapi.7FFCD4F67030 |
- 00007FFCD4F67018 | F685 F0000000 0F | test byte ptr ss:[rbp+F0],F |
- 00007FFCD4F6701F | 75 30 | jne shlwapi.7FFCD4F67051 |
- 00007FFCD4F67021 | 837D D0 02 | cmp dword ptr ss:[rbp-30],2 |
- 00007FFCD4F67025 | 75 2A | jne shlwapi.7FFCD4F67051 |
- 00007FFCD4F67027 | C745 D0 01000000 | mov dword ptr ss:[rbp-30],1 |
- 00007FFCD4F6702E | EB 21 | jmp shlwapi.7FFCD4F67051 |
- 00007FFCD4F67030 | 44:8B8D F0000000 | mov r9d,dword ptr ss:[rbp+F0] | [rbp+F0]:&"辣O"
- 00007FFCD4F67037 | 4C:8BC7 | mov r8,rdi |
- 00007FFCD4F6703A | 41:0FBAE9 10 | bts r9d,10 | r9d:&"PE"
- 00007FFCD4F6703F | 49:8BD6 | mov rdx,r14 |
- 00007FFCD4F67042 | 48:8BCE | mov rcx,rsi |
- 00007FFCD4F67045 | 41:B7 01 | mov r15b,1 |
- 00007FFCD4F67048 | FF15 D25F0100 | call qword ptr ds:[<&MessageBoxW>] |
- 00007FFCD4F6704E | 8945 D0 | mov dword ptr ss:[rbp-30],eax |
- 00007FFCD4F67051 | 48:8B55 D8 | mov rdx,qword ptr ss:[rbp-28] |
- 00007FFCD4F67055 | 48:85D2 | test rdx,rdx |
- 00007FFCD4F67058 | 74 08 | je shlwapi.7FFCD4F67062 |
- 00007FFCD4F6705A | 33C9 | xor ecx,ecx |
- 00007FFCD4F6705C | FF15 DE680100 | call qword ptr ds:[<&DeactivateActCtx>] |
- 00007FFCD4F67062 | 49:8BCE | mov rcx,r14 |
- 00007FFCD4F67065 | FF15 F5600100 | call qword ptr ds:[<&LocalFree>] |
- 00007FFCD4F6706B | EB 05 | jmp shlwapi.7FFCD4F67072 |
- 00007FFCD4F6706D | BB 0E000780 | mov ebx,8007000E |
- 00007FFCD4F67072 | 85DB | test ebx,ebx |
- 00007FFCD4F67074 | EB 20 | jmp shlwapi.7FFCD4F67096 | 2)79=>EB
- ===================
- 00007FFCD36104F6 | 48:FF15 EBC51000 | call qword ptr ds:[<&ShellMessageBoxW>] |
- 00007FFCD36104FD | 0F1F4400 00 | nop dword ptr ds:[rax+rax],eax |
- 00007FFCD3610502 | 44:8BE8 | mov r13d,eax |
- 00007FFCD3610505 | 48:8D4D D7 | lea rcx,qword ptr ss:[rbp-29] |
- 00007FFCD3610509 | E8 62B1C5FF | call windows.storage.7FFCD326B670 |
- 00007FFCD361050E | 41:83FD 06 | cmp r13d,6 |
- 00007FFCD3610512 | 90 | nop | 3)此处NOP掉
- 00007FFCD3610513 | 90 | nop |
- 00007FFCD3610514 | 90 | nop |
- 00007FFCD3610515 | 90 | nop |
- 00007FFCD3610516 | 90 | nop |
- 00007FFCD3610517 | 90 | nop |
- 00007FFCD3610518 | 8B85 87000000 | mov eax,dword ptr ss:[rbp+87] |
- 00007FFCD361051E | 48:8BCF | mov rcx,rdi |
- 00007FFCD3610521 | 4C:8B4D B7 | mov r9,qword ptr ss:[rbp-49] |
- 00007FFCD3610525 | 4C:8B45 BF | mov r8,qword ptr ss:[rbp-41] |
- 00007FFCD3610529 | 48:8B55 C7 | mov rdx,qword ptr ss:[rbp-39] |
- 00007FFCD361052D | 4C:897C24 30 | mov qword ptr ss:[rsp+30],r15 |
- 00007FFCD3610532 | 894424 28 | mov dword ptr ss:[rsp+28],eax |
- 00007FFCD3610536 | 8B45 7F | mov eax,dword ptr ss:[rbp+7F] |
- 00007FFCD3610539 | 894424 20 | mov dword ptr ss:[rsp+20],eax |
- 00007FFCD361053D | E8 0A010000 | call windows.storage.7FFCD361064C |
- 00007FFCD3610542 | 44:8BF0 | mov r14d,eax |
- 00007FFCD3610545 | 85C0 | test eax,eax |
- 00007FFCD3610547 | 78 7A | js windows.storage.7FFCD36105C3 |
复制代码
- 上面的改法不对:
- 00007FFE74E172E5 | 0F85 B2000000 | jne shlwapi.7FFE74E1739D | 84==>85
- 00007FFE74E173A4 | EB 20 | jmp shlwapi.7FFE74E173C6 | 2) JMP 跳过下面的win32 LastWin32Error
- 00007FFE74E173A6 | 41:F6DF | neg r15b |
- 00007FFE74E173A9 | 0FB7CB | movzx ecx,bx |
- 00007FFE74E173AC | 1BC0 | sbb eax,eax |
- 00007FFE74E173AE | 2145 D0 | and dword ptr ss:[rbp-30],eax |
- 00007FFE74E173B1 | 8BC3 | mov eax,ebx |
- 00007FFE74E173B3 | 25 0000FF1F | and eax,1FFF0000 |
- 00007FFE74E173B8 | 3D 00000700 | cmp eax,70000 |
- 00007FFE74E173BD | 0F45CB | cmovne ecx,ebx |
- 00007FFE74E173C0 | FF15 DA5C0100 | call qword ptr ds:[<&RtlRestoreLastWin32Error |
- 00007FFE74E173C6 | 8B45 D0 | mov eax,dword ptr ss:[rbp-30]
- 00007FFE71E3547A | 48:FF15 8F341000 | call qword ptr ds:[<&ShellMessageBoxW>] |
- 00007FFE71E35481 | 0F1F4400 00 | nop dword ptr ds:[rax+rax],eax |
- 00007FFE71E35486 | 8945 CF | mov dword ptr ss:[rbp-31],eax |
- 00007FFE71E35489 | 48:8D4D DF | lea rcx,qword ptr ss:[rbp-21] |
- 00007FFE71E3548D | E8 A647C9FF | call windows.storage.7FFE71AC9C38 |
- 00007FFE71E35492 | 837D CF 06 | cmp dword ptr ss:[rbp-31],6 |
- 00007FFE71E35496 | 0F85 E4000000 | jne windows.storage.7FFE71E35580 | 3) 这里NOP掉
- 这样才完美。
复制代码
win10需要修改两个文件;win7则是1个文件。定位方式稍有不同。(xp和Win8没虚拟机没法测试就不知道了。)
稍后上传补丁 :
Win+R, winver
Win10 18363.592文件改名免提示补丁.rar
(2.57 MB, 下载次数: 16)
Win7 6.1 7601:SP1
shell32.7z
Windows Embedded POSReady7 6.1 7601 sp1
shell32.7z
(3.98 MB, 下载次数: 5)
Win10 1809 17763.316
Extra to :
C:\Windows\System32\windows.storage.dll
C:\Windows\System32\shlwapi.dll
Patch.7z
(2.17 MB, 下载次数: 8)
|
评分
-
查看全部评分
|