Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...

EveryBodyFool

Uzaklaştırılmış
  • İçerik sayısı

    193
  • Katılım

  • Son ziyaret

  • Günün Kazananı

    8
  • Puan

    13,109 [ Bağış Yap ]

İletiler : EveryBodyFool


  1. Direk olarak npc ve monsterları yüklerken orjinal kordinatlarını yedek tutmuyor. O kordinatlar üzerinden random +-yarıçap ekleyip dağıtıyor monsterları. Bu şekilde silmek yerine k_npcpos tablosuna uniqkey ID stunu ekle +1 artan şekilde bu sayede her eklenen npc ve monster'ın o key ile bağlantısı olur bunu da CNpc içerisine ekle int m_iSQLID şeklinde tanımlayıp K_NPCPOS tablosunu yüklerken dolduracaksın bu sayede target üzerinden o id değerini getirtip işlem yapabilirsin.

    • Teşekkür 1

  2. Paketler kalıp oluyor sürümlerde sadece eklemeler ve çıkartmalar oluyor. Programın yanına packet.def gibi mesela Packet_2B.cs tarzı script koyup kalıbı bulunanları oraya aktarabilirsin. Bu sayede opcodu var olan paket kendi .cs dosyasından script şeklinde çağırarak parsellenip çıktı alırsın. Roslyn ile run time anında bu işlemleri yapabilirsin. Bu sayede geliştirmiş olursun editörünü.

    • Teşekkür 2

  3. Şimdi şöyle bir örnek üzerinde göstereyim. Sahnelerin ProcessPacket ini çağırmadan önce breakpoint koyuyoruz.
    1mUy0nxKScqbJksEoNE7jg.png
    Break point i koyduğumuzu farz edip bir chat paketi geldiğinde yakaladık mesela. O anda Program üzerinde veriler şu şekilde oluyor.
    cspKOGQKQ1y2NXsEJjZSWA.png
    ESP deki yazan adrese yığın üzerinde gösteriyoruz. Yani adrese gidiyoruz.
    pwQFbX4AQticmpvYMnCPIg.png
    Burada gördüğün gibi kırmızı kutu ile aldığı DataPack in içeriği oluyor. Şimdi mavi ile kutu içine aldığım adrese gidiyoruz sağ tarafındaki karşısında da gördüğün gibi m_pData ya tekabül ediyor o da bir pointer olduğu için hafızada bir adres işaret ederek tutuluyor. O adrese gidiyoruz.
    ku5pEsLpQsioG0a-9A86ug.png
    Karşımıza paket çıkıyor bir önceki resimdede sarı kutu içerizinde 0x19 yani 25 decimal olarak paket boyutu duruyordu onuda bu resimde o kadar seçtim.

    Umarım açıklayıcı olmuştur elimden geldiğince kendi bildiğim gibi açıkladım. ASM bildim çok iyi değildir.
    • Teşekkür 1

  4. Şimdi şöyle söyleyeyim şifreleme yerlerine .tmp stringini arat oradan ulaşırsın tüm tbldeki şifre yerlerine orada CreateFile diyerek yedek alıp tbl nin onun üzerinden işlem yapıyor. Hafızada array tutmak yerine dosya olarak tutmuş özkanın gösterdiği PUSH değerlerini orada göreceksin ama ondan önce 1 şifreleme daha var o fonksiyondan dönen datayı birde eski şifrelemeye sokuyor 2 şifreleme var şuan tbllerde.

    • Teşekkür 1
×
×
  • Yeni Oluştur...