Merhaba arkadaşlar.
Zevkine Visual Studio c# (Windows Form Application) ile bir program yazdım. (Zevkine diyorum çünkü bilgisayar mühendisliği öğrencisiyim ve kendimi geliştirmeye çalışıyorum.)
Bu uygulama SQL sorgusu ile giriş yapıp kayıt oluşturabiliyordu. Kayıt olan kullanıcılara mail gönderiyordu vs.
Ancak bu yazdığım program zamanla (neden olduğunu bilmiyorum) ağırlaşınca bir diğer uğraştığım dil olan java ile bunun bir benzerini yapayım dedim. (Jframe Form) Ancak uğraşırken aklıma takıldı. Şu siteyi buldum ve jar dosyasını yükledim. Ve sonrasında gördüm ki bütün yazdığım kodlar, classlar şunlar bunlar apaçık bir vaziyette karşımda.
Bir benzeri c# da var mıdır diye düşündüm ve .net Reflector isimli bir program buldum ve buna ayrı ayrı hem debug hem release exe dosyamı yükledim. Her iki yüklediğim dosyada da aynı şekilde yine bütün .cs dosyalarının apaçık bir şekilde karşıma çıkardı.
Bunun da program için güvenlik sorunu olduğu aşikar. En yukarıda yazdığım gibi programın içine sql bilgilerini ve mail şifresini yazdım ve bu bilgiler de bu programlar ile okunabiliyor.
Yine dediğim gibi bu zevkine yaptığım bir şeydi ama günün birinde daha ciddi bir işte görev alacaksam bunu erkenden bilmem önemli: Hem java hem de vs ile yazılmış c# form uygulamalarımı sonradan okunamayacak şekilde build etmem mümkün mü?
Teşekkürler.
Kodladığımız Programı Daha Güvenli Yapma Yolu Yok Mu (Özellikle C# Ve Java)
10
●534
- 29-01-2022, 17:40:07Bu bir güvenlik sorunu değil dillerin açık kaynak desteklemesinin bir sonucu.
Uygulamanızı şifreleyebilirsiniz ama oda kırılıyor C# için %100 koruma söz konusu değil maalesef.
Java içinde aynı şeyler geçerli - 29-01-2022, 17:45:44.Net için anti decompiler uygulamaları bulunur.
Bknz;
https://www.youtube.com/watch?v=ARH0uRFQ9Q8
(Google da daha fazla kaynak bulabilirsiniz)
Java için şifreleme işlemi daha karmaşıktır. Proguard kullanarak kodları karıştırabilirsiniz fakat %100 kod güvenliğini sağlamanız pek olası değil.
Uygulamalarınızın içinde veritabanı veya şifre saklamanızı tavsiye etmem. Ne kadar önlem alırsanız alın ne yaparsanız yapın kırılabilir ve düzenlenebilir. Kod kırma ve crack için çok fazla method var ve çok büyük firmaların bile uygulamalarını kırabiliyorsunuz.
Bu yüzden her zaman uzak sunucu ile çalışın ve kodlamayı sağlıklı yapmaya çalışın.
Düzenleme: Exe veya apk formatında olup kırılamayacak hiçbir uygulama yoktur. Hepsi tekrar derlenebilir, crack edilebilir. Sadece o uygulamanın kullandığı methodlar önemlidir. Tersine mühendislik bu uygulamalara her zaman yapılabilir.
Uzak sunucu ile çalışan uygulamalarında güvenilir olduğunu savunmuyorum. Bütün bağlantı methodlarını ağ trafiğini izleyerek değiştirmek, h*cklemek mümkün. %100 güvenliği sağlamak internette mümkün olan bir şey değil ne yazık ki. - 29-01-2022, 17:47:33KProgramlama adlı üyeden alıntı: mesajı görüntüle
- 29-01-2022, 17:47:35.NET altyapısı için kullanabileceğin obfuscator yazılımları mevcut (Örn. RedGate, .NET Reactor vb). Bu yazılımlar ile kodlarını şifreleyerek okunmasını zorlaştırabilirsin.. tabi her şeyde olduğu gibi bu yazılımlarda kırılabilir (https://github.com/de4dot/de4dot).
Bu yazılım dilini kullanarak bir ürün elde edeceksen ve bu üründe güvenlik arıyorsan çok tecrübeli olman gerekiyor. Tavsiyem bu tarz işlemleri server side yaptırman ve bağlantıyı ssl üzerinden gerçekleştirmen.
https://www.codeguru.com/dotnet/usin...ockets-in-net/ - 29-01-2022, 17:49:42Dünyada yazılımı Ruslar yazlar
Türkler Crackler
Sırplar da pazarlar
Gelelim bu işin çaresine
Bir yapay zeka yazacaksın bulut servislerin içerisinde çalışacak. Build ettiğin dosyayı orada decode edeceksin. Yapay zeka build ettiğin yazılımı cracklemeye çalıştıklarında her seferinde yeni şifre kombinasyonu ortaya çıkaracak. Hatta bunun için özel bir klavye tasarlamaya başlayarak yapabilirsin. - 29-01-2022, 17:52:52Vixo adlı üyeden alıntı: mesajı görüntüle