首页
社区
课程
招聘
询问修改OD子窗口大小的方法[如何永久指定程序打开后的窗口大小]
发表于: 2009-1-22 17:24 8774

询问修改OD子窗口大小的方法[如何永久指定程序打开后的窗口大小]

2009-1-22 17:24
8774
大家好,很高兴能成为看雪论坛的一员,这里真是高手如云,还有一些热心的版主。还有,就是谢谢“书呆彭”,祝你们牛年交好运,看雪才人越来越多。下面说下我的问题,一个小问题。
    如何指定所要修改软件打开窗口的大小:
    有的软件一打开就是最大化或最小化的,虽说每次用鼠标或其他窗口修改软件可以调整。但是下次打开又要执行相同操作。有没有方法永久指定它打开后的窗口大小。
     比如每次指定以640X480大小打开,使用过Sizer,可以指定软件窗口大小,但不能永久固定。刚下载了OllyDbg 汇编及分析调试器,这个可以通过反汇编地方法修改达到目的么?
    有人说是修改CreateWindow()参数,后来他就消失了,谁能具体点举个例子吗?就修改OD的CPU窗口大小。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
2
你自己查一下CreateWindowEx的手册,把每个参数搞清楚,然后按自己的意思修改。

如果连API手册都不会看,那真得狠狠补一补基础了。
2009-1-22 22:51
0
雪    币: 173
活跃值: (807)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
      我是直接对CreateWindowEx下断的,堆栈中反汇编窗口跟随来到下面的代码段:
00435E5A   .  68 0000CF02   push 2CF0000                             ; |Style = WS_OVERLAPPED|WS_MINIMIZEBOX|WS_MAXIMIZEBOX|WS_CLIPCHILDREN|WS_SYSMENU|WS_THICKFRAME|WS_CAPTION
00435E5F   .  52            push edx                                 ; |WindowName => "☆终结者☆"
00435E60   .  51            push ecx                                 ; |Class
00435E61   .  6A 10         push 10                                  ; |ExtStyle = WS_EX_ACCEPTFILES
[COLOR="Red"]00435E63   .  E8 34950700   call <jmp.&USER32.CreateWindowExA>       ; \CreateWindowExA[/COLOR]
00435E68   .  A3 7C3B4D00   mov dword ptr ds:[4D3B7C],eax
00435E6D   .  833D 7C3B4D00>cmp dword ptr ds:[4D3B7C],0
00435E74   .  75 21         jnz short OD加强版.00435E97
00435E76   .  68 10200000   push 2010                                ; /Style = MB_OK|MB_ICONHAND|MB_TASKMODAL
00435E7B   .  8D86 08180000 lea eax,dword ptr ds:[esi+1808]          ; |
00435E81   .  50            push eax                                 ; |Title
00435E82   .  8D96 3A180000 lea edx,dword ptr ds:[esi+183A]          ; |
00435E88   .  52            push edx                                 ; |Text
00435E89   .  6A 00         push 0                                   ; |hOwner = NULL
00435E8B   .  E8 86960700   call <jmp.&USER32.MessageBoxA>           ; \MessageBoxA
00435E90   .  33C0          xor eax,eax
00435E92   .  E9 9E590000   jmp OD加强版.0043B835
00435E97   >  837D DC 00    cmp dword ptr ss:[ebp-24],0
00435E9B   .  74 10         je short OD加强版.00435EAD
00435E9D   .  6A 03         push 3                                   ; /ShowState = SW_SHOWMAXIMIZED
00435E9F   .  8B15 7C3B4D00 mov edx,dword ptr ds:[4D3B7C]            ; |
00435EA5   .  52            push edx                                 ; |hWnd => NULL
00435EA6   .  E8 25970700   call <jmp.&USER32.ShowWindow>            ; \ShowWindow
00435EAB   .  EB 0E         jmp short OD加强版.00435EBB
00435EAD   >  6A 09         push 9                                   ; /ShowState = SW_RESTORE
00435EAF   .  8B0D 7C3B4D00 mov ecx,dword ptr ds:[4D3B7C]            ; |
00435EB5   .  51            push ecx                                 ; |hWnd => NULL
00435EB6   .  E8 15970700   call <jmp.&USER32.ShowWindow>            ; \ShowWindow

      我知道一般情况下打开其他窗口,CPU子窗口会自动变小,要能修改成不自动变化就好了,比如初始化状态为最大化,在我没点关闭或者最小化的情况下,打开其他窗口,CPU窗口不变化;如果我点击了中等化CPU窗口大小,它就永远是中等化窗口大小。
    接下来不知道怎么做!
2009-1-23 13:20
0
雪    币: 173
活跃值: (807)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
这个帖子就不需要回复了,手动让它最大化,然后关闭OD重新开就是最大化了;
如果打开其他窗口,CPU窗口就缩小,那是因为你打开的其他窗口不是最大化的;
CPU最大化,不可能再显示其他窗口的。
2009-1-23 16:31
0
游客
登录 | 注册 方可回帖
返回
//