终于找到修改标题栏宽度的入口点了!
用OllyDBG查找二进制“68 C8 00 00 00”,找到最后一个,其代码是“push 0C8”把后面的“0C8”修改为你要的宽度(HEX),默认是200(DEC),修改为350的HEX是“15E ”。至于其他的数值,自己用计算器换算一下吧!
好心开发者在皮肤的INI参数里面加个Width参数吧!(害我找得那么辛苦!)例如:
[TitleBar]
Width=350
Height=21
下面是OD的所在位置上下文代码:
[code]
004B7910 /$ 83EC 44 sub esp, 44
004B7913 |. 53 push ebx
004B7914 |. 55 push ebp
004B7915 |. 56 push esi
004B7916 |. 8BF1 mov esi, ecx
004B7918 |. 57 push edi
004B7919 |. 68 01000080 push 80000001
004B791E |. 8D9E A44D0000 lea ebx, dword ptr [esi+4DA4]
004B7924 |. 53 push ebx
004B7925 |. 68 64924F00 push 004F9264 ; UNICODE "SuperTitle"
004B792A |. 68 E4E74E00 push 004EE7E4 ; UNICODE "Wnd"
004B792F |. E8 CC53FFFF call 004ACD00
004B7934 |. 83C4 10 add esp, 10
004B7937 |. 68 C4BC4F00 push 004FBCC4 ; /MsgName = "TaskbarCreated"
004B793C |. FF15 20A84D00 call dword ptr [<&USER32.RegisterWind>; \RegisterWindowMessageW
004B7942 |. 8B6C24 58 mov ebp, dword ptr [esp+58]
004B7946 |. A3 78C27300 mov dword ptr [73C278], eax
004B794B |. 8B4424 5C mov eax, dword ptr [esp+5C]
004B794F |. 55 push ebp ; /<%s>
004B7950 |. 68 28A14E00 push 004EA128 ; |format = "%s"
004B7955 |. 8D8E F84A0000 lea ecx, dword ptr [esi+4AF8] ; |
004B795B |. 68 04010000 push 104 ; |count = 104 (260.)
004B7960 |. 51 push ecx ; |wstr
004B7961 |. C786 C04A0000>mov dword ptr [esi+4AC0], 1 ; |
004B796B |. 8986 D04A0000 mov dword ptr [esi+4AD0], eax ; |
004B7971 |. FF15 F8A34D00 call dword ptr [<&MSVCRT._snwprintf>] ; \_snwprintf
004B7977 |. 8B16 mov edx, dword ptr [esi]
004B7979 |. 83C4 10 add esp, 10
004B797C |. 8BCE mov ecx, esi
004B797E |. 66:C786 FE4C0>mov word ptr [esi+4CFE], 0
004B7987 |. FF52 20 call dword ptr [edx+20]
004B798A |. 8BCE mov ecx, esi
004B798C |. E8 CFFBFFFF call 004B7560
004B7991 |. 8B4424 60 mov eax, dword ptr [esp+60]
004B7995 |. 85C0 test eax, eax
004B7997 |. 74 0E je short 004B79A7
004B7999 |. 50 push eax ; /pRectSrc
004B799A |. 8D4424 1C lea eax, dword ptr [esp+1C] ; |
004B799E |. 50 push eax ; |pRectDst
004B799F |. FF15 A4A64D00 call dword ptr [<&USER32.CopyRect>] ; \CopyRect
004B79A5 |. EB 70 jmp short 004B7A17
004B79A7 |> 8D4C24 18 lea ecx, dword ptr [esp+18]
004B79AB |. 6A 00 push 0 ; /UpdateProfile = 0
004B79AD |. 51 push ecx ; |pParam
004B79AE |. 6A 00 push 0 ; |wParam = 0
004B79B0 |. 6A 30 push 30 ; |Action = SPI_GETWORKAREA
004B79B2 |. FF15 B4A64D00 call dword ptr [<&USER32.SystemParame>; \SystemParametersInfoW
004B79B8 |. 85C0 test eax, eax
004B79BA |. 75 12 jnz short 004B79CE
004B79BC |. 8D5424 18 lea edx, dword ptr [esp+18]
004B79C0 |. 52 push edx ; /pRect
004B79C1 |. FF15 70A74D00 call dword ptr [<&USER32.GetDesktopWi>; |[GetDesktopWindow
004B79C7 |. 50 push eax ; |hWnd
004B79C8 |. FF15 44A64D00 call dword ptr [<&USER32.GetWindowRec>; \GetWindowRect
004B79CE |> 6A 9C push -64 ; /dY = FFFFFF9C (-100.)
004B79D0 |. 8D4424 1C lea eax, dword ptr [esp+1C] ; |
004B79D4 |. 6A 9C push -64 ; |dX = FFFFFF9C (-100.)
004B79D6 |. 50 push eax ; |pRect
004B79D7 |. FF15 A0A64D00 call dword ptr [<&USER32.InflateRect>>; \InflateRect
004B79DD |. 8B4C24 24 mov ecx, dword ptr [esp+24]
004B79E1 |. 8B4424 1C mov eax, dword ptr [esp+1C]
004B79E5 |. 2BC8 sub ecx, eax
004B79E7 |. B8 56555555 mov eax, 55555556
004B79EC |. F7E9 imul ecx
004B79EE |. 8B4424 20 mov eax, dword ptr [esp+20]
004B79F2 |. 8B7C24 18 mov edi, dword ptr [esp+18]
004B79F6 |. 8BCA mov ecx, edx
004B79F8 |. 2BC7 sub eax, edi
004B79FA |. C1E9 1F shr ecx, 1F
004B79FD |. 03D1 add edx, ecx
004B79FF |. C1E2 02 shl edx, 2
004B7A02 |. 8BCA mov ecx, edx
004B7A04 |. 2BC1 sub eax, ecx
004B7A06 |. 99 cdq
004B7A07 |. 2BC2 sub eax, edx
004B7A09 |. D1F8 sar eax, 1
004B7A0B |. 03F8 add edi, eax
004B7A0D |. 897C24 18 mov dword ptr [esp+18], edi
004B7A11 |. 03F9 add edi, ecx
004B7A13 |. 897C24 20 mov dword ptr [esp+20], edi
004B7A17 |> 833B 00 cmp dword ptr [ebx], 0
004B7A1A |. 74 16 je short 004B7A32
004B7A1C |. 8B0D F4B17300 mov ecx, dword ptr [73B1F4]
004B7A22 |. B8 00008B86 mov eax, 868B0000
004B7A27 |. 85C9 test ecx, ecx
004B7A29 |. 75 0C jnz short 004B7A37
004B7A2B |. B8 00008F86 mov eax, 868F0000
004B7A30 |. EB 05 jmp short 004B7A37
004B7A32 |> B8 0000CF06 mov eax, 6CF0000
004B7A37 |> 8D5424 18 lea edx, dword ptr [esp+18]
004B7A3B |. 8BCE mov ecx, esi
004B7A3D |. 52 push edx
004B7A3E |. 50 push eax
004B7A3F |. 55 push ebp
004B7A40 |. E8 1B980100 call 004D1260
004B7A45 |. B9 0B000000 mov ecx, 0B
004B7A4A |. 33C0 xor eax, eax
004B7A4C |. 8D7C24 28 lea edi, dword ptr [esp+28]
004B7A50 |. 68 01000080 push 80000001
004B7A55 |. F3:AB rep stos dword ptr es:[edi]
004B7A57 |. 8D4424 18 lea eax, dword ptr [esp+18]
004B7A5B |. 8D4C24 2C lea ecx, dword ptr [esp+2C]
004B7A5F |. 50 push eax
004B7A60 |. 51 push ecx
004B7A61 |. BA 2C000000 mov edx, 2C
004B7A66 |. 68 B4BC4F00 push 004FBCB4 ; UNICODE "MainWP"
004B7A6B |. 68 E4E74E00 push 004EE7E4 ; UNICODE "Wnd"
004B7A70 |. 895424 28 mov dword ptr [esp+28], edx
004B7A74 |. 895424 3C mov dword ptr [esp+3C], edx
004B7A78 |. E8 934CFFFF call 004AC710
004B7A7D |. 83C4 14 add esp, 14
004B7A80 |. 85C0 test eax, eax
004B7A82 |. 74 0F je short 004B7A93
004B7A84 |. 8B46 04 mov eax, dword ptr [esi+4]
004B7A87 |. 8D5424 28 lea edx, dword ptr [esp+28]
004B7A8B |. 52 push edx ; /pWinplacement
004B7A8C |. 50 push eax ; |hWnd
004B7A8D |. FF15 14A84D00 call dword ptr [<&USER32.SetWindowPla>; \SetWindowPlacement
004B7A93 |> 8D4C24 10 lea ecx, dword ptr [esp+10]
004B7A97 |. 68 01000080 push 80000001
004B7A9C |. 51 push ecx
004B7A9D |. 33FF xor edi, edi
004B7A9F |. 68 9CBC4F00 push 004FBC9C ; UNICODE "FullScreen"
004B7AA4 |. 68 E4E74E00 push 004EE7E4 ; UNICODE "Wnd"
004B7AA9 |. 897C24 20 mov dword ptr [esp+20], edi
004B7AAD |. E8 4E52FFFF call 004ACD00
004B7AB2 |. 83C4 10 add esp, 10
004B7AB5 |. 85C0 test eax, eax
004B7AB7 |. 74 0D je short 004B7AC6
004B7AB9 |. 397C24 10 cmp dword ptr [esp+10], edi
004B7ABD |. 74 07 je short 004B7AC6
004B7ABF |. 8B16 mov edx, dword ptr [esi]
004B7AC1 |. 8BCE mov ecx, esi
004B7AC3 |. FF52 10 call dword ptr [edx+10]
004B7AC6 |> 8BCE mov ecx, esi
004B7AC8 |. E8 C31A0000 call 004B9590
004B7ACD |. 8B46 04 mov eax, dword ptr [esi+4]
004B7AD0 |. 89BE C04A0000 mov dword ptr [esi+4AC0], edi
004B7AD6 |. 5F pop edi
004B7AD7 |. 5E pop esi
004B7AD8 |. 5D pop ebp
004B7AD9 |. 5B pop ebx
004B7ADA |. 83C4 44 add esp, 44
004B7ADD \. C2 0C00 retn 0C
004B7AE0 /$ 83EC 10 sub esp, 10
004B7AE3 |. 53 push ebx
004B7AE4 |. 55 push ebp
004B7AE5 |. 56 push esi
004B7AE6 |. 8BF1 mov esi, ecx
004B7AE8 |. 57 push edi
004B7AE9 |. 8B06 mov eax, dword ptr [esi]
004B7AEB |. FF50 14 call dword ptr [eax+14]
004B7AEE |. 8B16 mov edx, dword ptr [esi]
004B7AF0 |. 8BCE mov ecx, esi
004B7AF2 |. FF52 30 call dword ptr [edx+30]
004B7AF5 |. 8B7C24 24 mov edi, dword ptr [esp+24]
004B7AF9 |. 8D4424 10 lea eax, dword ptr [esp+10]
004B7AFD |. 50 push eax ; /pRect
004B7AFE |. 57 push edi ; |hWnd
004B7AFF |. 897E 04 mov dword ptr [esi+4], edi ; |
004B7B02 |. FF15 E0A64D00 call dword ptr [<&USER32.GetClientRec>; \GetClientRect
004B7B08 |. 8B4C24 14 mov ecx, dword ptr [esp+14]
004B7B0C |. 8B96 A44D0000 mov edx, dword ptr [esi+4DA4]
004B7B12 |. 83C1 28 add ecx, 28
004B7B15 |. 8D5E 2C lea ebx, dword ptr [esi+2C]
004B7B18 |. 894C24 1C mov dword ptr [esp+1C], ecx
004B7B1C |. 52 push edx
004B7B1D |. 8BCB mov ecx, ebx
004B7B1F |. E8 4C8A0000 call 004C0570
004B7B24 |. 56 push esi ; /Arg4
004B7B25 |. 6A 00 push 0 ; |Arg3 = 00000000
004B7B27 |. 68 E5030000 push 3E5 ; |Arg2 = 000003E5
004B7B2C |. 57 push edi ; |Arg1
004B7B2D |. 8D8E 58360000 lea ecx, dword ptr [esi+3658] ; |
004B7B33 |. E8 78300000 call 004BABB0 ; \TheWorld.004BABB0
004B7B38 |. 8B86 8C4D0000 mov eax, dword ptr [esi+4D8C]
004B7B3E |. 8DAE AC150000 lea ebp, dword ptr [esi+15AC]
004B7B44 |. 50 push eax ; /Arg3
004B7B45 |. 68 E4030000 push 3E4 ; |Arg2 = 000003E4
004B7B4A |. 57 push edi ; |Arg1
004B7B4B |. 8BCD mov ecx, ebp ; |
004B7B4D |. 896C24 30 mov dword ptr [esp+30], ebp ; |
004B7B51 |. E8 9A950000 call 004C10F0 ; \TheWorld.004C10F0
004B7B56 |. 68 00044F00 push 004F0400 ; /Arg4 = 004F0400
004B7B5B |. 8D4C24 14 lea ecx, dword ptr [esp+14] ; |
004B7B5F |. 68 E3030000 push 3E3 ; |Arg3 = 000003E3
004B7B64 |. 51 push ecx ; |Arg2
004B7B65 |. 57 push edi ; |Arg1
004B7B66 |. 8BCB mov ecx, ebx ; |
004B7B68 |. E8 13720000 call 004BED80 ; \TheWorld.004BED80
004B7B6D |. 8B86 A44D0000 mov eax, dword ptr [esi+4DA4]
004B7B73 |. 85C0 test eax, eax
004B7B75 |. 74 7E je short 004B7BF5
004B7B77 |. 8B56 04 mov edx, dword ptr [esi+4]
004B7B7A |. 6A 00 push 0 ; /Arg8 = 00000000
004B7B7C |. 6A 01 push 1 ; |Arg7 = 00000001
004B7B7E |. 6A 00 push 0 ; |Arg6 = 00000000
004B7B80 |. 6A 00 push 0 ; |Arg5 = 00000000
004B7B82 |. 68 E7030000 push 3E7 ; |Arg4 = 000003E7
004B7B87 |. 8DAE 9C360000 lea ebp, dword ptr [esi+369C] ; |
004B7B8D |. 52 push edx ; |Arg3
004B7B8E |. 57 push edi ; |Arg2
004B7B8F |. 68 F8BC4F00 push 004FBCF8 ; |Arg1 = 004FBCF8
004B7B94 |. 8BCD mov ecx, ebp ; |
004B7B96 |. E8 A5440100 call 004CC040 ; \TheWorld.004CC040
004B7B9B |. 8B46 04 mov eax, dword ptr [esi+4]
004B7B9E |. 6A 00 push 0 ; /Arg5 = 00000000
004B7BA0 |. 6A 00 push 0 ; |Arg4 = 00000000
004B7BA2 |. 68 E6030000 push 3E6 ; |Arg3 = 000003E6
004B7BA7 |. 50 push eax ; |Arg2
004B7BA8 |. 8D8E 3C3D0000 lea ecx, dword ptr [esi+3D3C] ; |
004B7BAE |. 57 push edi ; |Arg1
004B7BAF |. E8 8CEA0000 call 004C6640 ; \TheWorld.004C6640
004B7BB4 |. 8B8E A84D0000 mov ecx, dword ptr [esi+4DA8]
004B7BBA |. 68 00010000 push 100
004B7BBF |. 51 push ecx
004B7BC0 |. 6A 0A push 0A
004B7BC2 68 C8000000 push 0C8 ;■■■■■■■■■■■■■■■■■■■■■■■■■■所需修改之处
004B7BC7 |. 6A 0A push 0A
004B7BC9 |. 55 push ebp
004B7BCA |. 8BCB mov ecx, ebx
004B7BCC |. E8 AF720000 call 004BEE80
004B7BD1 |. 8B96 A84D0000 mov edx, dword ptr [esi+4DA8]
004B7BD7 |. 68 02010000 push 102
004B7BDC |. 52 push edx
004B7BDD |. 6A 35 push 35
004B7BDF |. 6A 35 push 35
004B7BE1 |. 8D86 3C3D0000 lea eax, dword ptr [esi+3D3C]
004B7BE7 |. 6A 35 push 35
004B7BE9 |. 50 push eax
004B7BEA |. 8BCB mov ecx, ebx
004B7BEC |. E8 8F720000 call 004BEE80
004B7BF1 |. 8B6C24 24 mov ebp, dword ptr [esp+24]
004B7BF5 |> 68 E4BC4F00 push 004FBCE4 ; /Arg4 = 004FBCE4
004B7BFA |. 8D4424 14 lea eax, dword ptr [esp+14] ; |
004B7BFE |. 68 E2030000 push 3E2 ; |Arg3 = 000003E2
004B7C03 |. 50 push eax ; |Arg2
004B7C04 |. 57 push edi ; |Arg1
004B7C05 |. 8D8E EC0A0000 lea ecx, dword ptr [esi+AEC] ; |
004B7C0B |. E8 70710000 call 004BED80 ; \TheWorld.004BED80
004B7C10 |. 8B86 D44A0000 mov eax, dword ptr [esi+4AD4]
004B7C16 |. 85C0 test eax, eax
004B7C18 |. 75 07 jnz short 004B7C21
004B7C1A |. 8BCD mov ecx, ebp
004B7C1C |. E8 CFBB0000 call 004C37F0
004B7C21 |> 5F pop edi
004B7C22 |. 5E pop esi
004B7C23 |. 5D pop ebp
004B7C24 |. 5B pop ebx
004B7C25 |. 83C4 10 add esp, 10
004B7C28 \. C2 0400 retn 4
[/code] 修改后的标题栏效果: 之前之后有什么变化吗,能不能截图对比一下 哇 太感谢你了! 这个我想要很久了,早就就得那个地方占地方,想去掉呢。 呵呵。 楼主,你不能能教教我怎么把那个标题栏去掉? [i=s] 本帖最后由 小絮 于 2009-7-27 15:36 编辑 [/i]
附我修改后的2.4.1.2的exe文件
标题宽度一个是350,一个是20(只能看见图标) 厄,这个,提供修改过的tw下载不是很好吧?tw是款免费使用,用户虽然可以免费使用但不能随意对其进行反编译修改,更不能将修改的版本向外发布,这种行为是不道德的,也是论坛禁止的。
楼主修改自用可以,就不要发布了,至于想要这种效果的其他朋友,可以按楼主帖子中的方法自己修改或通过留下邮箱地址的方式向楼主索求。 [i=s] 本帖最后由 ntmywzc 于 2009-7-27 19:06 编辑 [/i]
:angry:
问题是多人开发的一个1.5M不到的EXE程序,连一个标题栏宽度的设置都没有,实在太不应该!多加这个参数,编程时间应该在一小时内就写好的了!
TMD就是一个小时之内就写出来的功能都不更新,才让我动用OD反编译去修改!
如果我是此程序的开发者或者我拿到源代码的话,就加一个参数应该十几分钟就写好程序了! **** 作者被禁止或删除 内容自动屏蔽 **** 好了,感谢各位,我已经搞定了,早就看着那个标题栏不顺眼了,已经把它干掉了,现在界面又更加清爽啦。 我喜欢标题栏的Aero效果,使用多功能标题栏,在Windows7中就没有Aero效果了哦 突发奇想,既然反编译了,不如顺便修改成为“山寨之窗”浏览器如何?!呵呵! LZ这张表列的不错 写了个专门修改标题栏宽度的补丁程序!
唉~~TMD开发组都要放弃2.0了,太不负责任了!
[attach]74517[/attach] [b] [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=973780&ptid=102891]15#[/url] [i]ntmywzc[/i] [/b]
木效果啊 [quote] 15# ntmywzc
木效果啊
[size=2][color=#999999]大梦春秋 发表于 2009-7-31 11:23[/color] [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=973812&ptid=102891][img]http://bbs.ioage.com/cn/images/common/back.gif[/img][/url][/size][/quote]
把收藏栏移到标题栏上面去就应该有效果了。 [b] [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=973837&ptid=102891]17#[/url] [i]ntmywzc[/i] [/b]
确实!收藏了
[color=#ffffff]PS:这个东西在论坛上留不住的[/color] 呵呵,lz辛苦了,好久就想修理一下tw了,能否把標題放中間啊?
哈 哈 ~~tw,看我今天晚上怎麼修理你![twfaceM006] 我是使用pixos主题的,标题正好就是放在中间,比较好看。 [quote]这个私聊我吧,qq 12033447, 我来教你怎么改。
[size=2][color=#999999]tjmzq 发表于 2009-7-27 21:41[/color] [url=http://bbs.ioage.com/cn/redirect.php?goto=findpost&pid=968981&ptid=102891][img]http://bbs.ioage.com/cn/images/common/back.gif[/img][/url][/size][/quote]
教教我,我想加几个功能 太伟大了...........谢谢!
页:
[1]