Aracılığıyla paylaş


Dotfuscator Community & Visual Studio hakkında

Önleyici Koruma - Dotfuscator, güvenli yazılım geliştirme yaşam döngünüze kolayca uyan kapsamlı .NET uygulama koruması sağlar. Ticari sırların ve diğer fikri mülkiyetlerin (IP) güvenliğini sağlamaya yardımcı olmak, korsanlığı ve sahteciliği azaltmak ve manipülasyona ve yetkisiz hata ayıklamaya karşı koruma sağlamak için masaüstü, mobil, sunucu ve gömülü uygulamaları sağlamlaştırmak, korumak ve düzenlemek için kullanın. Dotfuscator, daha fazla programlamaya ve hatta kaynak koda erişmeye gerek kalmadan derlenmiş derlemelerde çalışır.

Önleyici Koruma - Dotfuscator

Koruma neden önemlidir?

Fikri mülkiyetinizi (IP) korumak önemlidir. Uygulamanızın kodu, IP olarak değerlendirilebilecek tasarım ve uygulama ayrıntılarını içerir. Bununla birlikte, .NET Framework üzerinde oluşturulan uygulamalarönemli meta veriler ve üst düzey ara kod içerir. Bu da, birçok ücretsiz, otomatikleştirilmiş araçlardan birini kullanarak tersine mühendislik yapmayı kolaylaştırır. Tersine mühendisliği kesintiye uğratıp durdurarak, yetkisiz IP ifşasını önleyebilir ve kodunuzun ticari gizli diziler içerdiğini gösterebilirsiniz. Dotfuscator, .NET derlemelerinizin karıştırılmasını sağlayarak, ters mühendisliği zorlaştırabilir ve özgün uygulama davranışını koruyabilir.

Uygulamanızın bütünlüğünükorumak da önemlidir. Ters mühendislik işlemine ek olarak, kötü aktörler uygulamanızı korsan yapmaya, çalışma zamanında uygulamanın davranışını değiştirmeye veya verileri işlemeye çalışabilir. Dotfuscator, uygulamanıza kurcalama, üçüncü taraf hata ayıklama ve kök erişimli cihazlar da dahil olmak üzere yetkisiz kullanımları algılama ve yanıtlamayeteneği ekleyebilir.

Dotfuscator'ın güvenli bir yazılım geliştirme yaşam döngüsüne nasıl uyduğu hakkında daha fazla bilgi için bkz. PreEmptive Solutions'ın SDL Uygulama Koruması sayfası.

Dotfuscator Community Hakkında

Microsoft Visual Studio kopyanız, kişisel kullanım için ücretsiz olan PreEmptive Protection - Dotfuscator Communitybir kopyayı içerir. (Bu ücretsiz sürüm daha önce Dotfuscator Community Edition veya Dotfuscator CE olarak biliniyordu.)

Visual Studio'da bulunan Dotfuscator Community sürümünü yükleme yönergeleri için Yükleme sayfasına bakın.

Dotfuscator Community, geliştiriciler, mimarlar ve test ediciler için çeşitli yazılım koruması ve sağlamlaştırma hizmetleri sunar. Dotfuscator Community'de bulunan .NET Obfuscation ve diğer Application Protection özelliklerine örnekler şunlardır:

Uygulama koruma stratejinize nasıl uydukları da dahil olmak üzere bu özelliklerle ilgili ayrıntılar için Özellikler sayfasına bakın.

Dotfuscator Community, kutudan çıktığı gibi temel koruma sunar. Dotfuscator Community'nin kayıtlı kullanıcıları ve dünyanın önde gelen .NET Obfuscatorolan PreEmptive Protection - Dotfuscator Professionalkullanıcıları için daha fazla uygulama koruma önlemi bulunmaktadır. Dotfuscator'ı geliştirme hakkında bilgi için Yükseltmeler sayfasına bakın.

Başlangıç

Visual Studio'dan Dotfuscator Community'yi kullanmaya başlamak için Arama Kutusu (Ctrl+Q) içine dotfuscator yazın.

  • Dotfuscator Community zaten yüklüyse, Arama Kutusu, Menüler başlığı altında Dotfuscator Topluluğu'na başlama seçeneğini gösterir. Detaylar için tam Dotfuscator Community Kullanıcı Kılavuzu'nun Başlarken sayfasına bakınız.
  • Dotfuscator Community henüz yüklü değilse, Arama Kutusu bunun yerine Bağımsız Bileşenler başlığı altında PreEmptive Protection - Dotfuscator Yükle seçeneğini gösterir. Ayrıntılar için Yükleme sayfasına bakın.

Dotfuscator Community'nin en son sürümünü preemptive.com üzerindeki Dotfuscator İndirmeleri sayfasındanda alabilirsiniz.

Dotfuscator Community 5'ten yükseltme

PreEmptive Protection - Dotfuscator Community 6'ya yükseltmeyi öğrenin.

Visual Studio'nun yükleme geçmişinize ve sürümüne bağlı olarak, şu anda önceki ana sürüm olan Dotfuscator Community 5'i çalıştırıyor olabilirsiniz. Bu durumda, yükseltme yapmalısınız, çünkü kodunuza en sonkoruma önlemlerinin uygulandığından emin olmak önemlidir. Yükseltmeler ücretsiz olarak kullanılabilir.

Bu makalede, şu anda hangi sürüme sahip olduğunuzu belirleme, gerekirse sürüm 6'ya yükseltme ve iki sürüm arasında hangi özelliklerin değiştirildiği veya kaldırıldığı açıklanmaktadır.

Dotfuscator sürümünü belirleme

Hangi Dotfuscator sürümünü çalıştırdığınızdan emin değilseniz, aşağıdaki seçeneklerden birini yaparak sürümü belirleyebilirsiniz:

  • Visual Studio'nun Araçları menüsüne gidip PreEmptive Protection - Dotfuscator Communityöğesini seçerek Dotfuscator Community grafik kullanıcı arabirimi (GUI) başlatın.

    Dotfuscator GUI'sinde Yardım menüsünü açın ve Hakkında... seçeneğini seçerek Hakkında ekranını görüntüleyin.

    Bu ekranda Dotfuscator'ın sürümü listelenir.

  • komut satırı arabirimiile Dotfuscator'ınızı derlemenize tümleştirdiyseniz, aşağıdaki örneğe benzer bir satır için derleme günlüklerinizi de kontrol edebilirsiniz.

    Dotfuscator Community Version 5.42.0.9514-e0e25f754
    

    Bu metni görmek için derlemenizin ayrıntı düzeyini artırmanız gerekebilir. Visual Studio için bkz. Ayrıntı Ayarları.

İlk nokta .önce sürümün ilk tamsayısı Dotfuscator'ın ana sürümünü gösterir. İlk tamsayı 5ise, en son Dotfuscator 6 özelliklerinden ve koruma güncelleştirmelerinden yararlanabilmeniz için bu sayfada yükseltme adımlarını gerçekleştirmeniz gerekir.

Yükseltme yönergeleri

Bu bölüm, Dotfuscator Community'nin tipik kullanımlarını sürüm 5'ten sürüm 6'ya yükseltmeye yönelik yönergeler kümesini içerir.

Dotfuscator 6'yi yükleme

Dotfuscator Community, Visual Studio için bir uzantı olarak dağıtılır. Dotfuscator 6'nın yüklenmesine ilişkin yönergeler, hangi Visual Studio sürümünü kullandığınıza göre değişiklik gösterir:

  • Visual Studio 2022 Dotfuscator Community 6, Visual Studio 2022'ye dahildir.

  • Visual Studio 2019 Dotfuscator Community 6, Visual Studio 2019'un sonraki sürümlerinde (sürüm 16.10.0 ve üzeri) bulunur. Visual Studio 2019 en son sürüme güncelleştirin. Visual Studio'yu güncelleştirmek tüm Dotfuscator Community 5 yüklemelerini otomatik olarak Dotfuscator Community 6'ya yükselter.

    • Dotfuscator henüz yüklü değilse, önce Visual Studio'yu güncelleyin ve ardından Yüklemebölümüne bakın.

    • Visual Studio'daki sürümlere ek olarak, Dotfuscator Topluluğu'nun en son sürümlerini Dotfuscator İndirmeleri sayfasından alabilirsiniz.

  • Visual Studio 2017 Visual Studio'nun bu sürümü yalnızca Dotfuscator Community 5 ile birlikte gönderilir. Ancak dotfuscator downloads sayfasına gidip uygun indirme bağlantısını seçerek Dotfuscator Community 6'yı yükleyebilir veya yükseltebilirsiniz.

    İndirilen .vsix dosyasını çalıştırın ve Dotfuscator Community 6'yı Visual Studio'ya yüklemek için istemleri izleyin. Mevcut Dotfuscator Community 5 yüklemeleri de yükseltilir.

  • Visual Studio Dotfuscator Community 6'nın önceki sürümleri Visual Studio'nun bu sürümlerinde desteklenmez. Visual Studio'nun daha yeni bir sürümüne yükseltmenizi veya Dotfuscator Community'den Dotfuscator Professional 'e yükseltmeyiöneririz.

Daha önce Dotfuscator Community 5'i kaydettiyseniz, Dotfuscator Community 6'yı ilk kez çalıştırdığınızda bu kayıt otomatik olarak dönüştürülür.

CLI yollarını güncelleştirin

Uygulamanızı korumak için dotfuscator 5'in komut satırı arabirimi (CLI) kullandıysanız, herhangi bir projede CLI yolunu güncelleştirmeniz ve buna başvuran betikler oluşturmanız gerekir.

Dotfuscator CLI'sinin yolunun artık geçersiz olmasının nedeni Dotfuscator Community ile yüklenen yürütülebilir dosyalardan bazılarının adlarının Dotfuscator 6'da değişmesidir. Bu değişiklik, Dotfuscator Community ve Dotfuscator Professional'daki yürütülebilir dosya adlarını aynı hale getiriyor.

Yürütülebilir dosya için... Dotfuscator 5 Dotfuscator 6
GUI dotfuscator.exe dotfuscatorUI.exe
CLI dotfuscatorCLI.exe dotfuscator.exe

Not

Dotfuscator CLI, Visual Studio'nun yükleme dizinine yüklendiğinden, Visual Studio'nun ana sürümleri arasında yükseltme yaparsanız veya Visual Studio sürümlerini değiştirirseniz CLI yolu da geçersiz olabilir. Aşağıda listelenen belirtiler ve çözüm bu senaryo için de geçerlidir.

Derlemeniz geçersiz bir Dotfuscator CLI yolu kullanıyorsa aşağıdaki örneklerden biri gibi hatalar alabilirsiniz:

'"[...]\PreEmptiveSolutions\DotfuscatorCE\dotfuscatorCLI.exe"' is not recognized as an internal or external command, operable program or batch file.

The command ""[...]\PreEmptiveSolutions\DotfuscatorCE\dotfuscatorCLI.exe" Dotfuscator.xml" exited with code 9009.

Derlemenizi doğru CLI yolunu kullanacak şekilde güncelleştirmek için:

  1. Visual Studio'nun Araçları menüsüne gidip PreEmptive Protection - Dotfuscator Communityöğesini seçerek Dotfuscator Community GUI başlatın.

  2. tr-TR: Dotfuscator Community GUI'de Araçları menüsüne gidin ve Dotfuscator Komut İstemi'ni seçin.

  3. Açılan komut istemine where dotfuscator.exeyazın. Daha sonra başvurmak için, görüntülenen ilk yolu düz metin belgesine kopyalayın. Bu yol, Dotfuscator Community 6'nın CLI'sinin yeni yoludur.

  4. Derleme sisteminiz için uygun olan projeyi veya derleme yapılandırmasını açın.

    • Visual Studio projeleri için proje dosyasını (.csproj, .vbprojveya .fsproj) düz metin olarak açın. Visual Studio'da bir proje dosyası açın.
  5. Projenizde veya derleme yapılandırmanızda Dotfuscator Community 5'in CLI'sının eski bir yolunun kullanıldığı yerleri bulun. Genellikle dotfuscatorCLI.exeile biten bir yoldur.

  6. 5. adımda bulunan eski yolları, 3. adımda not ettiğiniz yeni yolla değiştirin.

    Eski yollardan biri mutlak bir yol değilse, yeni yolu bağlama göre uygun şekilde ayarlamanız gerekir. Aşağıdaki örnekte, eski yolda VSInstallDir ortam değişkeni kullanılmıştır, bu nedenle ilgili yeni yol da aynı işlemi yapmalıdır.

    • 3. adımdan yeni yol: C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe
    • Proje dosyasındaki eski yol: %VSInstallDir%\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscatorCLI.exe
    • Proje dosyasında yeni yol: %VSInstallDir%\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe
  7. Git gibi bir kaynak denetim sistemi kullanıyorsanız, 6. adımdaki değişikliklerin bu sisteme yansıtıldığından emin olun. Bu değişiklikleri sisteminize ve kuruluşunuza uygun olabilecek şekilde ekibinizin geri kalanına dağıtın.

Uyarı

dotfuscator.exe Dotfuscator 5'teki grafik kullanıcı arabirimine (GUI) karşılık geldiğinden ancak Dotfuscator 6'daki komut satırı arabirimine (CLI) başvurduğundan, birden çok makinede paylaşılan derleme betiklerini güncelleştirirken dikkatli olun.

Dotfuscator 6 için güncelleştirilmiş bir betik çalıştıran Dotfuscator 5 yüklü bir makine, betiğin istenen komut satırı arabirimi yerine grafik kullanıcı arabirimini başlatmasına neden olur. Bu, Dotfuscator'ın korumasını uygulamamasına rağmen derlemenin başarılı olmasına neden olabilir; bu da çıkış paketlerinizin korunmayacağı anlamına gelir.

Diğer durumlarda bunun yerine derleme hatasına neden olabilir.

Bu senaryoları önlemek için Dotfuscator Community'yi tüm makinelerinizde sürüm 5'ten sürüm 6'ya yükseltin ve aynı anda betikler oluşturun.

Dotfuscator yapılandırma dosyalarını yükseltme

Dotfuscator 6'den önce oluşturulan tüm Dotfuscator yapılandırma dosyalarının (Dotfuscator.xmlgibi) yükseltilmesi gerekir.

Dotfuscator CLI'yi eski bir yapılandırma dosyasıyla çalıştırmayı denerseniz aşağıdaki örnekler gibi hatalar alırsınız:

Dotfuscator Engine Initialization error: PreEmptive Analytics, Authenticode signing, and the Introduce Explicit Method Overrides setting are no longer supported. Please open your Dotfuscator config in the Config Editor which automatically upgrades it.

Önemli

Bu hatayı alırsınız ve belirtilen özellikleri kullanmasanız bile yapılandırma dosyanızı yükseltmeniz gerekir.

Yapılandırma dosyasını yükseltmek için:

  1. Visual Studio'nun Araçları menüsüne gidip PreEmptive Protection - Dotfuscator Communityöğesini seçerek Dotfuscator Community grafik kullanıcı arabirimi (GUI) başlatın.

  2. Söz konusu Dotfuscator yapılandırma dosyasını açın (Ctrl+O).

  3. Derleme Çıktısı sekmesinde aşağıdaki ileti görüntülenir:

    PreEmptive Analytics, Authenticode signing, and the Introduce Explicit Method Overrides setting are no longer supported. The associated settings have been removed. Please save your upgraded Dotfuscator config.

  4. Güncelleştirilmiş Dotfuscator yapılandırma dosyasını (Ctrl+S) kaydedin.

  5. Git gibi bir kaynak denetim sistemi kullanıyorsanız Dotfuscator yapılandırma dosyasındaki değişikliklerin bu sisteme yansıtıldığından emin olun. Bu değişiklikleri sisteminize ve kuruluşunuza uygun olabilecek şekilde ekibinizin geri kalanına dağıtın.

Öznitelik kütüphanelerine referansları güncelleme

Dotfuscator, kaynak kodunuzda .NET öznitelikleri aracılığıyla belirli özellikleri yapılandırmanıza olanak tanır. Projeleriniz bu tür öznitelikler kullanıyorsa, Dotfuscator 6'daki değişiklikleri ele almak için bunları güncelleştirmeniz gerekebilir.

Gizleme öznitelikleri

Gizleme Özniteliklerinde hiçbir değişiklik yapılmadı. Bu öznitelikler .NET temel sınıf kitaplıklarında tanımlanır ve Dotfuscator Community 6 bunları kabul etmeye devam eder.

Öznitelikleri Denetle

Öznitelikleri Denetle içeren kitaplık değişti. Dotfuscator Community 5'te, Dotfuscator'ın kendisiyle birlikte bir dosya olarak dağıtıldı. Dotfuscator Community 6'dan başlayarak genel NuGet paketi olarak dağıtılır.

Eski konuma başvuruda bulunan bir Visual Studio projesi oluşturmaya çalışırsanız aşağıdaki örnekler gibi hatalar alabilirsiniz:

The type or namespace name 'PreEmptive' could not be found (are you missing a using directive or an assembly reference?)

The type or namespace name 'TamperCheckAttribute' could not be found (are you missing a using directive or an assembly reference?)

Şu uyarıyı da alabilirsiniz:

Could not resolve this reference. Could not locate the assembly "PreEmptive.Attributes". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

Projenizi yeni konumu kullanacak şekilde güncelleştirmek için:

  1. Projenin PreEmptive.Attributes.dllderleme bağlantısını kaldırın.

  2. Projeye NuGet paket referansını PreEmptive.Protection.Checks.Attributes ekleyin. Paket, nuget.orgvarsayılan NuGet akışında kullanılabilir.

Her Check Özniteliğinin ExtendedKey parametreleri de kaldırılmıştır. Dotfuscator Community 5'te bu parametreler göz ardı edildi, ancak kaynak kodunuz yine de bunları kullandıysa, projenizin derlenmesi için bu kullanımları kaldırın.

Enstrümantasyon öznitelikleri

Enstrümantasyon öznitelikleri, Dotfuscator 5'te PreEmptive Analytics özelliğini yapılandırmak için kullanıldı. Ancak Dotfuscator 6'da PreEmptive Analytics kaldırılmıştır; Bkz. PreEmptive Analytics Kaldırılan Özellik alt bölümüne bakın. Sonuç olarak, enstrümantasyon öznitelikleri de kaldırılmıştır.

Araçsal öznitelikleri kullanan bir Visual Studio projesi oluşturmaya çalıştığınızda, öznitelik adları farklılık gösterse bile (örneğin, TamperCheckAttributeyerine FeatureAttribute), Öznitelikleri Denetle'de belirtilen benzer türde hata ve uyarılarla karşılaşabilirsiniz.

Dotfuscator'ı izleme özniteliklerinin kullanımlarını içeren önceden oluşturulmuş derlemelerde çalıştırmayı denerseniz aşağıdaki örnekler gibi hatalar alırsınız:

The PreEmptive.Attributes.FeatureAttribute attribute (annotating SomeNamespace.SomeType::SomeMethod) is not recognized by this version of Dotfuscator.

Bu sorunları çözmek için kaynak kodunuzdan izleme özniteliklerinin tüm kullanımlarını kaldırın. Ayrıca, öznitelikleri tanımlayan kitaplığa yönelik derleme başvurularını PreEmptive.Attributes.dllkaldırmanız gerekir. (Bu kitaplıkta tanımlanan Öznitelikleri Denetle özelliğini de kullanıyorsanız, bunlar taşınmış olabilir; yukarıdaki Öznitelikleri Denetle bakın.)

Kaldırılan özellikler

Dotfuscator Community 6, Dotfuscator Community 5'ten farklılıklar içeren köklü değişiklikler getiriyor. Dotfuscator Community 5 kullanıyorsanız, bu bölümde derleme değişiklikleri gerektirebilecek veya Dotfuscator'ın çıkışını etkileyebilecek değişikliklerle nasıl başa çıkabileceğiniz açıklanır.

Değişikliklere ilişkin tam liste değişiklik günlüğündemevcuttur.

PreEmptive Analytics

Dotfuscator 6, Telemetriyi Denetle de dahil olmak üzere PreEmptive Analytics'i desteklemez. Ancak, Kontrolleri (Uygulama Bildirimi ve Kontrol İşlemleridahil) hala desteklenir.

Dotfuscator 6'yı kullanmak için yapılandırma dosyanızı yükselterek PreEmptive Analytics ayarlarını kaldırın.

PreEmptive Analytics'i yapılandırmak için kod içi öznitelikler kullandıysanız bunları kaynak kod kaldırın ve Dotfuscator 6 bu derlemeleri korumadan önce giriş derlemelerinizi yeniden oluşturun.

Eğer bir Denetim geçersiz bir durum algıladığında (örneğin, kurcalama algılandığında) bunu raporlamak için Check Telemetry'yi kullanıyorsanız, olayı Azure Application Insights veya tercih ettiğiniz başka bir hizmete bildiren özel bir Uygulama Bildirimi ile değiştirebilirsiniz.

Desteklenmeyen uygulama türleri

Dotfuscator 6'da aşağıdaki uygulama türleri artık desteklenmiyor:

  • Windows Phone
  • WinRT (Windows 8 uygulamaları)
  • Silverlight
  • Unity (oyun motoru)
  • Evrensel Windows Platformu (UWP)

Diğer UWP uygulamalarını korumak için Dotfuscator Professional 'a yükseltin ve Uygulamanızı Koruma yönergelerini izleyin.

Desteklenmeyen girişler

Dotfuscator Community artık giriş olarak Evrensel Windows Platformu (UWP) .appx paketlerini desteklememektedir. UWP uygulamalarını korumak için Dotfuscator Professional'a yükseltin ve Uygulamanızı Koruma yönergelerini izleyin.

Ayrıca silverlight artık desteklenmediğinden .xap paketleri artık giriş olarak kullanılamaz.

Açık yöntem geçersiz kılmaları ekleme

Açık yöntem geçersiz kılmalarını uygulamaya yönelik Yeniden Adlandırma seçeneği Dotfuscator'dan kaldırıldı. Dotfuscator 6'yı kullanmak için yapılandırma dosyanızı yükseltin bu ayarı kaldırın.

Tam belgeler

Dotfuscator Community kullanıcı arabirimini kullanmaya başlama dadahil olmak üzere ayrıntılı kullanım yönergeleri için preemptive.com 'da Dotfuscator Topluluğu Kullanıcı Kılavuzu'nu.