29.10.2013, 05:50
Muita gente descuidada deixa roubar "seu precioso" gamemode.
Pois bem, vou mostrar uma tйcnica infalнvel de como proteger o gamemode. A ideia pode ser dificil para captar no comeзo, mas se prestar atenзгo, poderб entender e aplicar nos seus cуdigos
A IDEIA consiste no seguinte truque:
Crie um FILTERSCRIPT que contenha funзхes com nomes estranhos, mas que direcionem para funзхes nativas da samp.
Exemplo:
Basicamente, temos uma funзгo SECRETA, que na verdade chamada Player Health.
Entгo no seu GAMEMODE coloque ao inйs de:
coloque:
o que isto farб? Simples, vai chamar o @@@SECRETAFUNC DO FILTERSCRIPT e alterar a vida do jogador. Porйm tem um detalhe.
O LADRГO QUE ESTБ MEXENDO NO GM
Nгo saberб o que @@@SECRETAFUNC farб, logo ele nгo poderб EDITAR SEU GAMEMODE.
Alйm do mais, o FILTERSCRIPT com a @@@SECRETAFUNC vai se tornar necessбrio para o servidor, pois caso contrбrio o CallRemoteFunction nгo funcionarб! E nenhuma funзгo do GM funcionarб. Portando o ladrгo serб OBRIGADO a carregar o FILTERSCRIPT para poder FUNCIONAR com Gamemode
PORTANTO vocк poderб colocar no OnFilterScriptInit:
Tб Bruno, mas o cara nгo poderб mudar o filterscript?
Sim, poderб! Mas a questгo й o seguinte. Ao lanзar seus cуdigos. Lance A-P-E-N-A-S o .amx do Filterscript. Logo o cara poderб ter acesso ao cуdigo fonte do GM, mas jamais poderб mudar os crйditos, ou atй mesmo abrir em algum IP autorizado.
E Para garantir, logo que terminar o filterscript. APAGUE-O o .pwn do filterscript, ou guarda em algum pen drive para futuras atualizaзхes. Simples nй?
Vocк estб colocando um cуdigo que Й NECESSARIO para o funcionamento do servidor, e se calhar, ninguйm poderб mudar isto.
Vocк pode atй alterar os parametros das funcoes para os hackers nгo entenderem para que serve a funзгo Como, ao inves de AESAJIMUDACOLET(playerid, armour) colocar AESAJIMUDACOLET(armour, player) ou acoplar varias funзхes em uma para enviar mensagem ao mesmo tempo e mudar a vida do jogador. Entre muitas outras coisas ou colocar mais parametros sу para engar:
AESAJIMUDACOLET(armour, 0,0,0,0,0,0, playerid);
A vantagem й:
Sу vocк entenderб seu cуdigo.
Sу vocк modificarб seu cуdigo
Se roubarem o .pwn do gamemode, nгo poderгo mudar os crйditos, ou se vocк quiser, nгo poderгo nem abrir em algum ip, ou nгo poderгo abrir se nгo tiver uma senha colocada
A desvantagem й:
Precisa de acostumar com a nova tipagem do seu cуdigo
O cуdigo nгo ficarб genйrico
CallRemoteFunction deixarб as funзхes um pouco mais lentas
Tudo isto, porque vocк estб interligando funзхes do gamemode, com filterscript. Logo o filterscript й necessбrio para o servidor rodar!
Pois bem, vou mostrar uma tйcnica infalнvel de como proteger o gamemode. A ideia pode ser dificil para captar no comeзo, mas se prestar atenзгo, poderб entender e aplicar nos seus cуdigos
A IDEIA consiste no seguinte truque:
Crie um FILTERSCRIPT que contenha funзхes com nomes estranhos, mas que direcionem para funзхes nativas da samp.
Exemplo:
pawn Код:
@@@SECRETAFUNC(Float:h, id);
public @@@SECRETAFUNC(Float:h, id) return SetPlayerHealth(id, h);
Basicamente, temos uma funзгo SECRETA, que na verdade chamada Player Health.
Entгo no seu GAMEMODE coloque ao inйs de:
pawn Код:
SetPlayerHealth(playerid, 100.0);
coloque:
pawn Код:
CallRemoteFunction("@@@SECRETAFUNC", "fi", 100.0, playerid);
o que isto farб? Simples, vai chamar o @@@SECRETAFUNC DO FILTERSCRIPT e alterar a vida do jogador. Porйm tem um detalhe.
O LADRГO QUE ESTБ MEXENDO NO GM
Nгo saberб o que @@@SECRETAFUNC farб, logo ele nгo poderб EDITAR SEU GAMEMODE.
Alйm do mais, o FILTERSCRIPT com a @@@SECRETAFUNC vai se tornar necessбrio para o servidor, pois caso contrбrio o CallRemoteFunction nгo funcionarб! E nenhuma funзгo do GM funcionarб. Portando o ladrгo serб OBRIGADO a carregar o FILTERSCRIPT para poder FUNCIONAR com Gamemode
PORTANTO vocк poderб colocar no OnFilterScriptInit:
pawn Код:
public OnFilterScriptInit() {
print("ESTE GAMEMODE FOI CRIADO POR BRUNO E VOCE JAMAIS MUDARБ ESSA MENSAGEM");
}
Tб Bruno, mas o cara nгo poderб mudar o filterscript?
Sim, poderб! Mas a questгo й o seguinte. Ao lanзar seus cуdigos. Lance A-P-E-N-A-S o .amx do Filterscript. Logo o cara poderб ter acesso ao cуdigo fonte do GM, mas jamais poderб mudar os crйditos, ou atй mesmo abrir em algum IP autorizado.
E Para garantir, logo que terminar o filterscript. APAGUE-O o .pwn do filterscript, ou guarda em algum pen drive para futuras atualizaзхes. Simples nй?
Vocк estб colocando um cуdigo que Й NECESSARIO para o funcionamento do servidor, e se calhar, ninguйm poderб mudar isto.
Vocк pode atй alterar os parametros das funcoes para os hackers nгo entenderem para que serve a funзгo Como, ao inves de AESAJIMUDACOLET(playerid, armour) colocar AESAJIMUDACOLET(armour, player) ou acoplar varias funзхes em uma para enviar mensagem ao mesmo tempo e mudar a vida do jogador. Entre muitas outras coisas ou colocar mais parametros sу para engar:
AESAJIMUDACOLET(armour, 0,0,0,0,0,0, playerid);
A vantagem й:
Sу vocк entenderб seu cуdigo.
Sу vocк modificarб seu cуdigo
Se roubarem o .pwn do gamemode, nгo poderгo mudar os crйditos, ou se vocк quiser, nгo poderгo nem abrir em algum ip, ou nгo poderгo abrir se nгo tiver uma senha colocada
A desvantagem й:
Precisa de acostumar com a nova tipagem do seu cуdigo
O cуdigo nгo ficarб genйrico
CallRemoteFunction deixarб as funзхes um pouco mais lentas
Tudo isto, porque vocк estб interligando funзхes do gamemode, com filterscript. Logo o filterscript й necessбrio para o servidor rodar!