Özel mesajı shurzan'a attım. :) Kendisi bu forumu izlemiyor.
Ali
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]
July 03, 2013 Kaynak kod'a dosya gömülebilir mi? | ||||
---|---|---|---|---|
| ||||
Posted in reply to agora | Özel mesajı shurzan'a attım. :) Kendisi bu forumu izlemiyor. Ali -- |
July 04, 2013 Kaynak kod'a dosya gömülebilir mi? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli (acehreli) | Merhaba hocam, agora ve arkadaşlar, agora arkadaşım hem ceviz.net de hem de buradaki mesajları okudum, anladığım kadarıyla programının kırılmasını engelleyecek algoritma geliştirmek istiyorsun, eski bir cracker olarak diyebilirim ki bunu unut, tam bir koruma yoktur, kırılamayacak program olası değildir. Biz ancak Lamer lere karşı koruma yapabiliriz. Zaten bu eşyanın tabiatına aykırıdır. Cracker ler da en az bizler kadar yazılım uzmanıdır ve kaynak kodlarıyla değil makine kodlarıyla çalışırlar. Ali hocam birlikte Borland C++ yazılım dili ile geliştirmiş olduğumuz iki proje vardı ve bunları lisans ile korunma konusunda kendi geliştirmiş olduğum özel çalışmam var yenisini geliştireceğimden en azından teorisini paylaşmaktan zevk alırım umarım faydası olur. öncelikle: Borland C++ da da diğer dillerde de kaynağa dosya gömülebilir, dosyanın bellekte bulunduğu konumda çalıştırılması gerekir ki çok zahmetli çökme ihtimali var. Gömülü dosyayı diske açsan ve ana programın işini tamamlamadan çöktüğünde dosya diskte olacaktır ki bu da daha büyük bir sorun. Java ile yazdığın programı C++ ya da D dili ile yeni bir program yazarak koruma altına alman kusura bakma ama bana pek mantıklı gelmedi. Doğru olanı, java ile yazdığın programı C++ dili veya orijinal kodlara dönüştürülemeyecek iyi bildiğin bir dille yeniden yazmak olabilir, korumayı da o dilin olanaklarını ve senin geliştirmiş olduğun algoritma ile olmalıdır. Ben nasıl çalıştım(teori): Program arayüzü aktif olduktan sonra timer ile belirli bir zaman sonra registry de programın lisans keyini arar yoksa deneme süresi dolup dolmadığını kontrol eder, hiç bir uyarı vermez. Sadece deneme süresi dolduğunda sürenin dolduğunu uyaran sistem tray de balon açar. Deneme süresini de sistem time dan kontrol etmek hata olur. Ben işletim sistemi her aktif olduğunda yazdığı bir dosyanın son değiştirme tarihi ile benim programımın ilk kurulduğunda sisteme yazdığım ve gizlediğim dosyanın dosya tarihi ile karşılaştırıyorum :) . deneme süresini böyle kontrol ediyorum. Halende en sağlam yol bu olarak görüyorum. Program kurulduğu makinenin donanım bilgilerini alarak Machine kimliği oluşturup registry e yazıyorum. Sadece iki şey alıyorum HDD fabrika seri no ve mac adresi. Çünkü; işlemci değişebilir başka modüllerde ama HDD değiştirildiğinde sistemi zaten çökmüştür ve lütfen kimliğini doğrulasın ki yeniden lisans alabilsin, bunun için de mac adresini de alıp depoluyorum registry e, her iki donanım değişmişse zaten başka makinedir. Bu işlemi Thread açarak programı kasmadan yapıyorum. Makine kimliği oluşturduk nasıl koruyacağı? Buraya kadar olan kısım Makine ID(kimliği) ve Lisans üretme şekliydi. Ayrıca Programını basitte olsa pack programıyla pack etmen iyi olur. Bir diğer konu da Lisans dağıtımı: Normalde Lisans isteyen kişi sana bir şekilde TLF, mail vb. aracılığıyla Machine ID göndermesi karşılığında da senin Lisans anahtarını göndermen gerekir. Bu çok külfetli yoldur. Zamansız telefonun çalması ya da Mail'e geç cevap verilmesi gibi sıkıntılar olacaktır. Bunu da istersen sen düşün ya da kendi geliştirmiş olduğum otomatik lisans alama ve registry etme çalışmamı da paylaşırım tabi bunun için PHP, ASP gibi bir betik dili de biliyor olman lazım. Amacımız programın kırılmasını önlemek olamayacaktır kolay kırılmasını önlememiz olmalıdır. ve Ayrıca Programının kırılmaya değer görülmesi de bir ayrıcalıktır. Bu makalem senin çalışmana uygunsa C++ kodlarını da paylaşırım. Hoşça kal -- |
July 04, 2013 Kaynak kod'a dosya gömülebilir mi? | ||||
---|---|---|---|---|
| ||||
Posted in reply to shurzan | @shurzan Hocam cok aydinlandim bilgilerinizden istifade etme konusunda cok tesekkur ederim. Egitim setlerimiz farkli iste Solidworks, AutoCad, Ps ve bi kac web dili. Bunlari iste pencereli ekranlardan izleticez. Dediginiz gibi bu setler tutarsa bu sefer de herkese yetistiremeyiz. Dusununce ya donanim degisirse gibi :) Ben cracking islemlerini bilmiyorum ama ilgimi ceken mesela basit toplama, cikarma gibi islemlerin, fonksiyonlarin cracker'i ugrastirmasi :) Siz bu mesaji yazmadan once bugun icinde ben soyle bise yaptim Program'in kuruldugu dizine bir dosya atadim "grafikler.h" adinda. Sonra bilgisayarin sistem klasorlerinden birine bu random oluyor ama sistemde bi dizine atiyor "windows.h" gibi isimler veriyorum. Bu dosyalarda 2 tane tarihsel deger ve yine belirtilen lisans key'i yer aliyor. Ancak bu lisans key'i direkt olarak isleme tabi tutulmuyor. Lokalde bir deneme yaptim. php ile yazdigim ve veritabanindan sorgulama yaptigim bi sey ornegin o 2 dosyadaki key aynidir. uzak sunucudaki veritabaninda sorgulama yapar eger ayni ise programi acar. ve bu lisans dogrulama islemini de programin tam olarak kendisi ile yapmiyorum. resource'a gomulu dll ile yapabilirim ya da yine o dll'i gizleyerek bi yere yuklerim ve orada aktif ettirir dediginiz gibi free hale getirebilirim. biraz karisik konustugumu hissettim :) uyari penceresi konusunda yine bilmiyordum ogrendigim iyi oldu bunu da. Aslinda kod yazmaktan cok guvenlik ogrenseymisim daha iyi olacakmis. Daha once bu tip projelerle kesin calismissinizdir. .NET ve Standart C++ ve D ayni anda kullanilabilir sanirim. Bu kisim ise kendi yazdigim programlara kaliyor. Bunlarda key, lisans vs. istenmemekte. Bunlarinsa kaynak kodlarinin gizlenmesini saglamak istiyorum ama bunlar da imkansiz sanirim. Sistem saati seklinde koruma ben de dusundum ama saati geri alinca problem yaratti hep bana :) Registry konusunda suphelerim var. Acaba nasil ve ne sekilde gizleyebilirim bu konuda onerileriniz var mi? Bu hash algoritmasi konusu da var hocam md5 kullanmiyorum. Universitede 1-2. sinifta calismamiz olan matematiksel ve mantiksal bi algoritma vardi. md5 benzeri diyemem uretilen sifre metodu 7-11 hanelidir. iste 2 key'i oyle sifrelesek olabilir mi? is karsilastirmaya gelince hafif oradan suphem var. Neyse benim bilgi birikimim sizin kadar degil bu yuzden yazarken zorlandim diyebilirim karmasik oldu ise cok cok ozur dilerim hocam. Vakit ayirdiginiz icin cok cok tesekkur ederim :) -- |
July 04, 2013 Kaynak kod'a dosya gömülebilir mi? | ||||
---|---|---|---|---|
| ||||
Posted in reply to agora | agora ilgi çektiğine sevindim, Yazdıklarına cevaben: Ben cracking islemlerini bilmiyorum ama ilgimi ceken mesela basit toplama, cikarma gibi islemlerin, fonksiyonlarin cracker'i ugrastirmasi Alıntı: >Program'in kuruldugu dizine bir dosya atadim "grafikler.h" adinda. Sonra bilgisayarin sistem klasorlerinden birine bu random oluyor ama sistemde bi dizine atiyor "windows.h" gibi isimler veriyorum. Bu dosyalarda 2 tane tarihsel deger ve yine belirtilen lisans key'i yer aliyor. Ancak bu lisans key'i direkt olarak isleme tabi tutulmuyor. Bu yanlış bir yöntem sistem dizininde gereksiz dosya kirliliği yapacaksın. Ancak sistem dizininde sisteme ait bir dosya var 'bootstat.dat' bu dosya Windows her açılında güncellenir. bu dosyanın değiştirme tarihi Windows'un son aktif oldu tarihtir. Programın kurulduğu tarihi de aynı yöntemle bir kereliğine bir dosya atarak iki arasındaki zaman farkı senin deneme süre kontrolün için yararlı olacaktır. Alıntı: >o 2 dosyadaki key aynidir. uzak sunucudaki veritabaninda sorgulama yapar eger ayni ise programi acar. Alıntı: >Daha once bu tip projelerle kesin calismissinizdir. .NET ve Standart C++ ve D ayni anda kullanilabilir sanirim. Bu kisim ise kendi yazdigim programlara kaliyor. Bunlarda key, lisans vs. istenmemekte. Bunlarinsa kaynak kodlarinin gizlenmesini saglamak istiyorum ama bunlar da imkansiz sanirim. Alıntı: >Registry konusunda suphelerim var. Acaba nasil ve ne sekilde gizleyebilirim bu konuda onerileriniz var mi? Alıntı: >Bu hash algoritmasi konusu da var hocam md5 kullanmiyorum. Universitede 1-2. sinifta calismamiz olan matematiksel ve mantiksal bi algoritma vardi. md5 benzeri diyemem uretilen sifre metodu 7-11 hanelidir. iste 2 key'i oyle sifrelesek olabilir mi? is karsilastirmaya gelince hafif oradan suphem var. -- |
July 04, 2013 Kaynak kod'a dosya gömülebilir mi? | ||||
---|---|---|---|---|
| ||||
Posted in reply to shurzan | Hoşgeldin shurzan! :) Benden sonraki ilk üye olmana rağmen ilk defa mesaj yazdın. :) Ali -- |
July 05, 2013 Kaynak kod'a dosya gömülebilir mi? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ali Çehreli (acehreli) | Hoş bulduk hocam, -- |