PDA

View Full Version : Fix para Potion Bug, Party Zen e PK Bug



Mentor
16/09/2014, 08:41 PM
Esse tutorial é antigo e baseado em um GameServer 1.00.16. Assim, todos os offsets desse tutorial são dessa versão de GS. Mas o princípio e os passos poderão ser usados em qualquer versão de GS (sendo que os offsets são diferentes), desde que ele não esteja packeado. Os offsets desse tutorial são são da versão beta 33 do Luciano Aibar.


Fix PK Bug - GS normal

1 - Abra o GS no Olly e procure o offset


00427A71 |. C785 48FFFFFF >|MOV DWORD PTR SS:[EBP-B8],40400000


2 - Clique com o botão direito nesse offset e selecione a opção Binary -> Fill with NOPs. Ficará então como mostrado abaixo.



00427A71 |. 90 |NOP
00427A72 |. 90 |NOP
00427A73 |. 90 |NOP
00427A74 |. 90 |NOP
00427A75 |. 90 |NOP
00427A76 |. 90 |NOP
00427A77 |. 90 |NOP
00427A78 |. 90 |NOP
00427A79 |. 90 |NOP
00427A7A |. 90 |NOP


3 - Com o botão direito, selecione a opção Copy to Executable -> All modifications.


4 - Clique em Copy all na janela que vai aparecer. Nessa janela, com o botão direito selecione Save File. E salve o arquivo.


5 - Abra novamente o GS normal e procure pelo offset 004CD0FF.


004CD0FF |. C785 68FFFFFF >|MOV DWORD PTR SS:[EBP-98],3F800000


6 - Clique com o botão direito nesse offset e selecione a opção Binary -> Fill with NOPs. Ficará então como mostrado abaixo.



004CD0FF |. 90 |NOP
004CD100 |. 90 |NOP
004CD101 |. 90 |NOP
004CD102 |. 90 |NOP
004CD103 |. 90 |NOP
004CD104 |. 90 |NOP
004CD105 |. 90 |NOP
004CD106 |. 90 |NOP
004CD107 |. 90 |NOP
004CD108 |. 90 |NOP


7 - Com o botão direito, selecione a opção Copy to Executable -> All modifications.


8 - Clique em Copy all na janela que vai aparecer. Nessa janela, com o botão direito selecione Save File. E salve o arquivo.


Fix PK Bug - GS-CS


1 - Abra o GS-CS no Olly e procure o offset


00429401 |. C785 48FFFFFF >|MOV DWORD PTR SS:[EBP-B8],40400000


2 - Clique com o botão direito nesse offset e selecione a opção Binary -> Fill with NOPs. Ficará então como mostrado abaixo.



00429401 |. 90 |NOP
00429402 |. 90 |NOP
00429403 |. 90 |NOP
00429404 |. 90 |NOP
00429405 |. 90 |NOP
00429406 |. 90 |NOP
00429407 |. 90 |NOP
00429408 |. 90 |NOP
00429409 |. 90 |NOP
0042940A |. 90 |NOP


3 - Com o botão direito, selecione a opção Copy to Executable -> All modifications.


4 - Clique em Copy all na janela que vai aparecer. Nessa janela, com o botão direito selecione Save File. E salve o arquivo.


5 - Abra novamente o GameServer e procure pelo offset 004DE9DF.


004DE9DF |. C785 68FFFFFF 0000803F |MOV DWORD PTR SS:[EBP-98],3F800000


6 - Clique com o botão direito nesse offset e selecione a opção Binary -> Fill with NOPs. Ficará então como mostrado abaixo.



004DE9DF |. 90 |NOP
004DE9E0 |. 90 |NOP
004DE9E1 |. 90 |NOP
004DE9E2 |. 90 |NOP
004DE9E3 |. 90 |NOP
004DE9E4 |. 90 |NOP
004DE9E5 |. 90 |NOP
004DE9E6 |. 90 |NOP
004DE9E7 |. 90 |NOP
004DE9E8 |. 90 |NOP


7 - Com o botão direito, selecione a opção Copy to Executable -> All modifications.


8 - Clique em Copy all na janela que vai aparecer. Nessa janela, com o botão direito selecione Save File. E salve o arquivo.


Fix Potion Bug e Party Zen Bug - GS-CS


1 - Abra o GS-CS e procure pelo offset 004DE98E:


004DE98E |. C785 68FFFFFF >|MOV DWORD PTR SS:[EBP-98],40400000


2 - Clique com o botão direito nesse offset e selecione a opção Binary -> Fill with NOPs. Ficará então como mostrado abaixo.



004DE98E |. 90 |NOP
004DE98F |. 90 |NOP
004DE990 |. 90 |NOP
004DE991 |. 90 |NOP
004DE992 |. 90 |NOP
004DE993 |. 90 |NOP
004DE994 |. 90 |NOP
004DE995 |. 90 |NOP
004DE996 |. 90 |NOP
004DE997 |. 90 |NOP


3 - Com o botão direito, selecione a opção Copy to Executable -> All modifications.


4 - Clique em Copy all na janela que vai aparecer. Nessa janela, com o botão direito selecione Save File. E salve o arquivo.


5 - Abra novamente o GS-CS e procure pelo offset 004EF560



004EF560 |. 83C4 14 |ADD ESP,14
004EF563 |>^E9 C1FDFFFF \JMP gameserv.004EF329
004EF568 |> 5F POP EDI
004EF569 |. 5E POP ESI
004EF56A |. 5B POP EBX
004EF56B |. 8BE5 MOV ESP,EBP
004EF56D |. 5D POP EBP
004EF56E \. C3 RETN


6 - Clique então duas vezes no primeiro offset e cole as "strings" seguindo a seqüência abaixo:



004EF560 |. 83C4 14 |ADD ESP,14
004EF563 |>^E9 C1FDFFFF \JMP gameserv.004EF329
004EF568 |> 8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C]
004EF56B |. 33C0 XOR EAX,EAX
004EF56D |. 8A41 64 MOV AL,BYTE PTR DS:[ECX+64]
004EF570 |. 83F8 02 CMP EAX,2
004EF573 |. 74 05 JE SHORT gameserv.004EF57A
004EF575 |. 83F8 03 CMP EAX,3
004EF578 |. 75 20 JNZ SHORT gameserv.004EF59A
004EF57A |> 8B91 B4000000 MOV EDX,DWORD PTR DS:[ECX+0B4]
004EF580 |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX
004EF583 |. DB45 F8 FILD DWORD PTR SS:[EBP-8]
004EF586 |. D80D F8E27000 FMUL DWORD PTR DS:[70E2F8]
004EF58C |. E8 6B450C00 CALL gameserv.005B3AFC
004EF591 |. 8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C]
004EF594 |. 8981 B4000000 MOV DWORD PTR DS:[ECX+0B4],EAX
004EF59A |> 5F POP EDI
004EF59B |. 5E POP ESI
004EF59C |. 5B POP EBX
004EF59D |. 8BE5 MOV ESP,EBP
004EF59F |. 5D POP EBP
004EF5A0 \. C3 RETN

7 - Com o botão direito, selecione a opção Copy to Executable -> All modifications.


8 - Clique em Copy all na janela que vai aparecer. Nessa janela, com o botão direito selecione Save File. E salve o arquivo.


Fix Potion Bug e Party Zen Bug - GS-normal


1 - Abra o GS normal e procure pelo offset 004CD0AE:


004CD0AE |. C785 68FFFFFF >|MOV DWORD PTR SS:[EBP-98],40400000


2 - Clique com o botão direito nesse offset e selecione a opção Binary -> Fill with NOPs. Ficará então como mostrado abaixo.



004CD0AE |. 90 |NOP
004CD0AF |. 90 |NOP
004CD0B0 |. 90 |NOP
004CD0B1 |. 90 |NOP
004CD0B2 |. 90 |NOP
004CD0B3 |. 90 |NOP
004CD0B4 |. 90 |NOP
004CD0B5 |. 90 |NOP
004CD0B6 |. 90 |NOP
004CD0B7 |. 90 |NOP


3 - Com o botão direito, selecione a opção Copy to Executable -> All modifications.


4 - Clique em Copy all na janela que vai aparecer. Nessa janela, com o botão direito selecione Save File. E salve o arquivo.


5 - Abra novamente o GS normal e procure pelo offset 004DD310:



004DD310 |. 83C4 14 |ADD ESP,14
004DD313 |>^E9 C1FDFFFF \JMP gameserv.004DD0D9
004DD318 |> 5F POP EDI
004DD319 |. 5E POP ESI
004DD31A |. 5B POP EBX
004DD31B |. 8BE5 MOV ESP,EBP
004DD31D |. 5D POP EBP
004DD31E \. C3 RETN


6 - Clique então duas vezes no primeiro offset e cole as "strings" seguindo a seqüência abaixo:



004DD310 |. 83C4 14 |ADD ESP,14
004DD313 |>^E9 C1FDFFFF \JMP GameServ.004DD0D9
004DD318 |> 8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C]
004DD31B |. 33C0 XOR EAX,EAX
004DD31D |. 8A41 64 MOV AL,BYTE PTR DS:[ECX+64]
004DD320 |. 83F8 02 CMP EAX,2
004DD323 |. 74 05 JE SHORT GameServ.004DD32A
004DD325 |. 83F8 03 CMP EAX,3
004DD328 |. 75 20 JNZ SHORT GameServ.004DD34A
004DD32A |> 8B91 B4000000 MOV EDX,DWORD PTR DS:[ECX+B4]
004DD330 |. 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX
004DD333 |. DB45 F8 FILD DWORD PTR SS:[EBP-8]
004DD336 |. D80D D8816B00 FMUL DWORD PTR DS:[6B81D8]
004DD33C |. E8 6B2F0A00 CALL GameServ.005802AC
004DD341 |. 8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C]
004DD344 |. 8981 B4000000 MOV DWORD PTR DS:[ECX+B4],EAX
004DD34A |> 5F POP EDI
004DD34B |. 5E POP ESI
004DD34C |. 5B POP EBX
004DD34D |. 8BE5 MOV ESP,EBP
004DD34F |. 5D POP EBP
004DD350 \. C3 RETN

7 - Com o botão direito, selecione a opção Copy to Executable -> All modifications.


8 - Clique em Copy all na janela que vai aparecer. Nessa janela, com o botão direito selecione Save File. E salve o arquivo.


créditos:
* Sable por ter postado os GS modificados
* chris05 - DSTeam por ter elaborado o tutorial