Biraz sorduğunuz soru karmaşık. ben kısaca üstünden geçerek size anlatmaya çalışayım.
İlk önce
Game Sever'in çalışma yapısını anlamalısınız. neyi nerden okuyor nerden paketi yakalıyor ve işleme alıyor cevabı ne gibi gönderiyor?
Bu işlemlerden sonra başlıyorsunuz mantıksal olarak hex decimal parse işlemlerine.
Örnek paket:
Kod:
[Gelen Paket::Recv] Opcode : [1] : PacketToGameString : PKT_GKSOFT_LOGIN
436170756c637520476f6b68616e
mesela yukarda hex decimal bir paket verisi aldınız.
Client'in gönderdiği paket verisinin ilk 2 hanesi uint8 mi yoksa ilk 4 hanesi uint16 mı?
varsaydım ilk 2 hanesi önceki projede uint8 belkide yanlış yaptım ama deniyecem?
ilk 2 hex decimal karakteri es geçtim sonraki paket verisi ne olabilir? acaba önceki sürümlerdeki gibi uint8 mi uint16 mı? yoksa buda mı uint32 oldu? düşünceleri. vs. vs. karmaşık işler paket işleride. bu manuel dinleme ve ayrıştırmaya çalışma işlemi.
eğer profesyonel IDA veya x32dbg kullanabilirsanız ve asm okuyabilirseniz mevcut paket yapısını asm'den okuyup paketi direkt olarak ayarlar geçersiniz.
En Can alıcı şey. Unpackciler için;
TLS Callback (TLS geri çağırma), Bu geri çağırmalar, bir uygulamanın her yeni iş parçacığı oluşturulduğunda veya bir iş parçacığı sonlandırıldığında yürütülen işlevlerdir. Reverse engineering(debugger işleri) bağlamında, TLS geri çağırmaları, zararlı yazılımlar veya koruma mekanizmaları tarafından kullanılarak analiz veya hata ayıklama işlemlerini zorlaştırabilir. (Alıntı)
Exe Kırmayı araştırıyorsunuz Örnek Olarak github'a girdiniz Mesela birisi
Xign Jumper diye birşey paylaşmış olabilir ve projeyi indirdiniz.
orjinal usko exe ile oyuna giriş yaptınız. (Mevcut GameServeri JvCryption version vs. vs. ayarlayarak ve önceki versiyondan kalan gereksizleri temizleyerek)
Hook bölümü de aslında Oyunu korumak amaçlı. ama amacı dışına çıkıyor. extra özellik vs getiriyorlar. belirli paketleri client zaten gönderiyor. insanlar mevcut paketlerin yerlerini değiştirerek farklı offsetler üzerinden vs işleme tabi tutuyor. örneğin Skill Base PTR bunun offsetini değiştiriyorlar.
baya uzun oldu fakat üstünden geçerek bir şekilde basite indirgemeye çalıştım en basiti bu şekilde anlatılır diye düşünüyorum.
Bun bunların çoğunu
@YNG 'den görerek onu çalışırken yayından izleyerek öğrendim. araştırarak hatta bazen Volkan reis'e yardımlarım da oldu bir yandan da araştırdığım için diğer şeyleri.
Sonuç yapıyoz bişeyler.