cracked edilmemesini engelleyemezsin, sadece zorlastirabilirsin. Crackerlarin parolasi "calisan her sey kirilir."
Ancak coluk cocugun kirmasini istemiyorsan yapacagin belli basli isler var.
Oncelike neden her sey kirilir? cunku bir programin calismasi demek, bilgilerini memory e yazmasi demektir. Yazilan her sey okunabildigi icin de oradan hareketle her sey kirilabilir. Ancak daha guvenilir bir sistem icin dongle sistemini arastirabilirsin. Onemli olan anahtar-kilit sistemi kurabilmen. Boyle olursa, kilidi sadece tek anahtar acabilecegi icin cabalar beyhude olur.
Yazilimin cok degerliyse; bahsettigim dongle ile koruyabilirsin. Biz acrobat ve MS Office in güvenilir olarak kabul ettigi bir sertifika firmasiyla calisiyoruz dijital sertifika icin. Verdikleri sertifika bir dongle da yazili. Kullandiklari dongle da safenet in. Degisik urunler de mevcut HMS gibi (daha cok yasadigim ulkedeki devlet bu sistemi kullaniyor).
Dongle u manupüle eden yazilima dogru bilgieri vermedikce dongle a erismesi mumkun degil. Dongle bu durumda bizim bir anahtarimiz oluyor, ve kilidimizi o anahtar olmadan acamiyoruz. Haliyle en guvenilir yontem bu. Sen de gerekli olan bir bilgiyi bu sekilde dongle ile koruyup, gerekli bilgiler verilince, geri donderirsen programini en hat safhada korumus olursun. Cunku adamlar programi kirsalar bile ellerine bi sey gecemeyecek cunku anahtar dongle dan gelmedigi icin bir anlam ifade etmeyecek.
Daha acik ornek verirsem
ben yarin ...... gidiyorum.
ben yarin ve gidiyorum kelimeleri programinda olsun. .... ise dongle da olsun.
buradaki .... nin ne oldugunu nasil bulacaksin dongle a erismeden? O yüzden dongle dan o veriyi almadan bu cümle anlamli olmaz yani istenilen isi bize tam soylemez. Iste dongle i bu asamada kullanmak gerek. Dongle i hacklemek de o kadar kolay degil, iyi bir elektronik bilgin olmasi lazim. Ki bu sekilde crackingi dünyada yapacak insanlar sayilidir.
Bu isin profesyonel tarafi..
Yazilim korumaya gelince; hazir sistemler kullanmak istemedigini soylemissin ama bir obfuscator yazacak bilginin oldugunu dusunmuyorum. Zaten o kadar derin low-level programlama bilgin olsaydi bu konuyu acmamis olurdun.
O yüzden; hangi dille yaziyorsun bilmiyorum ama obfuscatorler iyi is yapiyorlar (her ne kadar piyasada cok iyi de obfuscatorler olsa da ornek: de4dot). Bir de isi daha zorlastiran packer lar mevcut. Ben sahsen themida yi tavsiye ederim. Bir cok dil icin kullanabilirsin
http://www.oreans.com/themida.php
Kodlama teknihi önemli olsa da iyi bir cracker icin cok sorun olmaz takip etme. En fazla isini zorlastirirsin. Bunlarla ilgili yiginla makale vardir, onlara girmek istemiyorum.
Dongle alternatifi olarak bu anahtar-kilit olayini webservis ile yapabilirsin. Webservis, dongle in yaptigi is gibi sana anahtari dondermesi yeterli. Bunu alabilmek icin de servise dogru bilgileri vermesi gerek. Kullanici adi sifre gibi. O da geriye token yollar vs. Bu token her yerde kullanilmasin istiyorsan da bir timestamp ekleyebilirsin ve icine cesitli bilgiler gomebilirsin ama yine de %100 guvenlik saglanamayabilinir. Ama piyasada profesyonel yazilimlarda bu sekil oauth2/oauth2 cozumler mevcut.
Dikkat edersen pek fazla kaynak kodlarini korumasiyle ilgili konusmadim. Cunku bir sekilde bu kisim cozulebilir ama diger kisimlerin cozulmesi cok kolay bir is degil.
kolay gelsin