eğer piyasada ciddi anlamda iş yapacaksan sana önerim dll dışında. net için kodları şifreleyen programlar var biraz pahalı ama kimsede yok gibi ondan dolayı guvenlik altına almış olursun hem kodları hem datayı şifrelersen rahat edersin

DincerAydogdu sadece merak ettiğimden bundan bir sene önce yapmış olduğum bir dll dosyasını rapidshare e gönderdim http://rapidshare.com/files/114812326/App_Web_wokxpsqb. zip.html Rica etsem bunun içindeki kodları bana gönderebilir misin? Yanlış hatırlamıyorsam vb dosyasında 1617 satırlık kod vardı.aspx dosyasında da 2274 satır kod vardı. Kaç satır olduğu önemli değil. Senin program bu iki farklı dosyayı da ayırabiliyorsa süper verimli çalışıyor demektir. Eğer bu dll yi açabilirsen içerisinde yukarıda verdiğim rakamlar kadar kod çıkmayabilir belki.. Çünkü kodları bitirmeden de dll yapmış olabilirim.. Ama en azından en üst satırdan ortaya kadar kodlar nasıl görünüyor merak ediyorum

14 günde projemi bu programla tamamlasam 15. gün projem bozulmaz dimi trial olduğu için?

Bana bir. NET DLL gönder sana bunu kaynak kodlarıyla proje olarak göndereyim. Projeyi aldıktan sonra da güvenli olup olmadığına sen karar ver Senin imdadına yetişecek olan &quot;. net obfuscate&quot;. Yani kod karıştırma ve çekirdeği low levele çevirme. Bir çok 3rd party yazılım dağıtımcısı yazılımının lisans bölümünü c++'da kodlar. Ardından da kodlarını obfuscate eder.

Bir arkadaşım bunun kırılabildiğini söyledi. Yani kodların değil programın kirek dosyasının internette bulunduğunu söylemişti.

CMYLMZ ASM derken neyi kastettiğini bilmiyorum? tiva peki ne tam güvenlik sağlar? Yani bir proje yapıyorsunuz 4 ay uğramışsınız.. Birileri de almış sizin projenizi kendi projesi gibi satışa sunmuş.. Böyle birşeyin başıma gelmesini istemiyorum. Bunun için ne yapabilirim? DÜZENLEME 1 : Başka bir forum sitesinde şöyle bir yorum geldi ; DLL lerin içi açılırken %60 ını görebilirlermiş.. %40 ı bozuk çıkar veya çıkmaz gibi birşey söylediler.. Doğru mu? Yani dll nin içinin %100 ü görülemiyorsa o zaman sorun yok zaten.. Geri kalan kısmını bulmak için uğraşmazlar herhalde DÜZENLEME 2 : index.aspx index.aspx. vb bu iki kodu dll ye çevirdim. İki dosya tek dll de birleşti. Adı da App_Web_wokxpsqb. dll oldu. Bu dll dosyasını reflector adında bir net dll decompiler programıyla açtım. İçinde kendi yazdığım değişken adları falan görülüyor.. Ayrıca onlarca şey görünüyor.. Hepsi de karışık şeyler.. Ama anladığım kadarıyla birileri benim yaptığım dll dosyasını açıp kodlarımın %100 ünü göremiyorlar.. Hatta ben yanlış yere mi baktım bilmiyorum %90 ını bu programla göremedim.. Ama %90 ını görmüş olsam da geri kalan %10 luk kısmı için kırmaya çalışan insan oturup kod yazmaz zaten.. Yani bence projem gördüğüm kadarıyla dll ile güvenlik altına girmiş oldu. Gelelim ikinci konuya.. Kodlarımda bu site aaaa.com değil ise error.html e git diyicem. Bu yeterli bir güvenlik olur mu? Yoksa başka ne deneyebilirim? Cem Yılmaz asm de bu kodu değiştirebileceğine emin misin?

Aslında hangi dil olursa olsun herhangi bir kodun çözülmesini engellemek imkansız gibi. . NET için konuşmak gerekirse , benim bildiğim en iyi koruma yöntemi XenoCode; http://www.xenocode.com/Products/Postbuild/ 14 günlük deneme sürümünü deneyebilirsiniz. Reflectorle bile açılmadığını farkedeceksiniz. CLI header'i şifreleyip yeniden yazıyor. Ayrıca kodu IL'e de çeviremiyorsunuz. Size kalan tek yöntem makina kodlarını debuglayıp değiştirmek oluyor ki bunu yapan sınırlı sayıda insan var dünyada.

Diyelim ki üzerinde 4 ay çalışacağım büyük bir projeye başlıycam.. Bu projeyi satışa sunup, onlarca kişiye satıcam.. Sattığım bir kişinin de başkalarına satamaması veya bedava dağıtamaması için kodlarımı DLL ye çevireceğim.. Bu şekilde kodları korumuş olacağımı düşünüyorum.. Eğer kodların tümünü dll ye çevirirsem dll yi açıp kodlarımı bulabilme ihtimalleri var mı acaba? Yani dll tam güvenlik sağlar mı? Örneğin dll içinde kodumda şöyle diycem en üst satırda.. Şuanda sitenin çalıştığı adres aaa.com değilse Error.html e git. Bu iyi bir güvenlik yöntemi midir? Bu yöntem çok kolay görünüyor dll + domain bazlı.. Acaba kırılabilirler mi bu yöntemi?

php'de de dll'e çevrilebiliyor mu? peki php'leri de dll'e çevirsek bunu host dsetekler mi, ayrıca bişey mi kurmamız gereklidir çalışması için?

hakanizm, açıkcası bunu bilmiyorum. Ben trial olarak kullanmadım bunu hiç.

Moralimi bozdun şimdi http://dotnetprotector.pvlog.com/basket.aspx bu adreste 300-750 Euro arası değişiyor versiyon fiyatları. Biraz pahalı gibi Böyle bir güvenlik programının herhalde kırılmışını bulmak çok zordur. Veya bu işlemi yapan bedava bir program bulmak da çok zordur herhalde? Aslında proje ne kadar büyük ise bu programların fiyatları da o kadar küçük gelir insana.. Sonuç olarak dll denilen şey pek de işe yarar birşey değilmiş. Microsoft herşeyi yarım yamalak yapmasa olmaz sanki. Bilgiler için teşekkürler. Çok faydalı oldu.

reflector add-in'i ile yaptım. Reflector aslında IL okuyucudur. IL'i alır ve kendince yorumlayarak istediğin dilde görüntüler. Projenin çalışabilmesi için gerekli tüm dosyaları bana vermiş olsaydın üzerinde 1 günlük çalışmayla kodlar birebir aynı olmasa bile aynı şekilde çalışır şekile getirebilirdim. Ancak program kırılmak istenirse zaten projeye çevrilip kırılmaz. Bunun yerine ilgili IL kodu tamamen açılır ve ilgili yer bulunur ve sadece orası değiştirilip tekrar derlenip DLL yapılır. Obfuscate önerisine gelince; http://www.howtoselectguides.com/dotnet/obfuscators/ Bu adresten biraz incele istersen. Kararını sen ver.

Kodları görünce şaşırdım Benim görebildiğim kodlardan çok daha fazlasını görebilmişsin. Hangi program ile kodları export yapabildin? Yine de.. Şöyle bir baktığımda benim kodlarımın çoğu yerinin değişmiş olduğunu gördüm. Örneğin alttaki formatta çok fazla kod var.. Ve ben böyle bir kod yazmadım. Protected Overridable Property dlstAEnCazipYatirimlar As DataList Get Return Me. _dlstAEnCazipYatirimlar End Get Set Me. _dlstAEnCazipYatirimlar = WithEventsValue End Set End Property Sonuç ne olursa olsun yani kodlarımın şekli şemali değişmiş olsa da bu kodlar bu şekilde normal çalışabilir mi? Yoksa bu kodları benim orjinal kodlarım ile aynı hale getirmek mi gerekir? Aynı hale getirmek gerekirse bu halen bana çok zor geliyor. Üstelik verdiğin dosyaya baktım. vb dosyasını görsem de aspx uzantılı herhangi bir dosya göremedim. Export eden kişi vb yi %100 export etse bile aspx i export edemediği için o aspx dosyasını oluşturmaya kesinlikle uğraşmayacaktır bence. Çünkü aspx için uğraşmaya çalışması demek projeyi baştan yazmasından daha zor olur bence. obfuscate tekniği ile ilgili sen hangi programı tavsiye edersin? Yani hangi program ile daha kolay kod karıştırma işlemi yapabilirim?

Bu arada obfuscate genel bir terimdir. dotfuscator ise bu işi yapan programlardan sadece birisidir. En iyisi olmasa da bence bir çok arkadaşın işini görür.

sağlamaz.

Pek fazla uğraşamadım ama gerekli referanslarını eklersen ve üzerinde biraz uğraşırsan çalışacaktır. Kodlarını net bir şekilde görebilirsin. http://rapidshare.com/files/114817442/App_Web_wokxpsqb_Source. rar.html

. NET ile yapılmış kodun çözülmesini engellemek imkansız gibi ancak işi zorlaştırabilirsin.

hakanizm' Alıntı:

Şimdi sorularıma ceviz. net sitesinde bir arkadaş cevap yazmış. Yazdığı cevabı ve benim ona cevabından sonra sorduğum soruyu buraya yazacağım.. Soracağım soruya sizler de cevap verirseniz sevinirim.. Bu arada DincerAydogdu diğer arkadaşın tavsiye ettiği program dotfuscator senin ki de obfuscate arasındaki farkı biliyor musun? Diğer arkadaşın cevabı : Reflector ile kodun tamamı görünebilir. Kod karıştırma işlemi sadece elde edilen kodun değerlendirilme işlemini zorlaştırır. Eğer programın kırılmaya değer olduğuna inanıyorsan o zaman bu niyette olan kişinin işini zorlaştırman lazım. İlk adım uygulamayı dll içine paketlemektir. Böylece sunucuya erişimi olan herkesten bir ölçüde korumuş oldun. Ama reflector kullanan herhangi bir şahıs, yine kodlarını görebilecek. İkinci adım olarak dotfuscator ile kod çözülse bile anlamsız ve karmakarışık hale gelecek şekilde düzenledin. Şimdi sunucuya erişimi olan şahıs reflector ile kodu disassemble etse dahi, çözmesi aşırı zorlaştı. Neredeyse senin programı geliştirirken sarfettiğin eforun birkaç mislini harcaması lazım ki, senin programın içine yerleştirdiğin kontrol noktasını bulup, msil ile değiştirip atlatsın. Senin yazdığın program, dünya çapında yaygın kullanılan bir program olsa, veya eşsiz ve tekniği merak edilen bir program olursa, bu efor da sarfedilir ve program senin koyduğun kontrol noktası atlatılarak çalıştırılabilir. Kendine bir karıştırıcı araç seçersen, bulduğun her güvenlik önlemi yeterli olacaktır diye düşünüyorum. Çünkü &quot;Control flow&quot; tekniği senin yaptığın kontrolü gizleyecektir. Benim ona ve sizlere sorum : Verdiğin bilgiler için teşekkürler. Öncelikle dotfuscator kullanım şekli tam olarak nedir? Yani adımların sırası nasıldır? 1- dotfuscator ile kodları karıştırmak 2- karışmış kodları dll ye çevirmek Yoksa Tam tersi mi? 1- kodları dll ye çevirmek 2- dll yi dotfuscator ile karıştırmak Bir de şu var dll yapmak bir satırlık dos komutuyla mümkün. Peki dotfuscator kullanımı basit midir? Yani birkaç karışık işlem mi yapmalıyım? Yoksa Open File And Mix falan mı demeliyim? Not: Reflector ile kodları bulmayı ben beceremedim o zaman.. Çünkü benim kendi değişkenlerimi gördüm. Onlarca farklı şey gördüm. Değişkenlerime tıkladığımda da standart 3-5 satırlık kodlar görmüştüm. O kodlar da bana ait değildi.