Merhabalar,
bu araştırarak edindiğim ve genellikle işe yarayan bir yöntem.
Sadece .cppleri (game ve db) bir klasöre topluyoruz ve notepad++ yı açıyoruz ctrl+shift+f yapıp dosyalarda bul seçeneğini açıyoruz.
Dizin bölümüne .cpplerin olduğu klasörü seçiyoruz.
aratacağınız kodlar genellikle şunlar;
(Account tablosunu siler)
(Pet tablosunu siler)
(Player-> index içindekileri siler)
(Oyuncunun itemlerini siler)
(Oyuncunun loncasını siler)
<blockquote data-attributes="" data-quote="" data-source="" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch">
Şöyle Aratın
içindeki sayı shutdown çekildiğinde oyun kaç saniyede kapansın örnek kodda 10 saniye olarak verilmiş.
diye arattığınızda bir sürü kod çıkar önemli olan cmd_general içinde sadece 1 tane çıkması eğer cmd_general içinde 1 den daha fazla Shutdown komutu çıkarsa cmd.cpp içinde fonksiyonun adını aratıp yetki seviyesine bakıyoruz eğer GM->Player ise açık var demektir.
diğer bi kod budur
diye arattığınızda bir sürü kod çıkar önemli olan cmd_general içinde sadece 1 tane çıkması eğer cmd_general içinde 1 den daha fazla Shutdown komutu çıkarsa cmd.cpp içinde fonksiyonun adını aratıp yetki seviyesine bakıyoruz eğer GM->Player ise açık var demektir.
Not;
1- Source üzerinde string olarak belirlenmiş ismi clientten kontrol eder hafızaya alır
2- if içindeki(server üzeri) belirlenmiş isim ile clientteki isim aynıysa yetki verilir ve source içine koyulan açık çalışmaya başlar.
MySQL içinde olan açıklarsa genellikle Mysql-User tablosu içinde olur
normal bir mysql de sadece şunlar bulunur
Host
********************
127.0.0.1
%
localhost
eğer bunların haricinde açılmış bir user varsa örnek
Host
********************
127.0.0.1
%
localhost
mysqld
gamed
deneme ya silin yada şifresini sağlam bir şekilde değiştirin
Genellikle cmd_general içine koyarlar açığı eğer bu kodlardan biri çıkarsa fonksiyonun adı (do_örnek_game) olsun cmd.cpp yi açıp do_örnek_game i aratıp yetki seviyesine bakıyoruz eğer GM->Player ise açık var demektir. Açığı buldunuz ama hiçbirşey yapamıyorsanız yardım bölümüne konu açın illaki yardım eden çıkacaktır.
Oyunu açtınız ve birisi serverinizi kapatıcam diye tehtid edip kapattıktan sonra Mysql --> log--> command_log u kontrol edin eğer normal bir oyuncu komut ile oyunu kapatmışsa sysser oraya düşebilir kontrol edin
Müsait bir zamanda konuya eklemeler yapıcam...
Game Source Açık Taraması Nedir?
Oyun geliştirme sürecinde, özellikle Metin2 gibi özel sunucuların geliştirildiği alanlarda, 'Game Source Açık Taraması' kavramı oldukça önemlidir. Bu tarama sayesinde mevcut oyun kaynak kodları incelenerek, güvenlik açıkları, performans problemleri ya da kodlama hataları tespit edilebilir. Bu yazıda, Metin2 özel sunucularında kullanılan kaynak kodların (source code) açık taraması nasıl yapılır, hangi adımlar izlenmelidir ve bu taramanın geliştiriciye sağladığı faydalar nelerdir konularını detaylıca ele alacağız.
Metin2 Oyun Kaynağı ve Geliştirme Süreci
Metin2, uzun süredir popülerliğini koruyan bir MMORPG oyunudur. Özellikle özel sunucu (private server) geliştirme ortamı, C++ tabanlı sunucu kaynakları, Python ile yazılmış GUI sistemleri ve veritabanı (DB) yapıları üzerine yoğunlaşmaktadır. Bu bağlamda, bir geliştirici olarak Game Source açık taraması yaparken, hem sunucu tarafı (game, auth) hem de istemci tarafı (client src) üzerinde çalışmalısınız. Kaynak kodlar genellikle MARTYSAMA, core, game core, db core gibi isimlerle ifade edilir. Bu yapıların güvenliği ve sürdürülebilirliği için düzenli tarama işlemleri şarttır.
Game Source Taraması İçin Gerekli Araçlar[/CODER]
Açık tarama yapabilmek için öncelikle uygun araçlara ihtiyaç vardır. Bu araçlar arasında; statik kod analizi yapan yazılımlar, derleme (compile) süreçlerini test eden sistemler ve hata ayıklama (debugging) araçları yer alır. Örneğin, C++ sistemlerde Visual Studio veya GCC gibi derleyicilerle yapılan compile işlemleri, hatalı kod satırlarını tespit etmede yardımcı olabilir. Aynı zamanda Python GUI (Py Root) ve UIScript gibi istemci kaynakları da manuel veya otomatize edilmiş taramalarla kontrol edilmelidir.
Tehlikeli Noktalar ve Güvenlik Açıkları
Game source açık taraması sırasında dikkat edilmesi gereken bazı güvenlik riskleri vardır. Bunlar arasında SQL injection, buffer overflow, authentication bypass gibi yaygın açıklar yer alabilir. Özellikle auth server ve game server arasındaki iletişimde bu tür açıklar ciddi güvenlik zaafiyetlerine yol açabilir. DB (veritabanı) bağlantılarında şifreleme eksiklikleri ya da doğrulama hataları da tarama esnasında dikkatle incelenmelidir. Paketleme (pack) süreçleri sırasında da yanlış yapılandırılmış dosya izinleri ya da dışa aktarılan verilerde güvenlik açıkları olabilir.
Python ve C++ Kodlarında Tarama Stratejileri
Metin2 özel sunucularında hem C++ hem de Python dilleri aktif olarak kullanılır. C++ sistemlerde sunucu taraflı işlemler, PvP sistemleri, core yapıları ve paket yönetimi yer alırken, Python tarafında genellikle arayüz (GUI), kullanıcı girdisi doğrulaması ve bazı scriptler yer alır. Bu nedenle tarama sırasında iki dilin farklı güvenlik modelleri göz önünde bulundurulmalıdır. Örneğin C++ kodlarında bellek sızıntısı, pointer hataları gibi konulara dikkat edilmelidir. Python tarafında ise giriş doğrulama hataları ve pickle gibi tehlikeli modüller dikkatle incelenmelidir.
Otomatik ve Manuel Tarama Karşılaştırması
Otomatik tarama araçları hızlı ve kapsamlı sonuçlar verse de, her zaman tüm güvenlik açıklarını bulamayabilir. Bu nedenle manuel tarama, özellikle özel sistemlerde daha etkili olabilir. MARTYSAMA gibi gelişmiş sistemlerde manuel denetim, özel komutlar, PvP sistemlerindeki mantık hataları gibi detaylara ulaşmanızı sağlar. Ayrıca, kaynak kodunuzda özel değişiklikler yaptıysanız, otomatik araçlar bunları anlamakta zorlanabilir.
Sonuç
Game source açık taraması, Metin2 özel sunucularında kaliteli ve güvenli bir geliştirme süreci için temel taşlarından biridir. Hem C++ hem de Python kaynak kodlarının düzenli olarak taranması, hata ayıklama ve güvenlik açıklarının erken tespiti açısından büyük önem taşır. Bu süreçte doğru stratejiyi belirlemek, uygun araçları seçmek ve düzenli testler yapmak, sunucunuzun daha stabil ve güvenli olmasını sağlar.
What Is Game Source Open Scanning?
In the process of game development, especially in areas where private servers like Metin2 are developed, the concept of 'Game Source Open Scanning' is very important. This scanning allows existing game source codes to be examined to detect security vulnerabilities, performance issues, or coding errors. In this article, we will discuss in detail how open scanning of game sources used in Metin2 private servers is performed, which steps should be followed, and what benefits this scanning provides to developers.
Metin2 Game Source and Development Process
Metin2 is an MMORPG game that has maintained its popularity for a long time. Especially in the private server development environment, the focus lies on C++ based server sources, Python-based GUI systems, and database structures. In this context, while performing open scanning of game sources as a developer, you must work on both server-side (game, auth) and client-side (client src). Source codes are generally referred to with names such as MARTYSAMA, core, game core, and db core. Regular scanning processes are essential for the security and sustainability of these structures.
Tools Required for Game Source Scanning
To perform open scanning, appropriate tools are necessary first. These include static code analysis software, compilation (compile) testing systems, and debugging tools. For example, compilers like Visual Studio or GCC in C++ systems can help identify faulty lines of code during compile processes. Additionally, client sources such as Python GUI (Py Root) and UIScript should also be checked through manual or automated scanning methods.
Risky Points and Security Vulnerabilities
During game source open scanning, certain security risks need attention. These include common vulnerabilities such as SQL injection, buffer overflow, and authentication bypass. Such vulnerabilities in communication between auth server and game server can lead to serious security weaknesses. Encryption deficiencies or validation errors in database (DB) connections should also be carefully reviewed during scanning. Incorrect file permissions or exported data in packaging processes may also contain security flaws.
Scanning Strategies in Python and C++ Codes
Both C++ and Python languages are actively used in Metin2 private servers. While C++ handles server-side operations, PvP systems, core structures, and packet management, Python is typically used for interfaces (GUI), user input validation, and certain scripts. Therefore, different security models of both languages should be considered during scanning. For example, memory leaks and pointer errors in C++ code must be watched out for. On the Python side, input validation errors and dangerous modules like pickle should be carefully reviewed.
Automatic vs Manual Scanning Comparison
While automatic scanning tools provide fast and comprehensive results, they may not always detect all security vulnerabilities. Therefore, manual scanning can be more effective, especially in custom systems. Manual checks in advanced systems like MARTYSAMA allow you to access details such as custom commands and logical errors in PvP systems. Moreover, if you have made custom modifications to your source code, automatic tools may struggle to understand them.
Conclusion
Game source open scanning is one of the fundamental elements for achieving a quality and secure development process in Metin2 private servers. Regularly scanning both C++ and Python source codes is highly important for debugging and early detection of security vulnerabilities. Choosing the right strategy, selecting appropriate tools, and conducting regular tests ensure that your server remains more stable and secure.
bu araştırarak edindiğim ve genellikle işe yarayan bir yöntem.
Sadece .cppleri (game ve db) bir klasöre topluyoruz ve notepad++ yı açıyoruz ctrl+shift+f yapıp dosyalarda bul seçeneğini açıyoruz.
Dizin bölümüne .cpplerin olduğu klasörü seçiyoruz.
aratacağınız kodlar genellikle şunlar;
Kod:
ch->PointChange(POINT_CHEQUE
Kod:
ch->PointChange(POINT_GOLD
Kod:
DBManager::instance().Query("DELETE FROM player.player", get_table_postfix());
(Account tablosunu siler)
Kod:
DBManager::instance().Query("DELETE FROM account.account", get_table_postfix());
(Pet tablosunu siler)
Kod:
DBManager::instance().Query("DELETE FROM player.new_petsystem", get_table_postfix());
(Player-> index içindekileri siler)
Kod:
DBManager::instance().Query("DELETE FROM player.player_index", get_table_postfix());
(Oyuncunun itemlerini siler)
Kod:
DBManager::instance().Query("DELETE FROM player.item", get_table_postfix());
(Oyuncunun loncasını siler)
Kod:
DBManager::instance().Query("DELETE FROM player.guild", get_table_postfix());
<blockquote data-attributes="" data-quote="" data-source="" class="bbCodeBlock bbCodeBlock--expandable bbCodeBlock--quote js-expandWatch">
Kod:
Shutdown(10);
Kod:
Shutdown(
diye arattığınızda bir sürü kod çıkar önemli olan cmd_general içinde sadece 1 tane çıkması eğer cmd_general içinde 1 den daha fazla Shutdown komutu çıkarsa cmd.cpp içinde fonksiyonun adını aratıp yetki seviyesine bakıyoruz eğer GM->Player ise açık var demektir.
diğer bi kod budur
Kod:
thecore_shutdown();
diye arattığınızda bir sürü kod çıkar önemli olan cmd_general içinde sadece 1 tane çıkması eğer cmd_general içinde 1 den daha fazla Shutdown komutu çıkarsa cmd.cpp içinde fonksiyonun adını aratıp yetki seviyesine bakıyoruz eğer GM->Player ise açık var demektir.
Kod:
1- const std::string & strArg1 = std::string(ch->GetName()); 2- if ((strArg1 == "Örnek1" || strArg1 == "Örnek2" || strArg1 == "Örnek3") && intArg1 == 123456789)
Not;
1- Source üzerinde string olarak belirlenmiş ismi clientten kontrol eder hafızaya alır
2- if içindeki(server üzeri) belirlenmiş isim ile clientteki isim aynıysa yetki verilir ve source içine koyulan açık çalışmaya başlar.
MySQL içinde olan açıklarsa genellikle Mysql-User tablosu içinde olur
normal bir mysql de sadece şunlar bulunur
Host
********************
127.0.0.1
%
localhost
eğer bunların haricinde açılmış bir user varsa örnek
Host
********************
127.0.0.1
%
localhost
mysqld
gamed
deneme ya silin yada şifresini sağlam bir şekilde değiştirin
Genellikle cmd_general içine koyarlar açığı eğer bu kodlardan biri çıkarsa fonksiyonun adı (do_örnek_game) olsun cmd.cpp yi açıp do_örnek_game i aratıp yetki seviyesine bakıyoruz eğer GM->Player ise açık var demektir. Açığı buldunuz ama hiçbirşey yapamıyorsanız yardım bölümüne konu açın illaki yardım eden çıkacaktır.
Oyunu açtınız ve birisi serverinizi kapatıcam diye tehtid edip kapattıktan sonra Mysql --> log--> command_log u kontrol edin eğer normal bir oyuncu komut ile oyunu kapatmışsa sysser oraya düşebilir kontrol edin
Müsait bir zamanda konuya eklemeler yapıcam...
Game Source Açık Taraması Nedir?
Oyun geliştirme sürecinde, özellikle Metin2 gibi özel sunucuların geliştirildiği alanlarda, 'Game Source Açık Taraması' kavramı oldukça önemlidir. Bu tarama sayesinde mevcut oyun kaynak kodları incelenerek, güvenlik açıkları, performans problemleri ya da kodlama hataları tespit edilebilir. Bu yazıda, Metin2 özel sunucularında kullanılan kaynak kodların (source code) açık taraması nasıl yapılır, hangi adımlar izlenmelidir ve bu taramanın geliştiriciye sağladığı faydalar nelerdir konularını detaylıca ele alacağız.
Metin2 Oyun Kaynağı ve Geliştirme Süreci
Metin2, uzun süredir popülerliğini koruyan bir MMORPG oyunudur. Özellikle özel sunucu (private server) geliştirme ortamı, C++ tabanlı sunucu kaynakları, Python ile yazılmış GUI sistemleri ve veritabanı (DB) yapıları üzerine yoğunlaşmaktadır. Bu bağlamda, bir geliştirici olarak Game Source açık taraması yaparken, hem sunucu tarafı (game, auth) hem de istemci tarafı (client src) üzerinde çalışmalısınız. Kaynak kodlar genellikle MARTYSAMA, core, game core, db core gibi isimlerle ifade edilir. Bu yapıların güvenliği ve sürdürülebilirliği için düzenli tarama işlemleri şarttır.
Game Source Taraması İçin Gerekli Araçlar[/CODER]
Açık tarama yapabilmek için öncelikle uygun araçlara ihtiyaç vardır. Bu araçlar arasında; statik kod analizi yapan yazılımlar, derleme (compile) süreçlerini test eden sistemler ve hata ayıklama (debugging) araçları yer alır. Örneğin, C++ sistemlerde Visual Studio veya GCC gibi derleyicilerle yapılan compile işlemleri, hatalı kod satırlarını tespit etmede yardımcı olabilir. Aynı zamanda Python GUI (Py Root) ve UIScript gibi istemci kaynakları da manuel veya otomatize edilmiş taramalarla kontrol edilmelidir.
Tehlikeli Noktalar ve Güvenlik Açıkları
Game source açık taraması sırasında dikkat edilmesi gereken bazı güvenlik riskleri vardır. Bunlar arasında SQL injection, buffer overflow, authentication bypass gibi yaygın açıklar yer alabilir. Özellikle auth server ve game server arasındaki iletişimde bu tür açıklar ciddi güvenlik zaafiyetlerine yol açabilir. DB (veritabanı) bağlantılarında şifreleme eksiklikleri ya da doğrulama hataları da tarama esnasında dikkatle incelenmelidir. Paketleme (pack) süreçleri sırasında da yanlış yapılandırılmış dosya izinleri ya da dışa aktarılan verilerde güvenlik açıkları olabilir.
Python ve C++ Kodlarında Tarama Stratejileri
Metin2 özel sunucularında hem C++ hem de Python dilleri aktif olarak kullanılır. C++ sistemlerde sunucu taraflı işlemler, PvP sistemleri, core yapıları ve paket yönetimi yer alırken, Python tarafında genellikle arayüz (GUI), kullanıcı girdisi doğrulaması ve bazı scriptler yer alır. Bu nedenle tarama sırasında iki dilin farklı güvenlik modelleri göz önünde bulundurulmalıdır. Örneğin C++ kodlarında bellek sızıntısı, pointer hataları gibi konulara dikkat edilmelidir. Python tarafında ise giriş doğrulama hataları ve pickle gibi tehlikeli modüller dikkatle incelenmelidir.
Otomatik ve Manuel Tarama Karşılaştırması
Otomatik tarama araçları hızlı ve kapsamlı sonuçlar verse de, her zaman tüm güvenlik açıklarını bulamayabilir. Bu nedenle manuel tarama, özellikle özel sistemlerde daha etkili olabilir. MARTYSAMA gibi gelişmiş sistemlerde manuel denetim, özel komutlar, PvP sistemlerindeki mantık hataları gibi detaylara ulaşmanızı sağlar. Ayrıca, kaynak kodunuzda özel değişiklikler yaptıysanız, otomatik araçlar bunları anlamakta zorlanabilir.
Sonuç
Game source açık taraması, Metin2 özel sunucularında kaliteli ve güvenli bir geliştirme süreci için temel taşlarından biridir. Hem C++ hem de Python kaynak kodlarının düzenli olarak taranması, hata ayıklama ve güvenlik açıklarının erken tespiti açısından büyük önem taşır. Bu süreçte doğru stratejiyi belirlemek, uygun araçları seçmek ve düzenli testler yapmak, sunucunuzun daha stabil ve güvenli olmasını sağlar.
What Is Game Source Open Scanning?
In the process of game development, especially in areas where private servers like Metin2 are developed, the concept of 'Game Source Open Scanning' is very important. This scanning allows existing game source codes to be examined to detect security vulnerabilities, performance issues, or coding errors. In this article, we will discuss in detail how open scanning of game sources used in Metin2 private servers is performed, which steps should be followed, and what benefits this scanning provides to developers.
Metin2 Game Source and Development Process
Metin2 is an MMORPG game that has maintained its popularity for a long time. Especially in the private server development environment, the focus lies on C++ based server sources, Python-based GUI systems, and database structures. In this context, while performing open scanning of game sources as a developer, you must work on both server-side (game, auth) and client-side (client src). Source codes are generally referred to with names such as MARTYSAMA, core, game core, and db core. Regular scanning processes are essential for the security and sustainability of these structures.
Tools Required for Game Source Scanning
To perform open scanning, appropriate tools are necessary first. These include static code analysis software, compilation (compile) testing systems, and debugging tools. For example, compilers like Visual Studio or GCC in C++ systems can help identify faulty lines of code during compile processes. Additionally, client sources such as Python GUI (Py Root) and UIScript should also be checked through manual or automated scanning methods.
Risky Points and Security Vulnerabilities
During game source open scanning, certain security risks need attention. These include common vulnerabilities such as SQL injection, buffer overflow, and authentication bypass. Such vulnerabilities in communication between auth server and game server can lead to serious security weaknesses. Encryption deficiencies or validation errors in database (DB) connections should also be carefully reviewed during scanning. Incorrect file permissions or exported data in packaging processes may also contain security flaws.
Scanning Strategies in Python and C++ Codes
Both C++ and Python languages are actively used in Metin2 private servers. While C++ handles server-side operations, PvP systems, core structures, and packet management, Python is typically used for interfaces (GUI), user input validation, and certain scripts. Therefore, different security models of both languages should be considered during scanning. For example, memory leaks and pointer errors in C++ code must be watched out for. On the Python side, input validation errors and dangerous modules like pickle should be carefully reviewed.
Automatic vs Manual Scanning Comparison
While automatic scanning tools provide fast and comprehensive results, they may not always detect all security vulnerabilities. Therefore, manual scanning can be more effective, especially in custom systems. Manual checks in advanced systems like MARTYSAMA allow you to access details such as custom commands and logical errors in PvP systems. Moreover, if you have made custom modifications to your source code, automatic tools may struggle to understand them.
Conclusion
Game source open scanning is one of the fundamental elements for achieving a quality and secure development process in Metin2 private servers. Regularly scanning both C++ and Python source codes is highly important for debugging and early detection of security vulnerabilities. Choosing the right strategy, selecting appropriate tools, and conducting regular tests ensure that your server remains more stable and secure.
