Visual Studio Windo...
 
Bildirimler
Hepsini Temizle

Visual Studio Windows Form Uygulamasındaki .dll leri şifreleme  

  RSS
Mehmet UGUR
(@mehmetugur)
Üye

Merhaba. Hazırlamış olduğum desktop uygulamasıdaki .dll ve .exe dosyalarını şifrelemek istiyorum. Sizce nasıl bir yol izleyebilirim?
(Bu şifreleme işini setup dosyasını oluşturduktan sonramı yapıyoruz yoksa öncemi)

Alıntı
Gönderildi : 23/12/2014 15:25
Mehmet Sait YILMAZ
(@mehmetsaityilmaz)
Üye

[quote user="Mehmet UGUR"]Merhaba. Hazırlamış olduğum desktop uygulamasıdaki .dll ve .exe dosyalarını şifrelemek istiyorum. Sizce nasıl bir yol izleyebilirim?
(Bu şifreleme işini setup dosyasını oluşturduktan sonramı yapıyoruz yoksa öncemi)[/quote]

exe yi şifreleme derken ne yapmayı istiyorsunuz biraz daha açarmısınız konuyu 

CevapAlıntı
Gönderildi : 23/12/2014 17:43
Mehmet UGUR
(@mehmetugur)
Üye

 Hazırlanmış setup'u kurduğumuzda; program dosyalarında bulunan

.exe.config 
.pdb
vshost.exe.config 

.dll gibi dosyaların not defteri ile açıldığında kaynak kodların gözükmemesini istiyorum. 

CevapAlıntı
Gönderildi : 23/12/2014 18:08
Erdem SELÇUK
(@eravse)
Saygın Üye Forum Yöneticisi

su adreslerden bazı programlar ıle bunu yapabılırsınız 

http://www.gapotchenko.com/eazfuscator.net

https://obfuscar.codeplex.com/ 

CevapAlıntı
Gönderildi : 23/12/2014 18:12
Mehmet Sait YILMAZ
(@mehmetsaityilmaz)
Üye

hangi dil ile yazıyorunuz visual bascis , c# ?

CevapAlıntı
Gönderildi : 23/12/2014 18:16
Mehmet UGUR
(@mehmetugur)
Üye

[quote user="Mehmet Sait YILMAZ"]hangi dil ile yazıyorunuz visual bascis , c# ?[/quote]

 

C# 

CevapAlıntı
Gönderildi : 23/12/2014 18:25
Erdem SELÇUK
(@eravse)
Saygın Üye Forum Yöneticisi

Tamam yukarıdakı open source olan ısınızı gorecektır dıye dusunuyorum

CevapAlıntı
Gönderildi : 23/12/2014 18:27
Mehmet UGUR
(@mehmetugur)
Üye

[quote user="Erdem SELÇUK"]Tamam yukarıdakı open source olan ısınızı gorecektır dıye dusunuyorum[/quote]

Deniyorum hocam şuan, geri dönüş yapacağım 

CevapAlıntı
Gönderildi : 23/12/2014 18:33
Mehmet UGUR
(@mehmetugur)
Üye

[quote user="Erdem SELÇUK"]

su adreslerden bazı programlar ıle bunu yapabılırsınız 

http://www.gapotchenko.com/eazfuscator.net

https://obfuscar.codeplex.com/ 

[/quote]

Yok hocam işe yaramadı. örneğin exe.config i not defteri ile açtığımda aynı şekilde çıkıyor. (Bu arada projem desktop uygulaması onuda tekrardan hatırlatıyım)

CevapAlıntı
Gönderildi : 23/12/2014 18:49
Erdem SELÇUK
(@eravse)
Saygın Üye Forum Yöneticisi

confıg dosyalarını crypt edemezsınız dll ve exeler statık bır class ıcıne alın conn str nızı load da yada program.cs ıcınde confıgde normal ayarlar harıcı ozel ayar tutmayın ozaman ısınızı goruceksınız 

 

CevapAlıntı
Gönderildi : 23/12/2014 19:34
Mehmet UGUR
(@mehmetugur)
Üye

[quote user="Erdem SELÇUK"]

confıg dosyalarını crypt edemezsınız dll ve exeler statık bır class ıcıne alın conn str nızı load da yada program.cs ıcınde confıgde normal ayarlar harıcı ozel ayar tutmayın ozaman ısınızı goruceksınız 

 [/quote]

Benim yapıda tarif ettiğiniz yapıya benzer. Bende de sadece ConnectionString ler gözüküyor bunu göstermemek istiyordum.  

CevapAlıntı
Gönderildi : 24/12/2014 00:47
Erdem SELÇUK
(@eravse)
Saygın Üye Forum Yöneticisi

tamam yapacagınız sey publıc statıc string diye program cs ıcınde conn strnızı load etmek ve db conn yaptıgınız yerlerde conn str olarak bunu gostermek 

confıgden de kalrırısınız ozaman  

CevapAlıntı
Gönderildi : 24/12/2014 00:58
Mehmet UGUR
(@mehmetugur)
Üye

[quote user="Erdem SELÇUK"]

tamam yapacagınız sey publıc statıc string diye program cs ıcınde conn strnızı load etmek ve db conn yaptıgınız yerlerde conn str olarak bunu gostermek 

confıgden de kalrırısınız ozaman  

[/quote]

 

Hocam saten   SqlConnection Baglanti = new SqlConnection(ConfigurationManager.AppSettings["strCon"]); şeklinde bağlantıyı gerçekleştiriyorum. Eğer yanlış anladıysam kod örneğiyle açıklarsanız daha iyi anlarım 

CevapAlıntı
Gönderildi : 24/12/2014 01:08
Yavuz Cingöz
(@YavuzCingoz)
Üye

[quote user="Mehmet UGUR"][quote user="Erdem SELÇUK"]

tamam yapacagınız sey publıc statıc string diye program cs ıcınde conn strnızı load etmek ve db conn yaptıgınız yerlerde conn str olarak bunu gostermek 

confıgden de kalrırısınız ozaman  

[/quote]

 

Hocam saten   SqlConnection Baglanti = new SqlConnection(ConfigurationManager.AppSettings["strCon"]); şeklinde bağlantıyı gerçekleştiriyorum. Eğer yanlış anladıysam kod örneğiyle açıklarsanız daha iyi anlarım 

[/quote]

 

Config dosyaları metin tabanlıdır. Bu dosyaları şifreleyemezsiniz. Burada 2 yöntem vardır. 1. yol görünmesini istemediğiniz her şeyi kodun  içerisine yazıp derlemelisiniz. Yani SqlConnection Baglanti = new SqlConnection("server=.; database=Northwind; uid=sa; pwd=123456"); gibi. Bu basit ama kullanışsız bir yöntemdir. Bağlantı parametrelerinden herhangi biri değiştiğinde projeyi tekrar derlemek zorunda kalırsınız. 2. yöntem ise bağlantı parametrelerini dosyanın içerisine şifreleyerek yazmak, sonrasında şifresini çözüp okumaktır. Yani dosyayı değil içeriği şifrelersiniz. Bunun için TripleDES algoritmasını öneririm.

Bunların dışında, verileri .bin uzantılı dosyalarda tutabileceğiniz BinarySerialization yapısı da hızlı ve kolay kullanım sağlar. 

CevapAlıntı
Gönderildi : 24/12/2014 16:32
Mehmet UGUR
(@mehmetugur)
Üye

[quote user="Yavuz Cingöz"][quote user="Mehmet UGUR"][quote user="Erdem SELÇUK"]

tamam yapacagınız sey publıc statıc string diye program cs ıcınde conn strnızı load etmek ve db conn yaptıgınız yerlerde conn str olarak bunu gostermek 

confıgden de kalrırısınız ozaman  

[/quote]

 

Hocam saten   SqlConnection Baglanti = new SqlConnection(ConfigurationManager.AppSettings["strCon"]); şeklinde bağlantıyı gerçekleştiriyorum. Eğer yanlış anladıysam kod örneğiyle açıklarsanız daha iyi anlarım 

[/quote]

 

Config dosyaları metin tabanlıdır. Bu dosyaları şifreleyemezsiniz. Burada 2 yöntem vardır. 1. yol görünmesini istemediğiniz her şeyi kodun  içerisine yazıp derlemelisiniz. Yani SqlConnection Baglanti = new SqlConnection("server=.; database=Northwind; uid=sa; pwd=123456"); gibi. Bu basit ama kullanışsız bir yöntemdir. Bağlantı parametrelerinden herhangi biri değiştiğinde projeyi tekrar derlemek zorunda kalırsınız. 2. yöntem ise bağlantı parametrelerini dosyanın içerisine şifreleyerek yazmak, sonrasında şifresini çözüp okumaktır. Yani dosyayı değil içeriği şifrelersiniz. Bunun için TripleDES algoritmasını öneririm.

Bunların dışında, verileri .bin uzantılı dosyalarda tutabileceğiniz BinarySerialization yapısı da hızlı ve kolay kullanım sağlar. 

[/quote]

  Cevap için saolun benim için açıklayıcı oldu

CevapAlıntı
Gönderildi : 24/12/2014 16:43
Erdem SELÇUK
(@eravse)
Saygın Üye Forum Yöneticisi

ek olarak ornekleme ıcın sunu soyleyebılırız ılla conn str ıcıne yazmak ıstemez ısenız 

class program

{

public static string connStr = "xyz...."; 

 

public class Form1 : Form

{

public .... Load(){

  SqlConnection Baglanti = new SqlConnection(namespace.program.connStr);

} 

 kodu hızlıca orneklemek ıcın yazdım teorık olarak boyle yanı tek bır yere yazmıs olursunuz en azından bırden fazla yerde var ise yavuz beye de dıger gereklı bılgılerı aktarmıs tesekkur ederım.

CevapAlıntı
Gönderildi : 25/12/2014 00:31
Paylaş: