123 olayı yalan olur. çünkü şifre sabit yani "123". mesela programı verdin birine şifre 123 oda arkadaşına verecek 123 oda arkadaşına verecek 123 böyle gidecek. exe nin dağıtımını engellemek içinde birşey yapamazsın şifrede var program dağılır. o yüzden işlemci,hdd yada buna benzer donanımların numaralarını alıp md5 e çevirip adamdan bu kodu istersin. adamın sana verdiği kodu çözücü olarak yazdığın program ile çözersin ve yollarsın herkese farklı şifre olmuş olur. bu biraz profesyonel şimdilik senin için ancak istersen araştır. md5 şifreleme ve çözme mantığını anla sonra hdd yada işlemci numarası alma bunları araştır.. kolay gelsin. |
apartmanların önce temeli atılır. 123 orada sadece bir örnek. 123 yerinde bir değişken koyarsın sonra da bu değişkeni veri tabanından alacağın değere eşitlersin vs vs. hayal gücünün sınırı yok, orada 123 yazıyor diye 123 olarak düşünme. |
gelişime ve değişime her zaman açığız tabiki. farklı çözümler bizi de mutlu eder ![]() ![]() |
Programlamaya 3-4 gün önce başlamış biri md5 e girerse asıl o zaman o adam yalan olur ![]() ![]() |
o zaman sınırını bilip sırayla gidecek. şimdiden böyle problemlerle uğraşmayacak dimi ![]() |
yalnız o "123" "123" dağıtır olayını engelleyemezsiniz, normal key olayı da temelde aynı zaten abc125-daf125-dgds15264 vs şeklinde keylerin var diyelim, bunları bir servera bakıp kontrol etmiyorsun ki(son oyunlarda gerçi o da var), dolayısıyla diğer kullanıcılarda onu girince aynı şekilde kabul eder, tıpkı "123" gibi. hadi diyelim yaptın server kontrolünü, bu sefer offline kullanıcılara "siz ölün ibneler" diyemezsin, onlara da eğer key geçerliyse senin algoritmana göre, izin vermek zorundasın. bu sefer gider adam hosts dosyasını değiştirir, kendini gene offline gösterir. hadi diyelim server kontrolünü yaptın key geçerli mi diye, keyi birden fazla kişi kullanıyo mu diye, offline kullanıcılara da "siz ölün ibneler" dedin, bu sefer adam bi virtual machine kurar, senin ana makinanın ipsini server ipsi yaptırır gene kullandırır.(scrapeboxun korsan sürümünde direk var bu olay) hadi diyelim offline kullanıcılara "siz ölün ibneler" dedin, keyleri serverda kontrol ettirdin, belli bi kullanıcıdan fazlasının kullanmadığına da emin oldun, sahte server olayını engellemek içinde oyundaki bazı bilgileri kullanıcıya internetten atıyosun, bu sefer gene görülüyor ki "assasins creed" örneğinde olduğu gibi, adamlar uğraşıyor gene sahte serverını da, databaseını da yapıyor... sen kullanıcıya işkence çektirdiğinle kalıyorsun sonuç olarak, korsan hareket engellenemez. sadece crackliyeni uğraştırırsın en fazla. en mantıklısı en popüler olan basit key sistemi olacaktır ki o da zaten "123"ün birden çok şifre olan hali, belki bir de server kontrolü. ancak sen öyle saçma sapan sistemler geliştirirsen millet gene kırar ve kullanıcıya işkence çektirdiğinle kalırsın, korsan kullanıcı her türlü işini görür.(based on true story, "ubisoftun başına gelenler") |
Eğer programının dağıtılmasını engellemek istiyorsan sana basit bir yol önerebilirim, ne kadar güvenli olduğu tartışılır ama zaten şifrelerin göz korkutmaktan başka ne görevleri vardır ki? Bir kullanıcı bir bilgisayarda programı ilk defa çalıştırdığında ekrana kayıt ekranını getirirsin. Kayıt ekranında bir şifre olur, bu şifre bilgisayarın HDD numarasından herhangi bir algoritma ile türetilmiş bir şifredir. Kullanıcı bu şifreyi sana verir, sen de bu şifre ile yeni, geri dönüşümü olan bir algoritma ile şifre türetirsin ve kullanıcıya verirsin. Kullanıcı bu şifreyi programa yazar. Programın yapacağı iş ise sadece şudur: HDD numarasının herhangi bir algoritma ile şifrelenmiş hali ile, kullanıcının senden aldığı şifrenin çözülmüş hali aynı mı? |
sanki bu 4-5 mesaj yukarıda yazılmıştı ![]() |
Önce bunları araştırmaktansa konu hakkında genel bi bilgi sahibi olup sonra bu konulara dönmen daha iyi olur bence. Ücretli programlar yazacak seviyeye geldiğinde muhtemelen bu sorunun cevabını hiç forumlara sormadan kendi kendine bulabiliyor olacaksın. |
Üstünkörü okumuştum, çok özür dilerim. |
veri tabanı kontrolünde bir şekilde uzaktaki sunucuyu tekilleştirebilmek mümkün olabilir. yani vt içerisindeki bir alana, mevcut sunucu üzerindeki bir donanımın idsi ile karşılaştırılma yapılabilir. olası bir donanım arızasında mevcut id değiştirilir. zaten kontrol iç tarafta yapılacağı için crackleyen vatandaşında bunu bilebilmesi bana pek mümkün görünmüyor. yani direk olarak karşı vtye erişim sağlamış, tablo içeriklerini görüntüleyebiliyor olması gerekir. e zaten bu kadar ileri gidebilmişse yapacak pek fazla da birşey kalmıyor. ama son kullanıcı için de bu defa internet bağlantısı şart haline geliyor. çok değişik varyasyonlar da çözümler üretilebilir, günümüz şartlarında hiçbirisi kırılmaz değildir. bence hedef ilk etapta key dağıtımını engellemek olmalı. |
demek istediğim de o zaten, adamlar her türlü kıracak onu. hiç işi zorlaştırmaya gerek yok, normal key sistemleri gibi basit bi key sistemi yapılır o kullanılır, yoksa yok işte offline kabul etmem vs dersen olan o programı gerçekten satın alana olur. ama aslında şimdi düşününce, adama sistem değişince otomatik key veren bi sistem yapılabilir bi web sitesi üzerinden(bunu da her 3 ayda bi veririz vs diyerek milletin sürekli değiştirmesi engellenir) "zaten kontrol iç tarafta yapılacağı için crackleyen vatandaşında bunu bilebilmesi bana pek mümkün görünmüyor." demişsiniz ama zaten sen söylemesen bile anlayacak, sisteme göre key değiştiğini test etmesi için sonuçta sadece sistemini değiştirmesi yeter, ki sen zaten web sitene "yeni key için tıklayın" "yeni key için mail atın" vs tarzı bir şey yazınca, bu ihtimal adamların aklına gelecektir. sonuç olarak, dediğin sistemde tabi bunu anlasa bile, server ile kontrol ediyosun. giremez gene. e bu sefer sorarlar adama, niye normal key veripte server kontrolü yapmadın ? sonuçta zaten serverdan bakarsın 2 kişi mi kullanıyor diye, boşuna adamın sistemini kontrol etmenin ne lüzümu var ? |
1-hic birsey anlamadim. 2-ben sadece mumkun olup olmadgni sordum once emekle dyen arkdslara,ve oluyorsa kodunu istedm bu kadar kasmaya gerek yok :d yardm edenlere cok cok tesekkur ederim |
özet geçersek 1-2 satırda: en akıllıca iş 153adf-13635j-13jjk tarzı bi key sistemi olacaktır, "product key c# how to" tarzı aramalarla googledan bulabilirsin, yüzlerce örneği var bunu bir de serverla kontrol ettirebilirsin, ama bunu yaparsan olan interneti olmayana olur, crackleyen zaten interneti kesip halleder(Veya host dosyasın değiştirir) veya interneti mecbur kılarsın, öyle bi key var mı bakmakla kalmaz bir de tek kişi mi kullanıyo diye bakarsın, interneti olmayan kullanıcıya olur gene olan ve crackliyen adam zaten sahte bi server, virtual machine vs. her türlü halleder |
aslında benim demek istediğim donanım kullanıcının değil, serverın donanımın kontrol etmek. burada ki amaç ise veri tabanının taklit edilmesini engellemek. key dağıtım kısmı ise web sitesi veya mail üzerinden değil de, yine program üzerinden yapılacak yani zaten senin kullanıcıya vermiş olduğun bir key hali hazırda mevcut olacak kullanıcı bu keyi girdikten sonra sunucu üzerinden direk doğrulamayı yapacak ve keyin kullanıldığına dair bir alana veri girişi sağlanacak ve bu key tekrar doğrulanmak için geldiğinde kullanımda göründüğü için doğrulamadan geçemeyecek. ve mükerrer key kullanımını engellemiş olacağız. burada ki tek sorun, ikimizin de hem fikir olduğu, çevirimiçi - çevirimdışı sorunu. aslında bu noktada kafa yorulsa bir çözüm üretilebilir. |
bu yöntemle varitabanının başına bi şey gelirse büyük sorun olur yalnız. tabii o ayrı, dbnin başına ne gelcek zaten onun dışında fikir mantıklı da, sahte serverın önüne geçmenin daha mantıklı bi yolu olmalı. gerçi bunu yazarken aklıma geld, db çökerse vs programın yeni sürümü çıktı eskisini iptal ettik dersin olur biter ![]() |
Abicim adam mümkün mü demiş sadece. Mümkün, hele arkadaşın dediği gibi parayla program yazabilecek seviyeye geldiğinde bu tür programlar senin için sıkıcı hale gelicek çünkü saniyelerini alıcaklar en fazla. Şimdilik yeni bir sistem ve şifreleme sistemi üretmediğin sürece her türlü Key sorgulaman kırılacak. Ama tahminimce şu aşamada yaptığın program kırılmaya değer(İşi bilen kişiler tarafından) bir program olmayacak o yüzden fazla korumaya gerek yok. İyi çalışmalar görsel ders kitapdan daha faydalı olur (kişisel görüşüm) az çok ingilizcen varsa binlerce yüzbinlerce görsel ders var(Ama sanırım internetin kotalı dolayısıyla kitap istiyorsun öyleyse yapcak birşey yok). |
Merhaba arkadaşlar benim bi sorunum var yardımcı olursanız sevinirim .... klavyeden her sol tuşa ya da boşluk tuşuna bastığımda ingiliz tablosundaki ingilizce kelimelerin tek tek label e gelmesini istiyoeum...yani sol tuşa her bastığımda sırayla bi kelime gelecek...ben bu kodu yazdığımda sadece bir kelime geliyor tekrar sol tuşa bastığımda başka kelime gelmiyo...hata da vermiyo program içerisinde...ne yapmalıyım yardımcı olabilecek varmı... bu arada bu kodu form1 in KeyDown kısmına yazdım... OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=DICTIONARY.mdb"); string sorgum = "select kelime from ingiliz"; OleDbDataAdapter adap = new OleDbDataAdapter(sorgum, baglan); DataSet ds = new DataSet(); baglan.Open(); adap.Fill(ds); baglan.Close(); ingiliz.Text = ds.Tables[0].Rows[0][0].ToString(); int i = 0; while ( i < 2) // direkt olarak tablodaki ikinci kaydı getiriyor...birinci kaydı göstermiyor... { if ((int)e.KeyCode == 37) // sol { ingiliz.Text = ds.Tables[0].Rows[0].ToString(); } } |
aldığın kelimeyi arttırcaksın şöyle; ingiliz.Text = ds.Tables[0].Rows[0].ToString(); //SEN BÖYLE YAPMIŞSIN ŞÖYLE OLMALIYDI; int x=0; .. //TUŞ BASILINCA; ingiliz.Text = ds.Tables[0].Rows[x].ToString(); x++; |
bu sistemi yapmak zor bişi değil ya, yeni biri yapabilir biraz uğraşsa
Bu mesaja 1 cevap geldi. Cevapları Gizle