Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Teot'a nasıl tecavüz edebilirim


Arlooax

Öne çıkan mesajlar

Şimdi bir kaç gündür dadanmış bulunmaktayım eski sevgilim paticik forumlarına , sphere'de eski bir sevgili olduğundan, hade bakalım bişiler yazayım bu teot, vs vs gibi programlar hakkında. Hala gönlünü UO ya kaptırmış arkadaşlarımızın belki işlerine yarar yazdıklarım.

ÇooOoOK eskilerde benzer şeyler yazmıştım şimdi yazacaklarıma paralel, biraz tekrar da olsa hade dedim konu olur buraya yaz gitsin.

Şimdi arkadaşlar, teot sadece konu başlığı, yani bir 3rd party programın kullanımını önlemek istiyorsanız teot veya hamhumşaralom programı olsun, bunun en güvenilir yöntemi server side programming olmalıdır.

Böyle bir sistemi yazabilecek gurubun ilk önce belli bir bilgi birikimi ve en önemlisi de zamanı olması gerekmektedir. Bunlar yoksa boşverin gitsin.

Sisteminiz kabaca üç parçadan oluşur:

1) Database Server
Sphere için yazdığınızı farzedersek, MSSQL en doğru seçim olacaktır findofs sistemler için ( MySQL'e nazaran ).

2) Server Yazılımı
TCP/IP bazlı bir server sistemi adapte etmek durumundasınız en basit çözüm için. Bu server sistemine scripting dili ( en basit düzeyde ) adapte etmek durumundasınız.

3) Client Yazılımı
TCP/IP bazlı bir client mimarisi yine gerekli bu aşamada.

Şimdi süfer kabaca olay şudur. Kullanıcı sizin yazdığınız client ile yine sizin yazdığınız server'a bağlanmadan sunucunuza bağlanamaz. Bir kullanıcı oyun sunucunuza bağlı fakat sizin yazdığınız server'a bağlı değilse o oyuncuyu , oyun sunucunuzdan kicklersiniz ( manuel olmaz, otomasyona bağlamanız lazım ).

Böylece neyi sağlamış oldunuz ? Eğer bir oyuncu sizin oyun sunucunuza bağlı ise, mutlaka o an sizin kendi yazdığınız sunucuya da bağlı demektir.

Böylece başlarsınız kullanıcının bilgisayarını periyodik scan etmeye. Eğer istemediniz bir program çalıştırıyorsa sizin yazdığınız client, yine sizin yazdığınız server'a durumu iletir. Arkadaşın bağlantısı kesilir.

Bu kaba sistemin en kilit olaylarından biri kendi yazdınız sunucuya adapte ettiğiniz scripting dilidir ( ya da icad ettiğiniz ) . Buraya istenmeyen programları tanımlayan parametleri girersiniz, server bunları okur ve publish eder, clientlar bunlara göre hareket eder.

Sonra başlıktaki teot yazan gurup yeni sürüm çıkardığında, alırsınız o sürümü, iki incelerseniz, kendi serverınıza yeni sürümü tanıtan scripti eklerseniz, ve akabinde yeni sürüme maks 10 dakika içinde bacak omuza .. ergg pardon ehu :=)

Tabi çok kabaca anlattım bişiler üstün körü zira detay anlatmak boşuna olur, önemli olan kapılar göstermek.

Hangi dilde yazarım konusuna cevap vermek isterim, her dilde yazabilirsiniz. Fakat server konusunda eger yüksek rakamlar bağlanacaksa en sağlam yol C++ olur.

Buda böyle bir topic olsun bakalim yazdim gitti.

Herkese güzel günler dilerim.[signature][hline]Quod non mortiferum, fortiorem me facit.
Link to comment
Sosyal ağlarda paylaş

hmm arkadaşım güzel yazmışsında şimdi TCP/IP protokolunu işe niye karıştırdın anlayamadım.Bunun sabahın 6 sı ile bir alakası olabilir ama IP ve uygulama programları arasındaki bağlantıyı sağlayan iki protokol var ztn biri TCP diğeri UDP bunları kullanmıcanda neyi kullanacan.bide şu varki senin clientinden başka client ile oyuna girilmesini istemiyor isen ztn dsp diye bişi var cümle alem biliyor.Koy bi kod girmesin kimse.Ayrıca client yazmak cümlesi abes geldi bana client editlemek desek şu işe biz çünkü yazarsan ea games olursun ztn.sonra onlara ne hacet.kısacası ya sen anlatamadın yada ben senin anlattığını anlayamadım ki bu çok normal sabahın 6 sı .[signature][hline]Tr-Game - Everything About Games
Zenith - RCA Sistem
Enlil - Sosaria
Link to comment
Sosyal ağlarda paylaş

client yazanlar var örnek: krrios client. ama burda arlooax'ın client diye söylediği şey aslında oyuncunun kullanacağı connector tarzı bir program herhalde. sistem olarak güzel ama sahte client yazılımı nasıl önlenecek? yani uonun gönderdiği/aldığı paketleri loglayıp emulatöre yazıyorlar zaten. aynı şeyi senin programın için yapsak? ha birçok kişi bunu yapamaz ama bir kişi yapar yayınlar biter iş :)[signature][hline]oasisoyun.net
Mail/MSN: [email protected] , ICQ:6254196
Link to comment
Sosyal ağlarda paylaş

teot nedir yaf? yeni bir hile programı mı??

aslında serverda proxy görevi görecek bir program yazıp, clientlar baglandıgında authenticate edip daha sonra gelen paketleri authorize etme yolu uygulansa her türlü hile kesinlikle önlenir. arlo'nu dedigi de bunun gibi birşey..

ama bu sistemi yazıp test etmesi biraz vakit alır :)
Link to comment
Sosyal ağlarda paylaş

Arloox güzel yazmıssın fakat
1. bunu sanırım herkes düsünebiliyor. olay bunu yapabilmekte idi.

elanrealm bi ara muhteşem yapmıstı 3rd kullanımı %97 azalmıstı ama elbette senin programınıda kırarlar. adam aynısını yapar ve sahte paket yollar. yada ilk paketi sürekli yollar. çok bilgili değilim programlamada ama uo çok yaşadı çok programcılar gördü. gerek yapancı sunucular gerek Türk sunucularında bir çok programcıda bulundu.

Önerim o programlara şey edicenize şey edin daha iyi :)

Eğer boyle bir imkanın varsa yaz burada yayımla çok kişi connector adı altında bişiler yaptı ama bugune kadar %100 kesin çözüm üretilemedi.

demek istediğim yapabiliyorsan uo camiyasına büyük iyilik edersin. ben uo yu bıraktım artık ne sunucu acarım nede oynarım nede yönetirim nede scp yazarım....[signature][hline]Dale dale elleri var yüzümde yüzümde
kavurucu bakışları gözümde gözümde
Link to comment
Sosyal ağlarda paylaş

Client teknik bir terim, ingilizce bir kelime, client diyince fakat haklı olabilirsin akla hemen UO Client gelebilir, fakat kine client'dan kastim o degil.

TCP/IP karıştırdım çünkü UDP ile yazamassın, ve anlatmaya üşendiğim daha değişik methodlar da TCP/IP nin vereceği verimi veremez.

Sailor her program kırılabilir. Protokoller al aşşağı edilebilinir. Fakat burada olay şu.

EA nın protokollerini al aşşağı ettiğin zaman EA nın eli kolu bir miktar bağlıdır.

Niye ? Zira EA nın önündeki proje afedersin hayvani bir projedir. Öyle hadi protokol tazeleyek de olayı kapayak diyemez. Senın projen ise mini bir amaca hizmet eden mini bir projedir, rahatsındır yani. Oturur baştan bile yazarsan :P

Artı hoca alın size paket korumanın hemen aklıma gelen bir yötemini söyleyeyim.

Protokollerini dinamik yap. Hergün değişsin. Server bir seed value yollasın, client ın o seed value ya göre o günkü protokolleri generate edip kullansın. Ertesi gün geçersiz kalacak olduğundan arkada paket dinleyen arkadaşın da kafasından aşşaya kaynar sular iner.

Senin paketlerini kırmak yerine bu sefer ne yaptın ? Senin algoritmanı ( larını) kırması gerekmekte artık. Bu işde öyle paket dinleme olayı gibi değildir. Yani velet kısmı direk nakavt. Amatör programcı kısmı kick out. Anca yeterli deneyimi, zamanı ve bilgisi olan uğraşır. Bu tip adamlarında senin clientına verecek zamanı yoktur büyük ihtimal.

Kalın sağlıcakla.[signature][hline]Quod non mortiferum, fortiorem me facit.
Link to comment
Sosyal ağlarda paylaş

guardian denen program da aslında bu tarz bişey yapıyodu. ama bunu yaydılar, scriptler piyasaya cıkınca katakullisini öğrenenler direk girdiler teotla. sonuçta 026 versionunun servera yolladığı kod dinamik değildi, her gün yeni guardian sürümü çıkarmak lazımdı. yeni sürümleri cıkmıs güzel olmus diolar ama bence o da yetersizdir
sonucta bi gün biri ugrasır kırar ünlü bi program oldugu icin
en güzeli o mantıkta kendiniz bi tane program yazın. biraz programlama bilince zor bişey değil. her server kendi önlemini kendi alırsa önleminiz %100 olmasa bile hackerlar her servera yetişemiceği için korunmuş olursunuz. ismini haxor yapan da item dupelayamaz ;)
Link to comment
Sosyal ağlarda paylaş

dinamik olayı olur evet ama 1 gün değil her saniye değişmeli :) yoksa birisi için 1dk yeter de artar bile dupe komutunu kullanabilecekse. onun için maximum 1dk içerisinde değişen bir anahtar kelime olması lazım. normalde sorun yok, servera bağlanırsın o sana anahtar kelimeyi yollar. client o anahtara göre şifreler geri yollar. fakat burda sorun sınırdaki zamanlar. yani 1dk de bir anahtar değişiyorsa; mesela her dakika başı saniye 00 olduğunda değişse o zaman servera :59da bağlanan biri için sorunlar olabilir. server veriyi gönderip client çevirip geri gönderene kadar anahtar değişebilir. işte buna güzel bi çözümü olan varsa yapılır .
ayrıca server programı da en iyisi bir firewall görebvi görmesidir. client ile server arasında bağlantı olduğu sürece o ip için geçiş izni verilir. speedi engellemek kolay fakat diğer programları hiç görmediğim için bilemeyeceğim nasıl bir çözüm uygulanılır.[signature][hline]oasisoyun.net
Mail/MSN: [email protected] , ICQ:6254196
Link to comment
Sosyal ağlarda paylaş

Sailor ben tam açamamışım anlaşılan. Senin dediğin gibi olabilmesi için adamın senin her gün değişen protokol olayını çözmesi lazım.

Buda paket dinleyerek biraz zor :) Dinlediğinle kalırsın. Çözemediğin protokolleri kullanarak da paket gönderemessin haliyle.

Protokoleden kasıt server ile client ( sphere ile UO client DEĞİL ) arasında gidip gelen paketlerin header kısımları ( en açık yazabildiğim bu oldu olayı ).

Kullanıcının bilgisayarını her saniye kontrol et, kontrollerin client side olsun, kontrol parametrelerine server side yap.

Ha bu yapılır mı ? yapılır zamanın , bilgin ve isteğin, ve azmin varsa. Bir arkadaş demiş elanrealms de bir aralar vardı benzer bir şeyler diye, evet doğru vardı, beta aşamasını hiç bir zaman geçemedi o mimari ( yine zamansızlıktan ), arkasında muhteşem bir ekip vardı ama hiç birimizin zamanı yoktu bitirilemedi.

Ha kırılmayacak sistem yoktur. Bir yazılım korumasındaki ana hedef, kırabilecek insan sayısını aldığınız önlemlerle minimuma indirmek, ve kırılması durumunda hazırlıklı olmaktır.

Bunuda yazılım firmaları hep bir adım önde giderek yapmaya çalışırlar. Yani sen 2.2 sürümündeyken 2.3 hazırdır fakat sürülmez, 2.4 bitirildiği saniye 2.3 ü sürersin. Bir nevi Buffer yani. Yazılımın kırılırsa anında yeni sürüm koyabilme özgürlüğü tanır.

Yani method çok, yol çok, ben bir tanesini paylaşayım dedim sadece :) Belki hevesli bir arkadaş çıkar, kendine hobi yapar, bişiler çıkarır gibisinden.[signature][hline]Quod non mortiferum, fortiorem me facit.
Link to comment
Sosyal ağlarda paylaş

2 gün yoktum da şimdi cevap yazabildim anca. mesajı yazarken yanlışlıkla geri tuşuna bastım o üzden silindi, kısa keseceğim :)
şu anda aklıma gelen en mantıklı sistem IRC protokolunce kullanılan ping-pong sistemi. server "ping 1032357" gibi bir paket yolluyor bize, biz de aynen "pong 1032357" diye geri yolluyoruz. gecikirsek ya da yanlş yollarsak bağlantı kesiliyor. aynı sistemi bir connector-server ilişkisinde kullırsak sorun çözülür sanırsam. server 10sn de bir random "ping 123456" gibi bir mesaj yollar, clientte "pong 564778" gibi bir mesajı geri yollar. sistemin ircden tek farkı geri yollanan mesajın ilk mesajın şifrelenmiş hali olmasıdır.
aslında yol çok dediğin gibi. yapması da çok zor değil; en azından iletişim protokolünü. clientin makinede hilelere karşı nasıl bir koruma yapacağını bilemiyorum çünkü yeni çıkan şeyler bunlar, görmedim bile hiç :)[signature][hline]oasisoyun.net
Mail/MSN: [email protected] , ICQ:6254196
Link to comment
Sosyal ağlarda paylaş

Bende bu teot hakkında bişeyler yazayımda bildiklerim ne kadar doğru yada nekadar yanlış anlayalım birkere sanırım bu teotun çalışması için pc de bir ultima online clienti açık olması lazım şimdi tek kelimede biri şunu yaparsa sorun hallolacaktır die düşünüyorum teot ve benzeri programlar açıldığında windows altında açlışan bir client arıyor biz clienti başka bir programın altında açlıştırırsak buna ulaşmasını engellemiş olmasmıyız bu sağlam bi yol diye düşündüklerimden biri yoksa daha acemice bir sürü yol var benimle aynı düşünen kimse varmı bence en sağlamı bu gibi he iletişim sistemlerinden bahsetmişsiniz tabi eğer teot pc ile başka pc arasındaki iletişim'i kontrol ederek burdan bişeyler yapıyosa bu bir işe yaramaz tabi ama clienti saklamak die kısaltalım bu sorunu çözer die düşünüyorum?...[signature][hline]

[Bu mesaj StyLe tarafından 30 Mayıs 2005 16:53 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

said:
Sailor, 30 Mayıs 2005 10:22 tarihinde demiş ki:
2 gün yoktum da şimdi cevap yazabildim anca. mesajı yazarken yanlışlıkla geri tuşuna bastım o üzden silindi, kısa keseceğim :)
şu anda aklıma gelen en mantıklı sistem IRC protokolunce kullanılan ping-pong sistemi. server "ping 1032357" gibi bir paket yolluyor bize, biz de aynen "pong 1032357" diye geri yolluyoruz. gecikirsek ya da yanlş yollarsak bağlantı kesiliyor. aynı sistemi bir connector-server ilişkisinde kullırsak sorun çözülür sanırsam. server 10sn de bir random "ping 123456" gibi bir mesaj yollar, clientte "pong 564778" gibi bir mesajı geri yollar. sistemin ircden tek farkı geri yollanan mesajın ilk mesajın şifrelenmiş hali olmasıdır.
aslında yol çok dediğin gibi. yapması da çok zor değil; en azından iletişim protokolünü. clientin makinede hilelere karşı nasıl bir koruma yapacağını bilemiyorum çünkü yeni çıkan şeyler bunlar, görmedim bile hiç :)


dedigin iyi guzelde 300 player'li bir shard'da bu ping ponlu olayi yaparsan sphere cok fazla yorulur. Bu sefer lagtan kirilir millet bence.[signature][hline]Sentenel Ultima Online Shard, Developer & Admin
Sentenel Web Page

Bahtiyar, 10.07.1997
a.k.a Vikont De'valmont
Gel gor beni, gor icerde, bak ne haldeyim!

[Bu mesaj Math- tarafından 30 Mayıs 2005 17:30 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

gülü seven dikenine katlanır :) eğer gerçekten bir çözümse 300kişi ama lamer dolu mu istersin yoksa 250 kişi doğru düzgün mü? bir d hesap yapalım; "ping 123456" mesajı 11bit. dakikada 2 kere kontrol edelim desek bir saatte: 11*2*60*300=396000bit veri gidiyor. bu da yanlış hesaplamıyorsam 48 kilobyte/saat ediyor 300 kişilik bir serverda. eh bende 256 adsl var 3sn sürmez bunu yollaması :)[signature][hline]oasisoyun.net
Mail/MSN: [email protected] , ICQ:6254196
Link to comment
Sosyal ağlarda paylaş

away ile alakası yok. irc gibi bir sistem derken onu kastetmedim. ping/pong her 30sn de bir (atıyorum) olacak bir olay. ve bunun ultima online clienti ile alakası yok.away dursun şunu yapsın bunu yapsaın farketmez. bu transfer tamamen connector ve serverdaki bir başka program arasında gerçekleşecek, uo ile sphere(yada her neyse) arasında olan tranferle alakası yok. o yüzden ne yaparsa yapsın bu bir saatteki toplam alışveriş miktarı maximum 48 kilobyte olur.

düzeltme: karakterlere 1 bit demişim düzeltiyorum 1 byte olacak. yani 48*8=400 küsür byte olacak demekki.

[Bu mesaj Sailor tarafından 30 Mayıs 2005 18:07 tarihinde değiştirilmiştir]
Link to comment
Sosyal ağlarda paylaş

bak bende geçen bunu bir arka sordum bunu engellemenin bir yolu yokmu diye bana dediki www.ultima-strike.com a gir ordan web master ile bağlantıya geç dedi.Onlareın ufak bir reklamını kendi sitenemi ne yapıyormuşsun ama siten uo sitesi olucakmış.Onlarda sana connecter için teotan kurtulmanın yolllarını veriyorlarmış.Diye duydum valla isterseniz bir deneyin.

[email protected] buda msn adresi.Benden bu kdr .p[signature][hline]Ekşın Time Forever Uo
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...