The Witcher 3 – 24 Özellikli Trainer | Runtime Capture, Teleport ve Güncelleme Konusu

Sürüm uyumu #the-witcher-3#24-ozellik#orga-hub#trainer#trainer-guncelleme 0 cevap 16 okunma

The Witcher 3 için hazırladığım trainerin güncelleme, uyumluluk ve sorun bildirimlerini bundan sonra bu konu altında toplayacağım.

Trainer şu anda 24 farklı özellik içeriyor ve ORGA Hub üzerinden kullanılabiliyor. ⚔️

The Witcher 3 tarafında tek bir trainer yöntemi kullanmak yerine oyunun farklı sistemlerine göre birkaç yöntemi bir araya getiriyorum.

Özellikle:

  • Runtime Capture

  • Pointer Freeze

  • Memory Patch

  • Code Cave

  • Teleport

  • Konum kaydetme / geri yükleme

gibi sistemler trainer içerisinde birlikte kullanılıyor.

Yani The Witcher 3 traineri klasik anlamda sadece birkaç pointer bulan basit bir yapı değil.

🎯 Runtime Capture Neden Kullanıyorum?

Bazı oyunlarda istediğimiz değere ulaşmak için uzun pointer zincirleri oluşturmak mümkün.

Ama her zaman en iyi çözüm bu değil.

The Witcher 3 tarafında bazı gerçek oyun nesnelerine, oyunun ilgili fonksiyonu çalışırken ulaşmak daha sağlıklı olabiliyor.

Örneğin oyun bir oyuncu değerini güncellerken CPU register’larından biri o anda gerçek oyuncu nesnesinin adresini taşıyor olabilir.

Ben de ilgili kod noktasını kullanarak bu adresi runtime sırasında yakalayabiliyorum.

Genel mantık:

Oyun ilgili fonksiyonu çalıştırır → gerçek nesne yakalanır → ORGA Hub adresi kullanır

şeklinde.

Bu sistemi ORGA Hub tarafında captureWrite benzeri işlemlerle yönetiyorum.

🧠 Neden Direkt Pointer Bulmuyoruz?

Pointer kullanmak kötü bir yöntem değil.

The Witcher 3 trainerinde zaten ihtiyaç olan yerlerde pointer yöntemlerinden de faydalanıyorum.

Ama bazı nesneler:

  • Save yüklenince

  • Bölge değişince

  • Oyuncu state’i değişince

  • Oyun yeniden nesne oluşturunca

farklı adreslere taşınabiliyor.

Eğer oyun bize gerçek nesneyi zaten çalışan fonksiyon içerisinde gösteriyorsa bazen onu doğrudan yakalamak daha mantıklı oluyor.

Bu nedenle trainerde pointer ve capture yöntemlerini ihtiyaca göre birlikte kullanıyorum.

📋 Runtime Verisini Kopyalama

The Witcher 3 entegrasyonunda kullandığım diğer sistemlerden biri runtime sırasında gerekli veriyi kopyalamak.

Bazı durumlarda tek bir pointer değil, daha geniş bir veri yapısının veya bir nesne içerisindeki gerekli bölümün takip edilmesi gerekiyor.

Bu tür durumlarda captureCopy tarzı işlemler devreye girebiliyor.

Amaç yine aynı:

Bellekte rastgele milyonlarca adres arasında değer aramak yerine oyunun gerçekten kullandığı veriyi doğru anda yakalamak.

🕳️ Code Cave

Bazı özelliklerde sadece değer bulmak yeterli olmuyor.

Oyunun çalışma davranışını değiştirmek gerekebiliyor.

Burada Code Cave kullanıyorum.

Genel yapı:

Oyunun kodu → Hook → ORGA işlemi → Oyunun normal koduna dönüş

şeklinde.

Böylece trainer özelliğinin aktif olup olmadığına göre oyunun davranışını runtime sırasında değiştirebiliyorum.

Code Cave özellikle:

  • Koşullu işlemler

  • Runtime pointer yakalama

  • Değer değiştirme

  • Belirli oyun davranışlarını kontrol etme

gibi durumlarda kullanışlı.

🧊 Pointer Freeze

Bazı özelliklerde ise klasik pointer yöntemi daha mantıklı.

Doğru nesne ve değer güvenilir şekilde bulunabiliyorsa ORGA Hub ilgili değeri belirlenen seviyede tutabiliyor.

Oyun değiştirdikçe Hub tekrar istediğimiz değeri yazıyor.

Bu tarz özelliklerde daha karmaşık Code Cave veya capture sistemi kurmaya gerek yok.

Trainer geliştirirken benim için önemli olan:

En karmaşık yöntemi kullanmak değil, en uygun yöntemi kullanmak.

🖱️ Tek Seferlik Pointer İşlemleri

Her özellik sürekli freeze olmak zorunda değil.

Bazen bir değerin yalnızca kullanıcı butona bastığında değiştirilmesi yeterli.

Bu tür seçeneklerde sürekli belleğe yazmak yerine tek seferlik pointer işlemleri kullanabiliyorum.

Örneğin kullanıcı bir değeri istediği seviyeye getirir ve ardından oyun normal şekilde devam eder.

Bu tarz işlemler sürekli çalışan trainer özelliklerine göre daha hafif olabilir.

🔧 Memory Patch

The Witcher 3 trainerinde bazı özellikler doğrudan oyun kodu üzerinde geçici patch kullanabiliyor.

Özellik açıldığında ilgili instruction değiştiriliyor.

Kapatıldığında orijinal kod geri yükleniyor.

Burada özellikle oyun sürümü önemli.

Yeni güncellemede geliştirici ilgili fonksiyonu değiştirirse eski patch artık doğru kodu temsil etmeyebilir.

Bu nedenle patch tabanlı özellikleri oyun güncellemelerinden sonra ayrıca kontrol ediyorum.

📍 Teleport Sistemi

The Witcher 3 gibi büyük açık dünya oyunlarında teleport basit görünse de teknik olarak dikkat gerektiren sistemlerden biri.

Oyuncunun üç koordinatını bulup değiştirmek teoride yeterli gibi görünüyor:

X / Y / Z

Ama gerçekte işin içerisinde:

  • Player state

  • Dünya

  • Yükseklik

  • Fizik

  • Streaming

  • Bölge sistemi

gibi başka şeyler de var.

Bu nedenle trainer içerisinde teleport ve pozisyon işlemlerini ayrı bir sistem olarak ele alıyorum.

📌 Konumu Kaydet / Geri Dön

The Witcher 3 trainerinde pozisyonu runtime sırasında kaydedip daha sonra tekrar aynı noktaya dönebilmek için konum saklama sistemi de bulunuyor.

Bu tarz özellikler özellikle:

  • Haritada belirli noktaya dönmek

  • Bir bölgeyi tekrar ziyaret etmek

  • Tehlikeli bir yere girmeden önce konum kaydetmek

gibi kullanım senaryolarında işe yarayabiliyor.

Ama teleport kullanırken yine dikkatli olmak gerekiyor.

Oyunun normalde yürüyerek veya fast travel ile yükleyeceği çok uzak bir alana doğrudan gitmek bazı durumlarda dünya streaming sistemini zorlayabilir.

🧩 Alan Bazlı Runtime İşlemleri

The Witcher 3 tarafında kullandığım başka bir yöntem de yakalanan nesnenin içerisindeki belirli field değerleri üzerinde işlem yapmak.

Bazı özelliklerde gerçek ana nesneyi bir kere yakaladıktan sonra onun içerisindeki belirli alanlara ulaşmak mümkün oluyor.

Bu sayede aynı temel runtime nesnesinden birden fazla trainer özelliği türetebiliyorum.

Bunun avantajı şu:

Bir nesneye nasıl ulaşacağımızı bir kere doğru çözdüğümüzde aynı sistem içerisindeki diğer değerlere de daha düzenli ulaşabiliyoruz.

🔄 The Witcher 3 Güncellendiğinde Trainer Neden Bozulabilir?

Yeni bir güncellemede oyunun:

  • Fonksiyon adresleri

  • Instruction yapıları

  • Register kullanımı

  • Object layout’ları

  • Field offsetleri

  • Pointer zincirleri

değişebilir.

Bu durumda ilgili trainer özelliğinin de yeniden incelenmesi gerekebilir.

Özellikle runtime capture tarafında kullandığım fonksiyon değişirse aynı anda o capture sistemine bağlı birkaç özellik etkilenebilir.

⚠️ Bir Sistem Bozulunca Birden Fazla Özellik Etkilenebilir

Diyelim 5 farklı trainer özelliği aynı player nesnesini kullanıyor.

Bu player nesnesini de ortak bir capture sistemiyle yakalıyorum.

Yeni oyun güncellemesinde bu capture noktası değişirse:

5 özelliğin birden çalışmayı bırakması

mümkün.

Bu aslında 5 ayrı hata olduğu anlamına gelmez.

Tek bir ortak sistem bozulmuştur.

Bu yüzden hata bildirirken hangi özelliklerin birlikte çalışmadığını belirtmeniz özellikle önemli.

🤔 Sadece Bir Özellik de Bozulabilir

Tam tersi de geçerli.

Örneğin 24 özellikten yalnızca bir tanesi belirli bir memory patch kullanıyorsa ve oyun güncellemesi sadece o fonksiyonu değiştirdiyse:

23 özellik çalışır, 1 özellik bozulur.

Bu nedenle traineri:

Çalışıyor.

veya:

Çalışmıyor.

diye değerlendirmek yerine özellik bazında kontrol etmeyi tercih ediyorum.

🧪 Güncelleme Sonrası Nasıl Test Ediyorum?

The Witcher 3 güncelleme aldığında özellikle:

  • Oyuncu değerleri

  • Savaş sistemleri

  • Hareket

  • Envanter

  • Dünya

  • Teleport

  • Konum kaydetme

  • Runtime capture kullanan özellikler

ayrı ayrı kontrol edilmeli.

Bunun yanında:

  • Save yükleme

  • Fast travel

  • Bölge değiştirme

  • Ölüm / yeniden yükleme

  • Özelliği açıp kapatma

  • Birden fazla özelliği beraber kullanma

gibi senaryoları da test etmek gerekiyor.

🌍 Bölge Değişimi Özellikle Önemli

The Witcher 3’te farklı haritalar ve bölgeler bulunuyor.

Bir özellik Velen tarafında düzgün çalışırken bölge değişiminden sonra farklı davranabilir.

Bunun nedeni oyuncu veya dünya nesnelerinin yeniden oluşturulması olabilir.

Bu nedenle:

Özellik ilk bölgede çalışıyor ama başka haritaya geçince bozuluyor.

gibi bir durum yaşarsanız özellikle belirtin.

Bu doğrudan runtime object tarafına bakmam gerektiğini gösterir.

🔁 Save Yükledikten Sonra Çalışmıyorsa

Bu da benzer şekilde önemli bir hata belirtisi.

Trainer gerçek player nesnesini yakalamış olabilir.

Sonra başka bir save yüklediniz.

Oyun eski player nesnesini yok edip yenisini oluşturdu.

Eğer trainer eski adresi kullanmaya devam ederse özellikler artık çalışmayabilir.

Bu yüzden runtime capture sistemlerinde yeni nesnelerin tekrar yakalanabilmesi önemli.

💾 Save Yedeği Almak İyi Fikir

The Witcher 3 uzun süre oynanan ve save dosyalarının oldukça değerli olabildiği bir oyun.

Bu yüzden özellikle kalıcı olabilecek trainer işlemlerini kullanmadan önce manuel save almanızı öneriyorum.

Özellikle:

  • Envanter

  • Para

  • Kalıcı karakter değerleri

  • Dünya veya ilerleme sistemleri

ile ilişkili değişikliklerde bu önemli.

Geçici bir savaş özelliğiyle save içerisine kaydedilebilecek bir değeri değiştirmek aynı şey değil.

⚠️ Aşırı Değer Kullanmayın

Manuel değiştirilebilen değerlerde mümkün olduğunca oyunun normal sınırlarına yakın değerler kullanmanızı öneriyorum.

Trainer:

999999999

yazmanıza izin verebilir.

Ama oyun geliştiricisi ilgili sistemi böyle bir sayı düşünerek hazırlamamış olabilir.

Bu durumda:

  • UI sorunları

  • Taşmalar

  • Save problemleri

  • Beklenmeyen oyun davranışları

oluşabilir.

Trainer oyunun bazı kurallarını değiştirebilir ama oyun motorunun matematiğini yeniden yazmıyoruz. 😄

🚫 Kullanım Amacı

ORGA Hub trainerlerini temel olarak tek oyunculu oyun deneyimini kişiselleştirmek amacıyla geliştiriyorum.

Amacım anti-cheat sistemlerini aşmak veya rekabetçi multiplayer ortamlarında avantaj sağlamak değil.

The Witcher 3 tarafında da kullanım amacı tamamen kişisel tek oyunculu deneyim.

🖥️ ORGA Hub Üzerinden Çalışıyor

The Witcher 3 için ayrı bir trainer EXE’si dağıtmıyorum.

ORGA Hub:

  • Oyunu algılıyor

  • Trainer paketini yüklüyor

  • 24 özelliği gösteriyor

  • Runtime capture sistemlerini yönetiyor

  • Memory işlemlerini gerçekleştiriyor

  • Hotkey ve özellik durumlarını takip ediyor

ve bütün traineri tek uygulama üzerinden kullanabiliyorsunuz.

🔐 Trainer Paketleme Sistemi

Geliştirme sırasında kullandığım trainer tanımları kullanıcı tarafına açık JSON olarak bırakılmıyor.

Yayınlama sırasında tanım:

paketleniyor → şifreleniyor → imzalanıyor

ve .bin paketine dönüştürülüyor.

ORGA Hub paketin imzasını doğruladıktan sonra trainer tanımını çalışma sırasında kullanıyor.

Böylece The Witcher 3 gibi native memory ağırlıklı trainerler de diğer ORGA içerikleriyle aynı dağıtım sistemi içerisinde tutulabiliyor.

🐛 Sorun Bildirirken

The Witcher 3 trainerinde sorun yaşarsanız bu konu altında bildirebilirsiniz.

Mümkünse şu bilgileri ekleyin:

  • The Witcher 3 oyun sürümü

  • Steam / GOG / Epic vb. platform

  • Çalışmayan özelliğin adı

  • Daha önce çalışıyor muydu?

  • Sorun oyun güncellemesinden sonra mı başladı?

  • Özellik hiç çalışmıyor mu?

  • Bir süre çalıştıktan sonra mı bozuluyor?

  • Save yükledikten sonra mı oluyor?

  • Bölge değiştirdikten sonra mı oluyor?

  • Teleport ile mi ilgili?

  • Oyun crash oluyor mu?

  • Başka mod kullanıyor musunuz?

  • Varsa ekran görüntüsü

Özellikle hangi özelliklerin aynı anda bozulduğunu yazarsanız ortak capture veya pointer sisteminde problem olup olmadığını daha hızlı anlayabilirim.

🔎 Sorunu Nasıl İnceliyorum?

Çalışmayan özelliğin kullandığı yönteme göre ilerliyorum.

Runtime Capture kullanıyorsa:

  • Hook noktası aynı mı?

  • Register kullanımı değişmiş mi?

  • Gerçek nesne hâlâ doğru yakalanıyor mu?

Pointer Freeze ise:

  • Pointer zinciri hâlâ geçerli mi?

  • Offset değişmiş mi?

Memory Patch ise:

  • Orijinal byte’lar değişmiş mi?

  • Patch doğru instruction üzerinde mi?

Teleport ise:

  • Player pozisyon yapısı aynı mı?

  • Dünya veya actor state’i değişmiş mi?

kontrol ediyorum.

Böylece 24 özelliğin tamamını baştan yapmak yerine gerçekten değişen bölümü bulabiliyorum.

📝 Güncellemeleri Burada Tutacağım

Trainerde önemli bir değişiklik olduğunda bu konu altında paylaşacağım.

Örneğin:

🔄 Güncellendi

Yeni The Witcher 3 sürümüyle uyumluluk sağlandı.

🐛 Düzeltildi

Değişen runtime capture noktası nedeniyle çalışmayan özellikler düzeltildi.

🔧 Değiştirildi

Belirli özellik daha stabil pointer veya capture yöntemine geçirildi.

⚠️ Bilinen Sorun

Belirli özellik mevcut oyun sürümünde geçici olarak uyumsuz.

gibi.

❤️ Kısaca

The Witcher 3 traineri şu anda 24 özellik içeriyor ve ORGA Hub üzerinden kullanılabiliyor.

Teknik tarafta:

  • Runtime Capture

  • Runtime Copy

  • Code Cave

  • Pointer Freeze

  • Tek seferlik pointer işlemleri

  • Memory Patch

  • Teleport

  • Konum kaydetme / geri yükleme

  • Yakalanan nesnelerin field’ları üzerinde işlemler

gibi farklı yöntemler birlikte kullanılıyor.

The Witcher 3 gibi büyük bir oyunda her şeyi tek bir yönteme zorlamak yerine her sistem için en uygun çözümü kullanmaya çalışıyorum.

Yeni oyun sürümleri geldikçe 24 özelliğin uyumluluğunu kontrol edip önemli değişiklikleri bu konu üzerinden paylaşmaya devam edeceğim.

Bir sorun yakalarsanız buradan bildirebilirsiniz. ⚔️

Cevap yazmak için giriş yapmalısın. Okumak için giriş gerekmez.

Giriş yap