C# Forms ile Yapılan Programların Kaynak Kodlarına Ulaşılabilir mi?

DotPeek gibi programlar ile ulaşılabilir. Çünkü C# tam olarak derlenmez, .NET ara diline derlenir ve .NET dilinden de .NET Framework aracılığı ile makine koduna evrilir. DotPeek gibi programlar, .NET dilini C#'a geri döndürür.
 
Sadece C# değil, .NET ile kodlanmış uygulamaların kaynak koduna erişilebilir. Visual Basic, C#, F# gibi diller ile oluşturulan uygulamaların kaynak koduna erişebilirsiniz.

@TerabyteForever isimli dostumuzun dediği gibi JetBrains dotPeek, .NET Reflector, ILSpy, dnSpy gibi uygulamalar kullanılarak elinizde kaynak kodu olmasa dahi çalışan uygulamaları Debug edebilir, geliştirebilir veya ne yapmak isterseniz onu yapabilirsiniz.

Bu uygulamalar illegal değildir, çıkış amaçları da kötü şeyler yapmak değildir. Ancak nasıl bıçağı ekmek kesmek için kullanabiliyorsanız, adam öldürmek için de kullanabilirsiniz.

Program güvenliği çok ayrı bir konudur. Yazılımda asla %100 güvenliği garanti edemezsiniz. Neticesinde oluşturduğunuz uygulamanın karşı bilgisayarda çalışması gerekmektedir. Bu işlem sırasında da yazdığınız kod Assembly dediğimiz makine koduna çevrilir.

Windows gibi MacOS gibi binlerce kişinin çalıştığı oluşumların bile hacklenip cracklendiğini düşünürseniz eğer sizin uygulamanızı kırmak isteyen birileri olursa eninde sonunda kırılacaktır.

Kodunuzu Obfuscate edebilirsiniz. Obfuscate kelimesinin kelime anlamı kısaca "karıştırmak" olarak yorumlanabilir. Yukarıda saydığım uygulamalar Obfuscate edilmiş kodlara erişemezler çünkü karıştırılmışlardır.

"Ah bir çıkış yolu buldum sonunda!" diyebilirsiniz ancak Obfuscate edilmiş kodları eski haline çeviren DeObfuscate edici yazılımlar da vardır.

Eğer açık kaynaklı, ücretsiz olan bir Obfuscate yazılımını kullanıyorsanız onların karıştırma algoritmaları da açık kaynaklıdır ve onlar da tersine çevrilebilir.

Yazılımınızı %100 güvenli hale getiremiyorsunuz, ee o zaman bu bir son mu? Hayır, daha güvenli hale getirebilirsiniz.

Örnek olarak, uygulamanız bir database'e veya server'a bağlanıyorsa aldığı data'yı programınızın içinde yorumlamasın. Yorumlanmış halde data isteğini server'a iletsin ve eline hazır bir cevap alsın.

İnternette araştırdığınızla bununla alakalı bir sürü şey bulabilirsiniz ancak programınızı satışa sunmayacaksanız; sadece kendiniz, arkadaşlarınız veya aileniz kullanacaksa güvenliği pek de sorun etmeyin.
 
Rahmetli dedem derdi hep "Dereyi görmeden paçayı sıvamak" diye. Ortada program yok, bir şey yok, ama nasıl başkalarından gizlerim derdine düşmüş.
Vallahi bu çocuk öyle ya. Ortalama üstü program bilgim var diyor bildiği şeyler HTML, CSS ve C#. Uygulamalarımın güvenliğine önlem veriyorum diyor bu yüzden C#'ı bırakıyormuş. Şimdi gidecek sıfırdan JavaScript öğrenecek Electron öğrenecek sonra.

Büyük ihtimalle salak saçma instagram kişisel gelişim sayfalarından yazılım öğrenme fikrini benimseyip bu yola atıldı. Bizleri de böyle uğraştırıyor. Adama yanıt attım beğeni bile bırakmamış. :D
 

Yeni konular

Geri
Yukarı