修改奇迹韩版1.00.22的Main不用DLL完美实现窗口化

目标:韩版1.00.v版本的Main.exe
目的:不用DLL实现窗口化,解决失去焦点全屏的问题
工具:Ollydbg

曾经有人发布过改法,不过还需要用DLL,我最近也试着修改Main实现窗口化,终于修改成功了,不再需要DLL,所以就发布出来让大家看看,骂人的就免了.

由于韩版的Main都是带有NP,如果单是改窗口化,必定报错,无法运行游戏,首先我们先去掉NP,先说说去NP的方法,我改的方法很简单,只改两处,请看下面:
1.

004A2F09   |. /74 29         je short 004A2F34
改成
004A2F09   . /EB 29         jmp short 004A2F34

2.

004A2F61   |. /0F85 A5000000     jnz 004A300C
改成
004A2F61   . /E9 A6000000     jmp 004A300C
004A2F66     |90           nop

现在我们开始改窗口化,共有3处:
1.跳过更新分辨率

004A31DA   |. /0F8D C2000000     |jge 004A32A2

改成 
jmp 004A32A2
nop ;这个不能少

2.改窗口样式
从004A1E58重写代码

004A1E58   |. 83C1 22         add ecx,22
004A1E5B   |. 83C2 08         add edx,8
004A1E5E   |. 6A 00         push 0                 ; /lParam = NULL
004A1E60   |. 56           push esi                 ; |hInst
004A1E61   |. 6A 00         push 0                 ; |hMenu = NULL
004A1E63   |. 6A 00         push 0                 ; |hParent = NULL
004A1E65   |. 51           push ecx                 ; |Height
004A1E66   |. 52           push edx                 ; |Width
004A1E67   |. 6A 00         push 0                 ; |Y = 0
004A1E69   |. 6A 00         push 0                 ; |X = 0
004A1E6B   |. 68 0000CC02     push 02CC0000             ; |Style = 

WS_OVERLAPPED|WS_CLIPCHILDREN|WS_SYSMENU|WS_THICKFRAME|WS_CAPTION
004A1E70   |. 68 DC5A6600     push     00665ADC         ; |WindowName = "MU"
004A1E75   |. 68 DC5A6600     push     00665ADC         ; |Class = "MU"
004A1E7A   |. 6A 00         push 0                 ; |ExtStyle = 0
004A1E7C   |. FF15 E8746500     call dword ptr ds:[6574E8]     ; /CreateWindowExA
004A1E82   |. 5E           pop esi
004A1E83   |. 8BE5           mov esp,ebp
004A1E85   |. 5D           pop ebp
004A1E86   /. C3           retn

这个可以根据个人爱好更改,我这里调整了窗口大小,如果想居中可以想办法加上代码

3.过滤消息
这个很重要,以前他们解决不了失去焦点全屏的就因为这个地方没有改

004A6C41   |> /8B15 9CBE6E05     |mov edx,dword ptr ds:[56EBE9C]

改成 
004A6C41   > /E9 EF040000     jmp main_win.004A7135
004A6C46     90           nop
 

本文属 fly2sky 与 C.MG 版权所有,做人要厚道,转载请注明来自C.MG(www.MG173.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值