Merhaba bu yazimizda sizinle programlarimizi nasi koruyabilecegimze bir goz atacagiz..Anet newsgroupda da boyle bir soru soruldu şimdi burada yapmak istedigimiz şey programimizin kopyalanmasini engellemek..şimdi bunun icin kullanacagimiz şey kullanicinin hdd seri no’su ve bilgisayara kayitli kullanici adi..
şimdi bunu nasil calişan bir sisteme ceviririz ona bir bakalim..Sistem şu parcalardan oluşacak :
- Programi Download etmeden yapilacak bir registration..
- Programi caliştirdiktan sonra gidilecek bir asp sayfasi..
- Birkac Module
Artik başlayalim şimdi ilk yapmamiz gereken şey kullanicilarin bilgilerinin tutulacagi bir DB yaratmak bu DB’da programi kullanan her kullanicinin Adi ,Soyadi ,Email Adresi,Telefonu gibi blgiler yer alacak..şimdi DB hazir diyelim bir registration sistemi yapcaz ASP ile burada kullanici programi DL etmek isterse sisteme kayit girişi yapacak..Daha sonra program cekilecek ve kurulacak.. Program ilk caliştigi zaman size user name ve password soracak siz bu user ve pass’i girdikten sonra siteye giderek DB’i kontrol edecek eger boyle bir user varsa registry’e encrypt edilmiş bir value girecek ve DB’deki Status degerini 1 yapacak , yoksa uninstall edecek kendini..
şimdi daha onemli bolume bir goz atalim :
Program caliştigi zaman registry’de bir degere bakacak daha sonra bu degeri kontrol edecek..Nedir bu deger ? Bu degeri şu şekilde elde ediyoruz..Kullanicinin HDD no’sunu ve KULLANICI ADI’ni aliyoruz (API’ler ile) daha sonra bunlar encrypt ediyoruz ve string’in sonuna bir numara kouyuyoruz bu numara kullanici adi’nin kac karakter uzunlugunda oldugunu gosterecek..Ornegin kullanici adi SOURCE olsun string 12345-123456-12345SOURCE06 gibi olacak..daha sonra encrypt etmemiz gerekiyor bunu diyelim bunu encrypt ettik elimize 54123-66234-66778-JKIEL6 stringi var bunu registry’e yazdik..Program bunu encrypt ederken sondaki iki numarayi alacak bu kadar karakteri kesecek(sagdan) ve bunu decrypt etcek..Daha sonra bunu uzerinde caliştigi sistemle karşilaştiracak eger uyuyorsa devam edecek yoksa uninstall..Devam etti diyelim : uzerinde caliştigi HDD’nin seri no’sunu alacak ve registry’dekini alip encrypt edecek eger numaralar birbirine uymuyorsa kendini uninstall edecek..Eger uyuyorsa…
Artilari :
- Tum kullanicilarin bilgilerinin bulundugu bir DB buraya kayit olmadan calişilamaz..
- Kullanici adi ve şifre sistemine gore daha zor bir sistem(kirilmasi acisindan)
Eksileri :
- Her şifreleme sistemi gibi kirilma riskinin bulunmasi
Burada gelebilecek bir eleştiri de neden kodu buraya koymadiniz gibi bir şey olabilir ..
Cevap : Buradaki kodu sizden başkalari de gorebilir
IPUCU : Eger kullanici adi yerine başka bir degişken kullanmak isterseniz Windows Seri Numarasna goz atin
Biraz daha zekice duşunursek hic akla gelmeyecek bir sistem karşimiza cikiyor ama bunu aciklamak ne kadar dogru olur bilemem..