Verifique todos os offsets de outras coisas que você programou, provavelmente tem algum errado, uma vez que o GS 1.00.90 é mais estável que o 1.00.18, não era pra dar esse tipo de erro.
Bem eu estava codando uma season2 GameServer .18
Passei para uma season4.5 GameServer .90, porem ao abrir o GameServer ele trava e depois de um tempo ele fecha e fica com um error tipo: 2010-4-11_22h48m12s.dmp
Peguei os offsets do fixes desse error, porem apos aplicar os fixes, o gameserver abre e fecha rapidamente.
O que pode ser ?
O que tem que fazer a mais neste GS ? ( gs esta puro )
Verifique todos os offsets de outras coisas que você programou, provavelmente tem algum errado, uma vez que o GS 1.00.90 é mais estável que o 1.00.18, não era pra dar esse tipo de erro.
Bem a dll so tem o protocolo.
Ou seja estou iniciando ainda este GS, porem ao deixar assim como esta, ao abrir o gameserver ele abre, trava, fecha e aparece o arquivo .dmpCódigo:#include "StdAfx.h" #include "Fixs.h" #define GS_BASE (0x401000) //=======================Protocolo Phillipines=========================\\ BYTE ProtocolServer(BYTE Tipo) { switch(Tipo) { case 0x1D: return 0xDD; case 0xD6: return 0xDF; case 0xDC: return 0xD6; case 0xD7: return 0x11; } return Tipo; } BYTE ProtocolClient(BYTE Tipo) { switch(Tipo) { case 0xDD: return 0x1D; case 0xDF: return 0xD6; case 0xD6: return 0xDC; case 0x11: return 0xD7; } return Tipo; } //=======================Protocolo Phillipines Fim=========================\\ extern "C" _declspec(dllexport) void GamePlugin() { DWORD OldProtect; if(VirtualProtect(LPVOID(GS_BASE),3543191,PAGE_EXECUTE_READWRITE,&OldProtect)) { Fixs(); _asm { Mov Dword Ptr Ds:[00652800H],Offset ProtocolServer Mov Dword Ptr Ds:[00652804H],Offset ProtocolClient } } else { MessageBoxA(NULL,"Não foi possivel iniciar a dll","GamePlugin.dll",MB_OK); } }
Apos acrescentar o fix do crash .dmp
// Fix Crash Dump File
SetByte(0x004C7041,0xE9); //C
SetByte(0x004C7042,0x2E); //R
SetByte(0x004C7043,0x01); //A
SetByte(0x004C7044,0x00); //S
SetByte(0x004C7045,0x00); //H
SetByte(0x004C7046,0x90); //Dmp
O GameServer abre e fecha rapidamente.
Eu so estou estranhando isso, porque os offsets estao correto ( creio eu )
00406645 . E9 B6090C00 JMP GameServ.004C7000
coloka nop ake que para de gerar o dump!
Me engravida @Renato. Hidden Content
Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)
Marcadores