C#'ta suspend engelleme

jesteriy

Hectopat
Katılım
9 Aralık 2019
Mesajlar
57
Daha fazla  
Cinsiyet
Erkek
Meslek
Yazılımcı
Öncelikler herkese merhabalar, ben Point Blank oyununda serverimiz var 3500-4000 civarı kayıtlı üyemiz mevcut. Oyunumuzda her şey ücretsiz zaten ama oyunumuzda hile yapmaya kalkanlar var bunun için bir hile güvenliği yazdık. O güvenlik hileleri engelliyor ve hile enjekte edilmemesini ya da Cheat Engine gibi programların açılmamasına yarıyor. Bu programı arka planda kapatıyorlardı ve hile açıyorlardı. Bunun için de 2. bir güvenlik yaptık birbirlerinin açık olup olmadığını kontrol ediyor. Şimdi de 2 güvenliği de suspend yaptıklarında, yani askıya aldıklarında, tüm işlemlerimiz geçersiz oluyor ve oyunumuz hileye açık hale geliyor. Bunu C#'da engellemenin yolu nedir mesela Zula'da askıya aldığımızda bir şey olmuyor bu konuda yardımcı olabilecek var mı?
 
Son düzenleyen: Moderatör:
Hileyi kontrol eden mekanizmayi neden ayri bir process olarak tasarladiniz da oyunun icine entegre etmediniz?
Mumkun oldukca hile kontrolunu server tarafinda yapmak gerek, client tarafta her turlu kirarlar onu.

Yapabileceginiz basit bir yontem, oyundaki parametreleri bir hash fonksiyonu ile servera gonderip orada kontrol etmek.

Ornegin futbol oyunu, "Aspor" ile "Bspor" mac yapiyor, dakika 75, skor 1-0. Tum bu takim ismi, dakika, skor vs gibi verileri hashleyen fonksiyon yapip X hash degerini urettiniz. Server'a veri gonderirken bu hash degerini de gondereceksiniz. Eger client, cheat engine gibi RAM modifiye eden bir mekanizma ile skoru 2-0 yaptiysa bu hash degerini de modifiye etmek zorunda kalacak ama sizin hash fonksiyonunu kolaylikla cozemeyecegi icin cheat engine kullananlarin cogu elenecek. Server tarafta da basit hash validasyonu yapacaksiniz.
 
Ben azılımdan pek anlamam lakin bir döngü kurabilme imkanınız var mı? Mesela 1. yazılım ile 2. yazılım sürekli haberleşsin. Haber kesildiği anda o kişi oyundan direk atılsın.
 
Ben azılımdan pek anlamam lakin bir döngü kurabilme imkanınız var mı? Mesela 1. yazılım ile 2. yazılım sürekli haberleşsin. Haber kesildiği anda o kişi oyundan direk atılsın.
onunu mantığını çözemedim programlar arası veri çekme gibi birşey deniyorum eğer veri gelmez ise kapatsın gibi ama düzgün kaynak bulamadım.
Hileyi kontrol eden mekanizmayi neden ayri bir process olarak tasarladiniz da oyunun icine entegre etmediniz?
Mumkun oldukca hile kontrolunu server tarafinda yapmak gerek, client tarafta her turlu kirarlar onu.

Yapabileceginiz basit bir yontem, oyundaki parametreleri bir hash fonksiyonu ile servera gonderip orada kontrol etmek.

Ornegin futbol oyunu, "Aspor" ile "Bspor" mac yapiyor, dakika 75, skor 1-0. Tum bu takim ismi, dakika, skor vs gibi verileri hashleyen fonksiyon yapip X hash degerini urettiniz. Server'a veri gonderirken bu hash degerini de gondereceksiniz. Eger client, cheat engine gibi RAM modifiye eden bir mekanizma ile skoru 2-0 yaptiysa bu hash degerini de modifiye etmek zorunda kalacak ama sizin hash fonksiyonunu kolaylikla cozemeyecegi icin cheat engine kullananlarin cogu elenecek. Server tarafta da basit hash validasyonu yapacaksiniz.
hocam oyun biz tarafından kodlanmadı biz ilegal bir serveriz oyunun sourcesi yok elimizde oyunun kendi güvenliği var ancak elimizde sourcesi olmadığı için değişiklik yapamıyoruz ve bunun için farklı projecede program tasarladık bu güvenliğimiz resmi oyunun güvenliğinden bile gelişmiş ancak suspend olayını çözemedik az önce başka formada yazdıma aynısını birisi dll olarak kodlayıp oyuna injecte edin demişti onu deniyeceğim.
Hileyi kontrol eden mekanizmayi neden ayri bir process olarak tasarladiniz da oyunun icine entegre etmediniz?
Mumkun oldukca hile kontrolunu server tarafinda yapmak gerek, client tarafta her turlu kirarlar onu.

Yapabileceginiz basit bir yontem, oyundaki parametreleri bir hash fonksiyonu ile servera gonderip orada kontrol etmek.

Ornegin futbol oyunu, "Aspor" ile "Bspor" mac yapiyor, dakika 75, skor 1-0. Tum bu takim ismi, dakika, skor vs gibi verileri hashleyen fonksiyon yapip X hash degerini urettiniz. Server'a veri gonderirken bu hash degerini de gondereceksiniz. Eger client, cheat engine gibi RAM modifiye eden bir mekanizma ile skoru 2-0 yaptiysa bu hash degerini de modifiye etmek zorunda kalacak ama sizin hash fonksiyonunu kolaylikla cozemeyecegi icin cheat engine kullananlarin cogu elenecek. Server tarafta da basit hash validasyonu yapacaksiniz.
hocam acaba programlar arası veri çekebilirmiyiz mesela a programı b programına veri göndersin eğer b programı veriyi alamaz ise PointBlank.exe yi sonlandırsın gibisinden
 

Yeni konular

Geri
Yukarı