• 14-05-2008, 16:17:29
    #10
    Bilgiler için teşekkürler.

    Ek bilgi sahibi olmak isteyenler.. Bu konu burada da işleniyor..

    Akyaz.. Şimdi bu güvenliğe bu kadar önem veren dotfuscator firmasının programının kırılmış halini bulamam herhalde Fiyatlarına baktım 300 Euro istiyorlar klasik sürüm için. Gelişmiş sürüm için ise 750 "Euro". Bu fiyatlar biraz geldi bana.. Ama tabi proje ne kadar büyük olursa bu para da o kadar küçülür insanın gözünde..

    Şimdi yukarıda adresini verdiğim yerde bu konuyu konuşurken bir arkadaş benden bir dll istedi.. DLL yi ver ben kodları açıp vereyim sana dedi.. Verdim dll yi ve kodlarımın büyük bir bölümü orada görülüyordu. Ama çoğu kodum da değişmiş haldeydi. Üstelik verdiğim dll dosyasında index.aspx ve index.aspx.vb dosyaları birleşmiş haldeydi. O arkadaş aspx dosyasını export edememiş. Vb dosyasını export etmiş. Eğer aspx dosyası export edilemiyorsa zaten insanlar aspx i kendileri yazmaya çalışırlarsa işin içinden çıkmak için baya baya uğraşmaları gerekir Bu durumda halen içimde dll "web projesinde" yeteri güvenliği sağlıyor gibi bir düşünce var
  • 15-05-2008, 13:34:17
    #11
    Şunu asla unutmayın dotnet pahalı bir ortamdır. Bu yüzden kimse net bilgisini paylaşmaz, net için yazdığı sınıf ve kütüphaneleri bedava vermez, hatta bilgilerini bile vermez. Zaten dotnet' in diğer diller gibi çok yaygın olmamasının sebebi kaynağının kısıtlı oluşu ve gerçek bilginin paylaşılmamasıdır. Bu size linkini verdiğim dotfuscator en ucuz ve fiyatına göre en iyisidir. Unutmayınki lisansı 7-8 bin usd olan dotfuscator bulunmaktadır.

    Gel gelelelim sorunuza öncelikle msil (Microsoft Common Intermediate Language) yapısı itibarı ile dissamble edildikten sonra düz text olarak kodlarınızın çıkacağını bilmelisiniz.. Msil mimarisini bilen birisi, ek bir decompilera (reflector tarzı) gerek kalmadan, herhangi bir dotfuscator aracıyla compiler edilmemiş projenizi rahatlıkla çözebilir. Buradacompiler edildikten sonraki projenizin(Örnek: App_Web_dosyaismi.aspx.cdcabXX.dll ) hiç bir önemi yoktur. Herşey projenizi dissamble etmek isteyen kişinin Microsoft Common Intermediate Language bilgisine bağlıdır.

    Örnek olarak projeniz aşağıdaki gibi olsun,
    Projeniz;
    int i = 1; 
    if(i!=2) 
    i = i*2; 
    Console.WriteLine(i);
    Bu projeyi compiler edip herhangi bir dissamble aracıyla çözdüğünüz zaman kodlarınız aşağıdaki şekile döner;
    IL_0000: ldc.i4.s 1 
    IL_0002: stloc.0 
    IL_0003: ldloc.0 
    IL_0004: ldc.i4.s 2 
    IL_0006: beq.s IL_000d 
    IL_0008: ldloc.0 
    IL_0009: ldc.i4.s 2 
    IL_000b: mul 
    IL_000c: stloc.0 
    IL_000d: ldloc.0 
    IL_000e: call void [mscorlib]System.Console::WriteLine(int32)
    Msil mimarisini bilen bir kişi, yukarıda dissamble edilmiş kodu her türlü çözer ve mantığına bakıp programı baştan yazar. Dotfuscator tarzı bir program kullanırsanız dissamble edilmiş kod da kendi içerisinde karıştırılacak, kodun içerisinde bulunan komutlar ve string / integer veriler tamamen şifrelenecektir. Tabiönceki yazdığım mesajda belirttiğim gibi her karıştırıcı string/integer bilgileri şifrelemez.

    Burada bilmeniz gereken, Msil' in projeyi yazdığınız dil, ortam vs ile alakası yoktur. Çünkü vs.net de compiler ettiğiniz projeniz / websiteniz compiler esnasında msil e çevrilir. Ortada projenizi geliştirdiğiniz dil in önemi kalmamıştır. Bunu biraz daha genişletecek olursak hatta web projeniz compiler edilmese dahi ilk çalışma esnasında sunucu tarafında compiler edilir ve yine web sitenizi geliştirdiğiniz dilin(vb.net, c#, j#, ironyython vs) bir önemi yoktur...

    Bu arada not: Bir gün program yazıp para kazanmak istiyorsanız, kesinlikle kırılmış program aramayın/ kullanmayın. Onların yerine kendinizi koyun...
  • 15-05-2008, 15:02:43
    #12
    Detaylı bilgiler için teşekkürler.
    En son cümlende çok haklısın

    Diğer konularda da dotfuscator in pahalısının alınması gerekiyor. Bunu şuanda alamayacağımdan kodların içerisine kodları çözmüş bir kişiyi çok çok uğraştıracak tuzaklar eklemeliyim. Bunun için de baya bi kafa yormalıyım. Ben elimden geleni yapayım.. Gerisini düşünmeyim Belki de projemi kimse kırmaya çalışmaz Çalışsa bile belki yarı yolda pes edebilirler

    Tekrar teşekkürler.
  • 17-05-2008, 00:41:23
    #13
    Üyeliği durduruldu
    Arkadaşlar assembly ayarları var o ayarları yaptıktan sonra dll'lerin çözüleceğini pek sanmıyorum
  • 10-07-2008, 14:03:39
    #14
    re-charper yazılımlarını kullanabilirsiniz
  • 10-07-2008, 14:05:38
    #15
    akyaz adlı üyeden alıntı: mesajı görüntüle
    Şunu asla unutmayın dotnet pahalı bir ortamdır. Bu yüzden kimse net bilgisini paylaşmaz, net için yazdığı sınıf ve kütüphaneleri bedava vermez, hatta bilgilerini bile vermez. Zaten dotnet' in diğer diller gibi çok yaygın olmamasının sebebi kaynağının kısıtlı oluşu ve gerçek bilginin paylaşılmamasıdır. Bu size linkini verdiğim dotfuscator en ucuz ve fiyatına göre en iyisidir. Unutmayınki lisansı 7-8 bin usd olan dotfuscator bulunmaktadır.
    Gel gelelelim sorunuza öncelikle msil (Microsoft Common Intermediate Language) yapısı itibarı ile dissamble edildikten sonra düz text olarak kodlarınızın çıkacağını bilmelisiniz.. Msil mimarisini bilen birisi, ek bir decompilera (reflector tarzı) gerek kalmadan, herhangi bir dotfuscator aracıyla compiler edilmemiş projenizi rahatlıkla çözebilir. Buradacompiler edildikten sonraki projenizin(Örnek: App_Web_dosyaismi.aspx.cdcabXX.dll ) hiç bir önemi yoktur. Herşey projenizi dissamble etmek isteyen kişinin Microsoft Common Intermediate Language bilgisine bağlıdır.
    Örnek olarak projeniz aşağıdaki gibi olsun,
    Projeniz;
    int i = 1; 
    if(i!=2) 
    i = i*2; 
    Console.WriteLine(i);
    Bu projeyi compiler edip herhangi bir dissamble aracıyla çözdüğünüz zaman kodlarınız aşağıdaki şekile döner;
    IL_0000: ldc.i4.s 1 
    IL_0002: stloc.0 
    IL_0003: ldloc.0 
    IL_0004: ldc.i4.s 2 
    IL_0006: beq.s IL_000d 
    IL_0008: ldloc.0 
    IL_0009: ldc.i4.s 2 
    IL_000b: mul 
    IL_000c: stloc.0 
    IL_000d: ldloc.0 
    IL_000e: call void [mscorlib]System.Console::WriteLine(int32)
    Msil mimarisini bilen bir kişi, yukarıda dissamble edilmiş kodu her türlü çözer ve mantığına bakıp programı baştan yazar. Dotfuscator tarzı bir program kullanırsanız dissamble edilmiş kod da kendi içerisinde karıştırılacak, kodun içerisinde bulunan komutlar ve string / integer veriler tamamen şifrelenecektir. Tabiönceki yazdığım mesajda belirttiğim gibi her karıştırıcı string/integer bilgileri şifrelemez.
    Burada bilmeniz gereken, Msil' in projeyi yazdığınız dil, ortam vs ile alakası yoktur. Çünkü vs.net de compiler ettiğiniz projeniz / websiteniz compiler esnasında msil e çevrilir. Ortada projenizi geliştirdiğiniz dil in önemi kalmamıştır. Bunu biraz daha genişletecek olursak hatta web projeniz compiler edilmese dahi ilk çalışma esnasında sunucu tarafında compiler edilir ve yine web sitenizi geliştirdiğiniz dilin(vb.net, c#, j#, ironyython vs) bir önemi yoktur...
    Bu arada not: Bir gün program yazıp para kazanmak istiyorsanız, kesinlikle kırılmış program aramayın/ kullanmayın. Onların yerine kendinizi koyun...

    kodun nasıl yazıldığı önemli değil, önemli olan derleyicinizin kodu nasıl derlediğidir. yukarıda bahsettiğim gibi 3. parti yazılımlarla kodu tekrar derleterek mix ettirebiliyorsunuz. Böylece çözülmesi daha zahmetli hale gelebiliyor. Tavsiye ederim.