轩辕春秋文化论坛 » 曹操传MOD制作交流 » 透過修改EXE,解決新引擎戰前對話被出兵裝備買進賣出四個按鈕蓋住的問題


2008-7-22 15:08 obin
透過修改EXE,解決新引擎戰前對話被出兵裝備買進賣出四個按鈕蓋住的問題

雖然這四個按鈕可以透過自由R來控制,但是不免有些麻煩,所以我研究了一下解決的辦法,
如此一來,戰前點擊人物時的對話,會先將四個按鈕隱藏,對話結束後才會恢復。
當然修改前建議先備份,否則可能因為修改的失誤造成EXE無法正常運作。

[color=seagreen]以OllyDBG修改:[/color]

[color=red]紅色代表需要修改的部份[/color]
0041386F   .  8B85 ECFBFFFF mov     eax, dword ptr [ebp-414]
00413875   .  25 FFFF0000   and     eax, 0FFFF
0041387A   .  3D FFFF0000   cmp     eax, 0FFFF
0041387F   .  75 20         jnz     short 004138A1
[color=red]00413881   >- E9 D0DC0B00   jmp     004D1556                           ;跳轉到有空間的地方即可  #1
00413886      90            nop
00413887      90            nop
00413888      90            nop[/color]
00413889   .  81E1 FFFF0000 and     ecx, 0FFFF
0041388F   .  51            push    ecx
00413890   .  8D95 F0FBFFFF lea     edx, dword ptr [ebp-410]
00413896   .  52            push    edx
00413897   .  E8 559D0100   call    0042D5F1
[color=red]0041389C   .- E9 D8DC0B00   jmp     004D1579                            ;跳轉到有空間的地方即可  #2[/color]
004138A1   >  8B85 ECFBFFFF mov     eax, dword ptr [ebp-414]

[color=Red]00419E9D     /74 11         je      short 00419EB0                         ;這個會影響那四個按鈕的出現速度[/color]

[color=blue]跳轉後的內容[/color]
[color=red]#1
004D1556    B9 386F4900     mov     ecx, 00496F38
004D155B    33C0            xor     eax, eax
004D155D    8339 00         cmp     dword ptr [ecx], 0
004D1560    75 03           jnz     short 004D1565
004D1562    50              push    eax
004D1563    EB 07           jmp     short 004D156C
004D1565    40              inc     eax
004D1566    50              push    eax
004D1567    E8 768AF4FF     call    00419FE2
004D156C    6A 20           push    20
004D156E    8B8D ECFBFFFF   mov     ecx, dword ptr [ebp-414]
004D1574  - E9 1023F4FF     jmp     00413889[/color]

[color=red]#2
004D1579    83C4 0C         add     esp, 0C
004D157C    58              pop     eax
004D157D    3C 01           cmp     al, 1
004D157F    75 0C           jnz     short 004D158D
004D1581    6A 00           push    0
004D1583    B9 386F4900     mov     ecx, 00496F38
004D1588    E8 9587F4FF     call    00419D22
004D158D  - E9 2C23F4FF     jmp     004138BE[/color]

[color=SeaGreen]以UltraEdit修改:[/color]
岱瀛版
12C81h:E9 D0 DC 0B 00 90 90 90
12C9Ch:E9 D8 DC 0B 00
A2356h:B9 38 6F 49 00 33 C0 83 39 00 75 03 50 EB 07 40 50 E8 76 8A F4 FF 6A 20 8B 8D EC FB FF FF E9 10 23 F4 FF 83 C4 0C 58 3C 01 75 0C 6A 00 B9 38 6F 49 00 E8 95 87 F4 FF E9 2C 23 F4 FF
1929Dh:74

Star175版(感謝godtype提供)
A2956h:B9 38 6F 49 00 33 C0 83 39 00 75 03 50 EB 07 40 50 E8 76 8A F4 FF 6A 20 8B 8D EC FB FF FF E9 10 23 F4 FF 83 C4 0C 58 3C 01 75 14 6A 00 B9 38 6F 49 00 E8 95 87 F4 FF E9 2C 23 F4 FF
1929Dh:74
12C81h:E9 D0 DC 0B 00 90 90 90
12C9Ch:E9 D8 DC 0B 00

註:已在楊家將傳的EXE上測試成功。

[[i] 本帖最后由 obin 于 2008-7-24 18:55 编辑 [/i]]

2008-7-22 20:58 godtype
这个很好啊,我先测试一下。
另外阿斌不如分享一下策略爆击的代码,这个也不错啊。

2008-7-22 21:17 godtype
刚刚测试了一下,但死机了。对话时的确四个按钮都会消失,但马上死机了,用OB追踪死机时是停在
004D158D    C600 01         mov byte ptr [eax], 1
这一段代码上,不知是什么原因。
我用的是STAR175的引擎。

[[i] 本帖最后由 godtype 于 2008-7-22 21:19 编辑 [/i]]

2008-7-22 21:33 obin
回复 #3 godtype 的帖子

謝謝你幫忙測試,我後來發現我多寫了兩行,導致有些exe不適用。
原帖已經改為正確內容了,麻煩請再試一次:)

[[i] 本帖最后由 obin 于 2008-7-22 22:01 编辑 [/i]]

2008-7-22 22:51 godtype
经过简单测试,现在没有问题了。谢谢阿斌的分享了。

[[i] 本帖最后由 godtype 于 2008-7-23 12:11 编辑 [/i]]

2008-7-23 09:50 37610716
:titter: 好东西,技术性东西不会,只会享受成果!:P

2008-7-23 10:20 37610716
对了,还有在买卖东西点“确认”的时候出现的人图像不是真彩的,obin能修改吗?

2008-7-23 10:33 月夜太阳
这个很好啊,我先测试一下。

很好,很强大,可是我不会......

2008-7-23 14:04 xuzhan412
好东西  很值得分享

2008-7-25 00:49 天翼之神
OBIN多帖出来教程之类的, 菜鸟的我需要.

页: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.