透過修改EXE,解決新引擎戰前對話被出兵裝備買進賣出四個按鈕蓋住的問題
雖然這四個按鈕可以透過自由R來控制,但是不免有些麻煩,所以我研究了一下解決的辦法,
如此一來,戰前點擊人物時的對話,會先將四個按鈕隱藏,對話結束後才會恢復。
當然修改前建議先備份,否則可能因為修改的失誤造成EXE無法正常運作。
以OllyDBG修改:
紅色代表需要修改的部份
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
00413881 >- E9 D0DC0B00 jmp 004D1556 ;跳轉到有空間的地方即可 #1
00413886 90 nop
00413887 90 nop
00413888 90 nop
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
0041389C .- E9 D8DC0B00 jmp 004D1579 ;跳轉到有空間的地方即可 #2
004138A1 > 8B85 ECFBFFFF mov eax, dword ptr [ebp-414]
00419E9D /74 11 je short 00419EB0 ;這個會影響那四個按鈕的出現速度
跳轉後的內容
#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
#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
以UltraEdit修改:
岱瀛版
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上測試成功。
[ 本帖最后由 obin 于 2008-7-24 18:55 编辑 ]
|