[原创]植物大战僵尸 修改版
补充一下我的简单方法不用NOP 直接在头修改为 retn
第五步 游戏暂停功能突破
004502C0 /$ 55 push ebp 《《《------------------这里 retn
004502C1 |. 8BEC mov ebp, esp
004502C3 |. 83E4 F8 and esp, FFFFFFF8
004502C6 64:A1 0000000>mov eax, dword ptr fs:[0]
004502CC 6A FF push -1
004502CE 68 88DF6400 push 0064DF88
004502D3 50 push eax
004502D4 64:8925 00000>mov dword ptr fs:[0], esp
004502DB 83EC 58 sub esp, 58
004502DE 53 push ebx
004502DF 56 push esi
004502E0 8BF1 mov esi, ecx
004502E2 57 push edi
004502E3 8BBE 68070000 mov edi, dword ptr [esi+768]
004502E9 33DB xor ebx, ebx
004502EB 80BF 64010000>cmp byte ptr [edi+164], 1
004502F2 74 4B je short 0045033F
004502F4 8B87 8C000000 mov eax, dword ptr [edi+8C]
004502FA C687 64010000>mov byte ptr [edi+164], 1
00450301 8B88 2C080000 mov ecx, dword ptr [eax+82C]
00450307 3959 28 cmp dword ptr [ecx+28], ebx
0045030A 7E 0A jle short 00450316
0045030C C787 F4550000>mov dword ptr [edi+55F4], 3E8
00450316 83B8 FC070000>cmp dword ptr [eax+7FC], 2
0045031D 74 20 je short 0045033F
0045031F 8B80 84070000 mov eax, dword ptr [eax+784]
00450325 6A 01 push 1
00450327 E8 A44F0C00 call 005152D0
0045032C 8B97 8C000000 mov edx, dword ptr [edi+8C]
00450332 8BBA 3C080000 mov edi, dword ptr [edx+83C]
00450338 6A 01 push 1
0045033A E8 F1B50000 call 0045B930
0045033F 6A 0B push 0B
00450341 BF 0F000000 mov edi, 0F
00450346 68 78756600 push 00667578 ; 返回游戏
0045034B 8D4C24 4C lea ecx, dword ptr [esp+4C]
0045034F 897C24 64 mov dword ptr [esp+64], edi
00450353 895C24 60 mov dword ptr [esp+60], ebx
00450357 885C24 50 mov byte ptr [esp+50], bl
0045035B E8 D03FFBFF call 00404330
00450360 895C24 6C mov dword ptr [esp+6C], ebx
00450364 6A 14 push 14
00450366 68 84756600 push 00667584 ; 点击返回游戏
0045036B 8D4C24 30 lea ecx, dword ptr [esp+30]
0045036F 897C24 48 mov dword ptr [esp+48], edi
00450373 895C24 44 mov dword ptr [esp+44], ebx
00450377 885C24 34 mov byte ptr [esp+34], bl
0045037B E8 B03FFBFF call 00404330
00450380 C64424 6C 01 mov byte ptr [esp+6C], 1
00450385 6A 0B push 0B
00450387 68 9C756600 push 0066759C ; 游戏暂停
0045038C 8D4C24 14 lea ecx, dword ptr [esp+14]
00450390 897C24 2C mov dword ptr [esp+2C], edi
00450394 895C24 28 mov dword ptr [esp+28], ebx
00450398 885C24 18 mov byte ptr [esp+18], bl
0045039C E8 8F3FFBFF call 00404330
004503A1 6A 03 push 3
004503A3 8D4C24 48 lea ecx, dword ptr [esp+48]
004503A7 51 push ecx
004503A8 8D5424 30 lea edx, dword ptr [esp+30]
004503AC 52 push edx
004503AD 8D4C24 18 lea ecx, dword ptr [esp+18]
004503B1 51 push ecx
004503B2 C64424 7C 02 mov byte ptr [esp+7C], 2
004503B7 8B06 mov eax, dword ptr [esi]
004503B9 8B90 20010000 mov edx, dword ptr [eax+120]
004503BF 6A 01 push 1
004503C1 6A 13 push 13
004503C3 8BCE mov ecx, esi
004503C5 FFD2 call edx
004503C7 837C24 24 10 cmp dword ptr [esp+24], 10
004503CC 8BF0 mov esi, eax
004503CE 72 0D jb short 004503DD
004503D0 8B4424 10 mov eax, dword ptr [esp+10]
004503D4 50 push eax
004503D5 E8 C0BD1C00 call 0061C19A
004503DA 83C4 04 add esp, 4
004503DD 837C24 40 10 cmp dword ptr [esp+40], 10
004503E2 897C24 24 mov dword ptr [esp+24], edi
004503E6 895C24 20 mov dword ptr [esp+20], ebx
004503EA 885C24 10 mov byte ptr [esp+10], bl
004503EE 72 0D jb short 004503FD
004503F0 8B4C24 2C mov ecx, dword ptr [esp+2C]
004503F4 51 push ecx
004503F5 E8 A0BD1C00 call 0061C19A
004503FA 83C4 04 add esp, 4
004503FD C74424 6C FFF>mov dword ptr [esp+6C], -1
00450405 837C24 5C 10 cmp dword ptr [esp+5C], 10
0045040A 897C24 40 mov dword ptr [esp+40], edi
0045040E 895C24 3C mov dword ptr [esp+3C], ebx
00450412 885C24 2C mov byte ptr [esp+2C], bl
00450416 72 0D jb short 00450425
00450418 8B5424 48 mov edx, dword ptr [esp+48]
0045041C 52 push edx
0045041D E8 78BD1C00 call 0061C19A
00450422 83C4 04 add esp, 4
00450425 D905 149A6700 fld dword ptr [679A14]
0045042B 83EC 08 sub esp, 8
0045042E D95C24 04 fstp dword ptr [esp+4]
00450432 897C24 64 mov dword ptr [esp+64], edi
00450436 D905 B89A6700 fld dword ptr [679AB8]
0045043C 895C24 60 mov dword ptr [esp+60], ebx
00450440 885C24 50 mov byte ptr [esp+50], bl
00450444 D91C24 fstp dword ptr [esp]
00450447 8B86 58010000 mov eax, dword ptr [esi+158]
0045044D 50 push eax
0045044E E8 2D760000 call 00457A80
00450453 6A 0A push 0A
00450455 53 push ebx
00450456 C786 2C010000>mov dword ptr [esi+12C], 9B
00450460 E8 CB6A0000 call 00456F30
00450465 8B4E 3C mov ecx, dword ptr [esi+3C]
00450468 8B7E 38 mov edi, dword ptr [esi+38]
0045046B 8B1E mov ebx, dword ptr [esi]
0045046D B8 58020000 mov eax, 258
00450472 2BC1 sub eax, ecx
00450474 99 cdq
00450475 2BC2 sub eax, edx
00450477 51 push ecx
00450478 D1F8 sar eax, 1
0045047A 57 push edi
0045047B 50 push eax
0045047C B8 20030000 mov eax, 320
00450481 2BC7 sub eax, edi
00450483 99 cdq
00450484 2BC2 sub eax, edx
00450486 8B93 A0000000 mov edx, dword ptr [ebx+A0]
0045048C D1F8 sar eax, 1
0045048E 50 push eax
0045048F 8BCE mov ecx, esi
00450491 FFD2 call edx
00450493 8B4C24 64 mov ecx, dword ptr [esp+64]
00450497 5F pop edi
00450498 5E pop esi
00450499 64:890D 00000>mov dword ptr fs:[0], ecx
004504A0 5B pop ebx
004504A1 |. 8BE5 mov esp, ebp
004504A3 |. 5D pop ebp ; (initial cpu selection)
004504A4 \. C3 retn