Merhabalar,
Bugün hep beraber paket ayıklama nedir, neden kullanılır ve nasıl yapılır konusunu inceleyeceğiz.
Sunucu dosyalarına oyuna yeni gelen özellikler eklenirken kullandığımız method paket ayıklama methodudur. Client dosyalarının kaynak kodları elimizde bulunmadığından, sunucu taraflı ekleyeceğimiz özelliği, NoahSystem'in oluşturduğu sisteme göre yazmak durumundayız. Bu sebepten ötürü, öncelikle istemci tarafında yeni eklenen sistem ile alakalı olan paketleri, bir paket sniffer(mypackettool vb.) aracılığı ile yakalamalıyız.
Paket ayıklayabilmek için, elimizde referans olarak bakabileceğimiz bir yapı bulunması gerekir. Bu referans yapı, aynı paketin geçmiş bir versiyonda kullanılan hali, veya oyun clientinde paketi okuyan fonksiyon olabilir. Genellikle yeni eklenen sistemlerde (pet, achievement vb.) geçmiş sürüm dosyalarda bu sistemlere dair bilgi bulunmaz. O yüzden paketi, oyun içerisinden edineceğimiz bazı bilgiler (pet hp, pet adı, pet exp vb.) ile karşılaştırarak, paketin hangi kısmının hangi bilgiyi içerdiğini etiketleyeceğiz.
Varsayalım ki, oyuna pet sistemini eklemeye çalışıyorsunuz. Elimizde, oyunun pet sistemine dair hiçbir bilgi bulunmadığından, önce sistemin işleyişini anlamak için bilgi toplamamız gerekir. Bu bilgi toplama aşaması, varsa pet sisteminin çalışır olduğu bir sunucudan paket dinleyerek, veya oyun client exe dosyasının pet fonksiyonlarını etraflıca inceleyerek olabilir. Birinci method, zaman açısından daha pratiktir.
Şimdi, örnek olarak pet sisteminin PET_MYINFO paketini birlikte ayıklayalım.
Öncelikle, paketi edineceğimiz sunucuya paket dinleme programımızı da açarak giriş yapıyoruz.
Program linki:
Bugün hep beraber paket ayıklama nedir, neden kullanılır ve nasıl yapılır konusunu inceleyeceğiz.
Sunucu dosyalarına oyuna yeni gelen özellikler eklenirken kullandığımız method paket ayıklama methodudur. Client dosyalarının kaynak kodları elimizde bulunmadığından, sunucu taraflı ekleyeceğimiz özelliği, NoahSystem'in oluşturduğu sisteme göre yazmak durumundayız. Bu sebepten ötürü, öncelikle istemci tarafında yeni eklenen sistem ile alakalı olan paketleri, bir paket sniffer(mypackettool vb.) aracılığı ile yakalamalıyız.
Paket ayıklayabilmek için, elimizde referans olarak bakabileceğimiz bir yapı bulunması gerekir. Bu referans yapı, aynı paketin geçmiş bir versiyonda kullanılan hali, veya oyun clientinde paketi okuyan fonksiyon olabilir. Genellikle yeni eklenen sistemlerde (pet, achievement vb.) geçmiş sürüm dosyalarda bu sistemlere dair bilgi bulunmaz. O yüzden paketi, oyun içerisinden edineceğimiz bazı bilgiler (pet hp, pet adı, pet exp vb.) ile karşılaştırarak, paketin hangi kısmının hangi bilgiyi içerdiğini etiketleyeceğiz.
Varsayalım ki, oyuna pet sistemini eklemeye çalışıyorsunuz. Elimizde, oyunun pet sistemine dair hiçbir bilgi bulunmadığından, önce sistemin işleyişini anlamak için bilgi toplamamız gerekir. Bu bilgi toplama aşaması, varsa pet sisteminin çalışır olduğu bir sunucudan paket dinleyerek, veya oyun client exe dosyasının pet fonksiyonlarını etraflıca inceleyerek olabilir. Birinci method, zaman açısından daha pratiktir.
Şimdi, örnek olarak pet sisteminin PET_MYINFO paketini birlikte ayıklayalım.
Öncelikle, paketi edineceğimiz sunucuya paket dinleme programımızı da açarak giriş yapıyoruz.
Program linki:
Bu içeriği görmek için Giriş Yapmalısınız veya Kayıt Olmalısınız.
Bu içeriği görmek için Giriş Yapmalısınız veya Kayıt Olmalısınız.