首页
社区
课程
招聘
[求助]请VC请手或汇编高手指点.
发表于: 2007-7-1 09:46 3214

[求助]请VC请手或汇编高手指点.

2007-7-1 09:46
3214
有个游戏只能全屏模式,并不支持窗口模式,只要按下ALT+TAB键窗口就会最小化,并出现一个MESSAGEBOX,只要按下确定按钮,游戏就退出了.

这几天我把主程序脱了壳,发现是用VC6编写的.现在有几个问题
1.如何变成窗口模式,
0048FD5A  |.  6A 00         push    0
0048FD5C  |.  EB 20         jmp     short 0048FD7E
0048FD5E  |>  8B35 54435A00 mov     esi, dword ptr [<&user32.GetSyst>; |USER32.GetSystemMetrics
0048FD64  |.  6A 01         push    1                                ; |/Index = SM_CYSCREEN
0048FD66  |.  FFD6          call    esi                              ; |\GetSystemMetrics
0048FD68  |.  50            push    eax                              ; |Height
0048FD69  |.  6A 00         push    0                                ; |/Index = SM_CXSCREEN
0048FD6B  |.  FFD6          call    esi                              ; |\GetSystemMetrics
0048FD6D  |.  50            push    eax                              ; |Width
0048FD6E  |.  8B45 98       mov     eax, dword ptr [ebp-68]          ; |
0048FD71  |.  6A 00         push    0                                ; |Y = 0
0048FD73  |.  6A 00         push    0                                ; |X = 0
0048FD75      68 0000CE00   push    00CE0000
0048FD7A  |.  50            push    eax                              ; |WindowName
0048FD7B  |.  50            push    eax                              ; |Class
0048FD7C      6A 09         push    9
0048FD7E  |>  FF15 58435A00 call    dword ptr [<&user32.CreateWindow>; \CreateWindowExA

我修改了上面的0048FD75语句之后变成了窗口显式模式,但却出现了问题,虽然能移动窗口,但是窗口中的内容却并不随窗口的位置而移动,我想知道如何才能使窗口中的内容也随着窗口的移动而移动.

2.虽然游戏加了窗口之后,把他移开之后能看到其他的窗口,但我想点击其他窗口时当前的游戏窗口又变成了最小化,我想知道的是他是通过检测哪个消息后让他最变成最小化

3.当程序最小化后出现了MESSAGEBOX信息,通过修改,MESSAGEBOX已经不会在出现,但是却无法从最小化恢复窗口,我想知道需要修改哪个API才能让他最大化.

4,虽说程序正常情况下无法最大化,但有几次我发现我只要在任务栏上把游戏窗口乱点又可以恢复窗口,但是屏幕却是什么也没有显示,可是游戏中的音乐人物等好象感觉都是正常的,就是看不到有什么显示而已,想知道如何能把屏幕上的画面恢复.

附件中的可执行文件可以通过OLLD查看代码(但无法执行因没有上传其他文件)
请高手能从代码中看看能不能帮帮小弟忙.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//