Register for your free account! | Forgot your password?

You last visited: Today at 22:39

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[FIX] quest::PC::GetFlag Crash

Discussion on [FIX] quest::PC::GetFlag Crash within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Mar 2015
Posts: 49
Received Thanks: 40
[FIX] quest::PC::GetFlag Crash

Hallo Community,

musste leider in den vergangen Tagen feststellen das es wieder ein Exploit gibt welchen den Game-Core zum Absturz bringt.

In dem BT der game.core findet man meist folgende Zeile quest::PC::GetFlag wo die Instanz ein NullPointer ist.

Um diesen Exploit/Bug zu fixen muesst ihr in der char.cpp nach der folgenden Methode Suche:
PHP Code:
int CHARACTER::GetQuestFlag(const std::stringflag) const 
und schreibt unter der Zeile:
PHP Code:
    quest::PCpPC q.GetPC(GetPlayerID()); 
folgendes:
PHP Code:
    if(!pPC) {
        
sys_err("Nullpointer in CHARACTER::GetQuestFlag %lu"GetPlayerID());
        return 
0;
    } 
Das gleiche macht ihr dann nochmal in der Funktion:
PHP Code:
void CHARACTER::SetQuestFlag(const std::stringflagint value
Damit ist dann dieser Exploit geschlossen.
Ich werde nicht sagen wie man diesen Exploit erzeugt oder durch welche Wege dieser ausgenutzt werden kann.

Gruss
Norri
Norri is offline  
Thanks
21 Users
Old 04/07/2015, 21:47   #2
 
elite*gold: 0
Join Date: Jul 2013
Posts: 334
Received Thanks: 130
Das ist ein Fall fürs C++ Source Archiv, würde ich sagen
methosiea is offline  
Old 04/07/2015, 21:52   #3
 
elite*gold: 5
Join Date: Mar 2015
Posts: 499
Received Thanks: 376
Quote:
Originally Posted by methosiea View Post
Das ist ein Fall fürs C++ Source Archiv, würde ich sagen
Grüsse alle?

btt: gut
KΛIƬӨ is offline  
Thanks
2 Users
Old 04/08/2015, 03:13   #4
 
EULOG1SON's Avatar
 
elite*gold: 0
Join Date: Jun 2013
Posts: 196
Received Thanks: 50
int CHARACTER::GetQuestFlag(const std::string& flag) const
{
quest::CQuestManager& q = quest::CQuestManager::instance();
quest::PC* pPC = q.GetPC(GetPlayerID());
return pPC->GetFlag(flag);
}
EULOG1SON is offline  
Old 04/08/2015, 09:27   #5
 
.Risan.'s Avatar
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
Setzt den flag also quest Befehl einfach außerhalb vom Charakter.. Wieso immer dieses.. Ich sage es nicht...
Bin per Handy online...
.Risan. is offline  
Old 04/08/2015, 14:20   #6
 
elite*gold: 0
Join Date: Jul 2013
Posts: 334
Received Thanks: 130
Quote:
Originally Posted by DYSKaito View Post
Grüsse alle?

btt: gut

Signatur regelt das nun

Zum Thema, werde mal nachfragen, ob man's hinzufügen könnte...
methosiea is offline  
Thanks
1 User
Old 04/12/2015, 03:41   #7
 
elite*gold: 0
Join Date: Mar 2015
Posts: 49
Received Thanks: 40
Es ist auf jeden Fall möglich mit dem entsprechenden Know-How ein Server lahm zu legen damit.
Norri is offline  
Old 04/27/2015, 11:09   #8
 
VIЯUZ's Avatar
 
elite*gold: 6
Join Date: Dec 2009
Posts: 195
Received Thanks: 73
Quote:
Originally Posted by Norri View Post
Das gleiche macht ihr dann nochmal in der Funktion:
PHP Code:
void CHARACTER::SetQuestFlag(const std::stringflagint value
Damit ist dann dieser Exploit geschlossen.
Ich werde nicht sagen wie man diesen Exploit erzeugt oder durch welche Wege dieser ausgenutzt werden kann.

Gruss
Norri
Allerdings kann das gleiche nicht in der Funktion
void CHARACTER::SetQuestFlag verwendet werden, da eine void nichts zurück gibt, deshalb kann man da auch nicht return 0 verwenden.
VIЯUZ is offline  
Thanks
1 User
Old 04/27/2015, 11:10   #9
 
elite*gold: 0
Join Date: Jan 2015
Posts: 308
Received Thanks: 190
Quote:
Originally Posted by VIЯUZ View Post
Allerdings kann das gleiche nicht in der Funktion
void CHARACTER::SetQuestFlag verwendet werden, da eine void nichts zurück gibt, deshalb kann man da auch nicht return 0 verwenden.
Sehe ich auch so
.#Plankton is offline  
Old 04/27/2015, 11:17   #10

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by VIЯUZ View Post
Allerdings kann das gleiche nicht in der Funktion
void CHARACTER::SetQuestFlag verwendet werden, da eine void nichts zurück gibt, deshalb kann man da auch nicht return 0 verwenden.
Einfach die 0 weglassen ( return; statt return 0; ) um die Methode an der Stelle zu verlassen ohne etwas zurückzugeben, sys_err wird ja trotzdem geschrieben
rollback is offline  
Old 04/27/2015, 16:15   #11
 
VIЯUZ's Avatar
 
elite*gold: 6
Join Date: Dec 2009
Posts: 195
Received Thanks: 73
Quote:
Originally Posted by definitely not Sensenmann View Post
Einfach die 0 weglassen ( return; statt return 0; ) um die Methode an der Stelle zu verlassen ohne etwas zurückzugeben, sys_err wird ja trotzdem geschrieben
Genau, hauptsache er führt die andere funktion nicht aus solang die überprüfung zutrifft.
VIЯUZ is offline  
Old 04/27/2015, 19:20   #12
 
elite*gold: 0
Join Date: Mar 2015
Posts: 49
Received Thanks: 40
Bisschen Eigeninitiative ist zu viel verlangt oder?
Norri is offline  
Old 04/28/2015, 18:18   #13
 
VIЯUZ's Avatar
 
elite*gold: 6
Join Date: Dec 2009
Posts: 195
Received Thanks: 73
Quote:
Originally Posted by Norri View Post
Bisschen Eigeninitiative ist zu viel verlangt oder?
Ich wusste es ja, wollt nur andere darauf hinweisen

MfG
VIЯUZ is offline  
Old 04/28/2015, 22:01   #14
Trade Restricted
 
elite*gold: 9
Join Date: Jul 2014
Posts: 818
Received Thanks: 677
Manno Meter sind die Spieler wieder experimentierfreudig. Erst wollen sie NPC's in Gilden einladen und sie nun mit Questflags beschenken... scheinen recht großzügig zu sein unsere Spieler.

Ist der Exploit nicht schon zu Zeiten der 2089er verwendet worden?
grαyfox is offline  
Reply


Similar Threads Similar Threads
CRASH CONQUER Just give us a try Like DROP 4000 Cps More 15 Quest Join Now
08/17/2012 - CO2 PServer Archive - 2 Replies
Welcome All In Server CRASH CONQUER http://img840.imageshack.us/img840/9003/black2h.p ng Features http://im26.gulfup.com/2012-07-14/1342293984401.p ng http://www3.0zz0.com/2012/07/29/03/627471279.gif Max +15 Max Level 200
Character Login Crash : Quest to Fix
01/14/2010 - SRO Private Server - 2 Replies
I have heard of many people having this issue since ecSRO Updates they can no longer log into their characters, I believe this to be related to that item(s) may have been accidently removed from itemdata.txt in the newer files which existed in the last PK2s, but the Server still has record of this and is sending an ID which your client is trying to find but cannot, so crashes. I have chances of finding this error better if someone is willing to lend a character of theirs (whatever level)...



All times are GMT +2. The time now is 22:39.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.