gül gibi exploit şeysi

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 76

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
son günlerde serverlere girip item dupelayıp serveri crashleyen arkadaştan kurtulmanız için basit fix

isteyen kullansın istemeyende şu bu yazmasın dönemeyecem öptüm

Kod:
int CInputMain::Analyze(LPDESC d, BYTE bHeader, const char * c_pData) {     LPCHARACTER ch;     if (!(ch = d->GetCharacter()))     {         sys_err("no character on desc");         d->SetPhase(PHASE_CLOSE);         return (0);     }     int iExtraLen = 0;     if (test_server && bHeader != HEADER_CG_MOVE)         sys_log(0, "CInputMain::Analyze() ==> Header [%d] ", bHeader);

Kod:
if (ch->GetDesc()->GetPhase() != PHASE_GAME && ch->GetDesc()->GetPhase() != PHASE_DEAD)     {         sys_err("no character in game");         sys_log(0, "no character in game %u %u %u", ch->GetPlayerID(), ch->GetDesc()->GetPhase(), bHeader);         d->SetPhase(PHASE_CLOSE);         return (0);     }

Kod:
bool            IsPhase(int phase) const    { return m_iPhase == phase ? true : false; }

Kod:
int            GetPhase() const    { return m_iPhase; }

Kod:
Program terminated with signal SIGSEGV, Segmentation fault. #0  0x0813869a in CItem::GetSize (this=0x4e0c7680) at item.h:46 46      item.h: No such file or directory. [Current thread is 1 (LWP 101075)] (gdb) backtrace #0  0x0813869a in CItem::GetSize (this=0x4e0c7680) at item.h:46 #1  CInputMain::SafeboxCheckin (this=0x4e6a5d9c, ch=0x33418640,     c_pData=0x4d431d40 "F\027\a\a") at input_main.cpp:2074 #2  0x0813eaf3 in CInputMain::Analyze (this=0x4e6a5d9c, d=0x4e6a5d00,     bHeader=70 'F', c_pData=0x4d431d40 "F\027\a\a") at input_main.cpp:4013 #3  0x081288f5 in CInputProcessor::Process (iBytes=5,     r_iBytesProceed=@0xffff9d38: 0, c_pvOrig=0x4d431d40, lpDesc=0x4e6a5d00,     this=0x4e6a5d9c) at input.cpp:102 #4  CInputProcessor::Process (this=0x4e6a5d9c, lpDesc=0x4e6a5d00,     c_pvOrig=0x4d431d40, iBytes=5, r_iBytesProceed=@0xffff9d38: 0)     at input.cpp:62 #5  0x080fe52e in DESC::ProcessInput (this=0x4e6a5d00) at desc.cpp:313 #6  0x08219a65 in io_loop (fdw=0x2988f260) at main.cpp:1004 #7  0x08219cb1 in idle () at main.cpp:887 #8  idle () at main.cpp:856 #9  0x0806e1e5 in main (argc=<optimized out>, argv=<optimized out>)     at main.cpp:533 (gdb) bt full #0  0x0813869a in CItem::GetSize (this=0x4e0c7680) at item.h:46 No locals. #1  CInputMain::SafeboxCheckin (this=0x4e6a5d9c, ch=0x33418640, c_pData=0x4d431d40 "F\027\a\a") at input_main.cpp:2074         p = 0x4d431d40         pkSafebox = 0x4d852d00         pkItem = 0x4e0c7680         szHint = "\360\000\000\000\320\341\377\377\b\340\377(\024\234\377\377\277\a\366(\314\342\377\377\000\234\377\377O\276\036\000\003\000\000\000\b\340\377(\240\363\214e\210\225\360\n&\362\320O\003\000\000\000\320\037\233\b\201h<\000 \234\377\377+\016{\aY;M(N\000\000\000\320\037\233\b\b\340\377(<\234\377\377\022\a\366(\001\000\000\000\224\063ka\206\235|\307}\252\a\225Y;M(x\234\377\377\000\000\000\000\b\340\377(" #2  0x0813eaf3 in CInputMain::Analyze (this=0x4e6a5d9c, d=0x4e6a5d00, bHeader=70 'F', c_pData=0x4d431d40 "F\027\a\a") at input_main.cpp:4013         ch = 0x33418640         __FUNCTION__ = "Analyze"         iExtraLen = 0 #3  0x081288f5 in CInputProcessor::Process (iBytes=5, r_iBytesProceed=@0xffff9d38: 0, c_pvOrig=0x4d431d40, lpDesc=0x4e6a5d00, this=0x4e6a5d9c) at input.cpp:102         iExtraPacketSize = <optimized out>         bHeader = 70 'F'         c_pszName = 0x4a98cf1c "SafeboxCheckin"         c_pData = 0x4d431d40 "F\027\a\a"         bLastHeader = 0 '\000'         iLastPacketLen = 0         iPacketLen = 5         c_pData = <optimized out>         bLastHeader = <optimized out>         iLastPacketLen = <optimized out>         iPacketLen = <optimized out>         __FUNCTION__ = "Process"         bHeader = <optimized out>         c_pszName = <optimized out>         iExtraPacketSize = <optimized out> #4  CInputProcessor::Process (this=0x4e6a5d9c, lpDesc=0x4e6a5d00, c_pvOrig=0x4d431d40, iBytes=5, r_iBytesProceed=@0xffff9d38: 0) at input.cpp:62         c_pData = 0x4d431d40 "F\027\a\a"         bLastHeader = 0 '\000'         iLastPacketLen = 0         iPacketLen = <optimized out>         __FUNCTION__ = "Process"         bHeader = <optimized out>         c_pszName = <optimized out>         iExtraPacketSize = <optimized out> #5  0x080fe52e in DESC::ProcessInput (this=0x4e6a5d00) at desc.cpp:313         iBytesProceed = 0         bytes_read = 5         __FUNCTION__ = "ProcessInput" #6  0x08219a65 in io_loop (fdw=0x2988f260) at main.cpp:1004         iRet = <optimized out>         d = 0x4e6a5d00         num_events = 118         event_idx = 103         __FUNCTION__ = "io_loop" #7  0x08219cb1 in idle () at main.cpp:887         now = {tv_sec = 1634415508, tv_usec = 541315}         passed_pulses = <optimized out>         t = 948579         pta = {tv_sec = 1634415508, tv_usec = 23440}         process_time_count = 13         now = {tv_sec = <optimized out>, tv_usec = <optimized out>}         passed_pulses = <optimized out>         t = <optimized out> #8  idle () at main.cpp:856         now = {tv_sec = <optimized out>, tv_usec = <optimized out>}         passed_pulses = <optimized out>         t = <optimized out>         pta = {tv_sec = 1634415508, tv_usec = 23440}         process_time_count = 13 --Type <RET> for more, q to quit, c to continue without paging--Quit

Metin2'de Exploit Nedir?
Metin2 özel sunucularında güvenlik açıkları, yani exploit, oyuncuların oyun içindeki dengeleri bozmalarına veya yasadışı avantaj elde etmelerine neden olabilir. Bu açıklar genellikle C++ sistem, Python script veya UIScript gibi bileşenlerde meydana gelir. Bu tür açıkların farkında olmak ve onları kapatmak, Metin2 sunucu geliştirme sürecinde temel önceliklerden biridir.

Gül gibi Exploit Şeyi Nedir?
'Gül gibi exploit şeysi', genellikle Metin2 PvP sistemlerinde karşılaşılan, özellikle PvP esnasında istismar edilen küçük ama ciddi etkisi olan güvenlik açığıdır. Bu tür açıklar, genellikle game core veya db core kısmında yatan ve dikkat edilmezse büyük sorunlara yol açabilen hatalardır. Özellikle Martysama gibi popüler sistemler kullanılırken bu tür açıklar daha sık karşımıza çıkar.

Exploit Tespiti Nasıl Yapılır?
Exploit tespiti yapabilmek için server src dosyalarında detaylı inceleme yapmak gerekir. Oyuncuların anormal davranışları, beklenmedik DB verileri veya auth sunucusunda dengesizlikler, exploit işaretleri olabilir. Py GUI ve Python GUI gibi arayüzlerle logları analiz etmek de faydalı olabilir. Py Root ve Pack işlemleri sırasında da dikkatli olunmalıdır.

Exploit Engelleme Yöntemleri
Exploit engellemek için source edit işlemleri sırasında her kod satırı dikkatle incelenmelidir. Özellikle Metin2 compile aşamasında kontrol edilmeyen kodlar, güvenlik açıklarına sebep olabilir. Client SRC tarafında da benzer kontroller yapılmalıdır. Game server programming yapılırken güvenlik önlemleri mutlaka alınmalıdır.

Exploit Örnekleri
Örneğin, bir oyuncu PvP sırasında anormal şekilde hızlı saldırıyorsa, bu bir speedhack exploit olabilir. Ya da bir karakterin DB üzerinde değişmeyen özel verileri varsa, bu da başka bir güvenlik açığıdır. Bu tür durumlar, Metin2 PvP game source üzerinde titiz çalışmayı gerektirir. Core yapılar dikkatle incelenmeli ve test edilmelidir.

Sonuç
'Gül gibi exploit şeysi' ifadesiyle belirtilen güvenlik açıkları, Metin2 özel sunucular için ciddi tehditlerdir. Bu açıkları erken tespit edip kapatmak, hem oyuncuların deneyimini artırır hem de sunucu güvenliğini sağlar. Metin2 development ve Metin2Dev süreçlerinde bu konuya özel önem verilmelidir.


What is an Exploit in Metin2?
In Metin2 private servers, security vulnerabilities, known as exploits, can cause players to break game balance or gain unfair advantages. These vulnerabilities often occur within components like C++ system, Python script, or UIScript. Being aware of and fixing such vulnerabilities is one of the main priorities in Metin2 server development.

What is 'Gül gibi Exploit Şeysi'?
'Gül gibi exploit şeysi' refers to minor yet impactful security loopholes encountered in Metin2 PvP systems, often exploited during PvP combat. Such vulnerabilities typically lie within the game core or db core and can cause serious issues if not noticed. Especially when popular systems like Martysama are used, these exploits become more common.

How to Detect Exploits?
To detect exploits, detailed review of server src files is required. Abnormal player behaviors, unexpected DB entries, or imbalances in the auth server may indicate exploit activity. Analyzing logs through interfaces like Py GUI and Python GUI can also be helpful. Care must also be taken during Py Root and Pack operations.

Methods for Blocking Exploits
To prevent exploits, every line of code should be carefully reviewed during source edit processes. Unchecked code during Metin2 compile may lead to security gaps. Similar checks must be performed on the Client SRC side. Security measures must be applied during game server programming.

Examples of Exploits
For instance, if a player attacks abnormally fast during PvP, this might be a speedhack exploit. Or if a character has unchanging special values in the DB, that could also indicate another vulnerability. Such cases require meticulous work on Metin2 PvP game source. Core structures must be examined and tested carefully.

Conclusion
Security vulnerabilities described by 'gül gibi exploit şeysi' pose significant threats to Metin2 private servers. Detecting and closing such gaps early enhances both player experience and server security. Special attention must be paid to this issue during Metin2 development and Metin2Dev processes.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Geri
Üst Alt