Sdílet prostřednictvím


O nástroji Dotfuscator Community & ve Visual Studio

PreEmptive Protection – Dotfuscator poskytuje komplexní ochranu aplikací .NET, která snadno zapadá do vašeho životního cyklu vývoje zabezpečeného softwaru. Slouží k posílení, ochraně a vyřazování desktopových, mobilních, serverových a vložených aplikací, které pomáhají zabezpečit obchodní tajemství a další duševní vlastnictví (IP), omezit pirátství a padělání a chránit před manipulací a neoprávněným laděním. Dotfuscator pracuje na kompilovaných sestaveních bez nutnosti dalšího programování nebo dokonce přístupu ke zdrojovému kódu.

PreEmptive Protection – Dotfuscator

Proč je ochrana důležitá

Je důležité chránit duševní vlastnictví (IP). Kód vaší aplikace obsahuje podrobnosti o návrhu a implementaci, které je možné považovat za IP adresu. Aplikace založené na rozhraní .NET Framework však obsahují významná metadata a vysoce pokročilé kódy, což usnadňuje zpětnou analýzu, a to pomocí některého z mnoha bezplatných automatizovaných nástrojů. Narušením a zastavením zpětné analýzy můžete zabránit neoprávněnému zpřístupnění IP adres a předvést, že váš kód obsahuje obchodní tajemství. Dotfuscator může zamaskovat sestavení .NET, aby se zabránilo reverznímu inženýrství při zachování původního chování aplikace.

Je také důležité chránit integritu vaší aplikace. Kromě zpětné analýzy se chybní aktéři mohou pokusit o pirátství vaší aplikace, změnit chování aplikace za běhu nebo manipulovat s daty. Dotfuscator může do vaší aplikace přidat schopnost detekovat a reagovat na neoprávněné použití, včetně manipulace, ladění třetími stranami a zařízení se systémem root.

Další informace o tom, jak Dotfuscator zapadá do zabezpečeného životního cyklu vývoje softwaru, najdete na stránce ochrany aplikací SDL .

O aplikaci Dotfuscator Community

Vaše kopie sady Microsoft Visual Studio obsahuje kopii PreEmptive Protection - Dotfuscator Community, zdarma pro osobní použití. (Tato bezplatná verze byla dříve známá jako Dotfuscator Community Edition nebo Dotfuscator CE.)

Pokyny k instalaci verze nástroje Dotfuscator Community, která je součástí sady Visual Studio, najdete na stránce instalace .

Dotfuscator Community nabízí celou řadu služeb ochrany softwaru a posílení zabezpečení pro vývojáře, architekty a testery. Příklady obfuskace rozhraní .NET a dalších funkcí ochrany aplikací , které jsou součástí Dotfuscator Community:

  • Přejmenování identifikátorů pro ztížení zpětné analýzy zkompilovaných sestavení.
  • proti manipulaci, abyste zjistili spouštění neoprávněných aplikací a ukončili nebo reagovali na manipulované relace.
  • Anti-debug pro detekci připojení ladicího programu ke spuštěné aplikaci a ukončení nebo zpracování laděných seancí.
  • zařízení s detekcí rootu k zjištění, zda aplikace běží na rootovaném zařízení Android, a k ukončení nebo reagování na relace na těchto zařízeních.
  • chování vypršení platnosti aplikace, které kóduje datum ukončení životnosti a ukončuje relace aplikací s vypršenou platností.

Podrobnosti o těchto funkcích, včetně toho, jak zapadají do vaší strategie ochrany aplikací, najdete na stránce schopností .

Dotfuscator Community nabízí základní ochranu automaticky. Ještě více opatření na ochranu aplikací je k dispozici registrovaným uživatelům Dotfuscator Community a uživatelům PreEmptive Protection - Dotfuscator Professional, nejlepšího na světě .NET Obfuscator. Informace o vylepšení nástroje Dotfuscator naleznete na stránce Upgrades .

Začínáme

Pokud chcete začít používat Dotfuscator Community ze sady Visual Studio, zadejte dotfuscator do vyhledávacího pole (Ctrl+Q).

  • Pokud je dotfuscator Community již nainstalovaný, vyhledávací pole zobrazí možnost spustit Dotfuscator Community pod nadpisem nabídky . Podrobnosti najdete na úvodní stránce plné uživatelské příručky pro Dotfuscator Community.
  • Pokud nástroj Dotfuscator Community ještě není nainstalovaný, vyhledávací pole místo toho zobrazí Install PreEmptive Protection - Dotfuscator pod nadpisem Jednotlivé Komponenty. Podrobnosti najdete na stránce instalace .

Můžete také získat nejnovější verzi dotfuscator Community z stránky Dotfuscator Ke stažení na preemptive.com.

Upgrade z "Dotfuscator Community 5"

Zjistěte, jak upgradovat na PreEmptive Protection – Dotfuscator Community 6.

V závislosti na historii instalace a verzi sady Visual Studio možná používáte dotfuscator Community 5, předchozí hlavní verzi. Pokud ano, měli byste upgradovat, protože je důležité zajistit, aby váš kód byl chráněn nejnovějšími ochrannými opatřeními. Upgrady jsou k dispozici bez poplatků.

Tento článek vysvětluje, jak zjistit, jakou verzi aktuálně máte, jak v případě potřeby upgradovat na verzi 6 a jaké funkce byly nahrazeny nebo odebrány mezi těmito dvěma verzemi.

Určení verze Dotfuscatoru

Pokud si nejste jistí, jakou verzi Dotfuscatoru používáte, můžete ji určit pomocí jedné z následujících možností:

  • Spusťte dotfuscator Community grafické uživatelské rozhraní (GUI) v sadě Visual Studio Tools menu a vyberte PreEmptive Protection - Dotfuscator Community.

    V grafickém uživatelském rozhraní Dotfuscator otevřete nabídku Nápověda a výběrem O aplikaci... zobrazte obrazovku O aplikaci.

    Tato obrazovka uvádí verzi Dotfuscatoru.

  • Pokud máte Dotfuscator integrovaný do sestavení s rozhraním příkazového řádku , můžete také zkontrolovat protokoly sestavení pro řádek, který vypadá podobně jako následující příklad:

    Dotfuscator Community Version 5.42.0.9514-e0e25f754
    

    Abyste mohli tento text zobrazit, budete možná muset zvýšit úroveň podrobností sestavení. Informace o sadě Visual Studio najdete v tématu nastavení podrobností.

První celé číslo verze před první tečkou .označuje hlavní verzi dotfuscatoru. Pokud je první celé číslo 5, měli byste provést kroky upgradu na této stránce, abyste mohli využívat nejnovější funkce a aktualizace ochrany Dotfuscator 6.

Pokyny k upgradu

Tato část obsahuje sady pokynů pro upgrade typických použití nástroje Dotfuscator Community z verze 5 na verzi 6.

Instalace nástroje Dotfuscator 6

Dotfuscator Community se distribuuje jako rozšíření pro Visual Studio. Pokyny k instalaci nástroje Dotfuscator 6 se liší podle toho, jakou verzi sady Visual Studio máte:

  • Visual Studio 2022 Dotfuscator Community 6 je součástí sady Visual Studio 2022.

  • Visual Studio 2019 Dotfuscator Community 6 je součástí novějších verzí sady Visual Studio 2019 (verze 16.10.0 a novější). aktualizace sady Visual Studio 2019 na nejnovější verzi. Aktualizace sady Visual Studio automaticky upgraduje všechny instalace nástroje Dotfuscator Community 5 na Dotfuscator Community 6.

    • Pokud ještě nemáte nainstalovaný Dotfuscator, nejprve aktualizujte Visual Studio a podívejte se na Instalace.

    • Kromě vydaných verzí v sadě Visual Studio můžete vždy získat nejnovější verze nástroje Dotfuscator Community ze stránky Soubory ke stažení dotfuscatoru.

  • Visual Studio 2017 Tato verze sady Visual Studio byla dodávána pouze se sadou Dotfuscator Community 5. Můžete ale nainstalovat nebo upgradovat na Dotfuscator Community 6 tak, že přejdete na stránku Soubory ke stažení dotfuscatoru a vyberete příslušný odkaz ke stažení.

    Spusťte stažený soubor .vsix a podle pokynů nainstalujte Dotfuscator Community 6 do sady Visual Studio. Stávající instalace Dotfuscator Community 5 se také upgradují.

  • starší verze sady Visual Studio Dotfuscator Community 6 nejsou v těchto verzích sady Visual Studio podporovány. Doporučujeme přejít na novější verzi Visual Studio nebo přejít z Dotfuscator Community na Dotfuscator Professional.

Pokud jste dříve zaregistrovali Dotfuscator Community 5, tato registrace se automaticky převede při prvním spuštění nástroje Dotfuscator Community 6.

Aktualizace cest k rozhraní příkazového řádku

Pokud jste dříve k ochraně aplikace použili rozhraní příkazového řádku Dotfuscator 5 (CLI), musíte aktualizovat cestu k rozhraní příkazového řádku v libovolném projektu a vytvářet skripty, které na ni odkazují.

Důvodem, proč může být cesta k rozhraní příkazového řádku Dotfuscatoru teď neplatná, je to, že názvy některých spustitelných souborů nainstalovaných v Nástroji Dotfuscator Community se v Nástroji Dotfuscator 6 změnily. Díky této změně budou tyto spustitelné soubory stejné pro Dotfuscator Community a Dotfuscator Professional.

Spustitelný soubor pro... Dotfuscator 5 Dotfuscator 6
grafické uživatelské rozhraní dotfuscator.exe dotfuscatorUI.exe
rozhraní příkazového řádku dotfuscatorCLI.exe dotfuscator.exe

Poznámka

Cesta rozhraní příkazového řádku může být také neplatná, pokud upgradujete mezi hlavními verzemi sady Visual Studio nebo přepnete edice sady Visual Studio, protože rozhraní příkazového řádku Dotfuscator je nainstalované v instalačním adresáři sady Visual Studio. Příznaky a řešení uvedené níže platí také pro tento scénář.

Pokud vaše sestavení používá neplatnou cestu k rozhraní příkazového řádku Dotfuscator, můžou se zobrazit chyby, například jeden z následujících příkladů:

'"[...]\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.

Aktualizace sestavení tak, aby používala správnou cestu rozhraní příkazového řádku:

  1. Spusťte grafického uživatelského rozhraní Dotfuscator Community sadě Visual Studio tak, že přejdete do nabídky Tools sady Visual Studio a vyberete PreEmptive Protection - Dotfuscator Community.

  2. V grafickém uživatelském rozhraní komunity Dotfuscator přejděte do nabídky Tools a vyberte Příkazový řádek Dotfuscator.

  3. Do příkazového řádku, který se otevře, zadejte where dotfuscator.exe. Zkopírujte první cestu zobrazenou do dokumentu ve formátu prostého textu pro pozdější referenci. Toto je nová cesta k rozhraní příkazového řádku Dotfuscator Community 6.

  4. Otevřete projekt nebo konfiguraci sestavení podle potřeby pro váš systém sestavení.

    • V případě projektů sady Visual Studio otevřete soubor projektu (.csproj, .vbprojnebo .fsproj) jako prostý text. Otevřete soubor projektu v sadě Visual Studio.
  5. Vyhledejte všechna místa v rámci projektu nebo konfigurace sestavení, kde se používá stará cesta k rozhraní příkazového řádku Dotfuscator Community 5. Obvykle je to cesta končící dotfuscatorCLI.exe.

  6. Nahraďte staré cesty umístěné v kroku 5 novou cestou, kterou jste si poznamenali v kroku 3.

    Pokud jedna ze starých cest není absolutní cestou, měli byste novou cestu odpovídajícím způsobem upravit na základě kontextu. V následujícím příkladu se ve staré cestě použila proměnná prostředí VSInstallDir, takže odpovídající nová cesta by měla provést totéž.

    • Nová cesta z kroku 3: C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe
    • Stará cesta v souboru projektu: %VSInstallDir%\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscatorCLI.exe
    • Nová cesta v souboru projektu: %VSInstallDir%\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe
  7. Pokud používáte systém správy zdrojového kódu, například Git, ujistěte se, že se změny z kroku 6 projeví v tomto systému. Tyto změny distribuujte do zbytku týmu, jak může být vhodné pro váš systém a organizaci.

Varování

Vzhledem k tomu, že dotfuscator.exe odkazuje na grafické uživatelské rozhraní (GUI) v Nástroji Dotfuscator 5, ale odkazuje na rozhraní příkazového řádku (CLI) v Dotfuscatoru 6, buďte opatrní při aktualizaci skriptů sestavení sdílených napříč více počítači.

Počítač s nainstalovaným nástrojem Dotfuscator 5, který spouští skript aktualizovaný pro Dotfuscator 6, způsobí, že skript spustí grafické uživatelské rozhraní místo zamýšleného rozhraní příkazového řádku. To může způsobit úspěšné sestavení bez ohledu na použití ochrany Dotfuscatoru, což znamená, že výstupní balíčky nebudou chráněny.

V jiných případech může místo toho způsobit selhání sestavení.

Abyste se těmto scénářům vyhnuli, upgradujte Dotfuscator Community z verze 5 na verzi 6 zároveň na všech vašich počítačích a skriptech sestavení.

Aktualizovat konfigurační soubory Dotfuscator

je nutné upgradovat všechny konfigurační soubory nástroje Dotfuscator (například Dotfuscator.xml), které byly vytvořeny před verzí Dotfuscator 6.

Pokud se pokusíte spustit rozhraní příkazového řádku Dotfuscator se starým konfiguračním souborem, zobrazí se chyby jako v následujících příkladech:

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.

Důležitý

Zobrazí se vám tato chyba a potřebujete upgradovat konfigurační soubor, i když jste nepoužávali uvedené funkce.

Postup upgradu konfiguračního souboru:

  1. Spusťte dotfuscator Community grafické uživatelské rozhraní (GUI) v sadě Visual Studio Tools menu a vyberte PreEmptive Protection - Dotfuscator Community.

  2. Otevřete příslušný konfigurační soubor Dotfuscatoru (Ctrl+O).

  3. Následující zpráva se zobrazí na záložce Výstup sestavení:

    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. Uložte aktualizovaný konfigurační soubor Dotfuscatoru (Ctrl+S).

  5. Pokud používáte systém správy zdrojového kódu, například Git, ujistěte se, že se změny konfiguračního souboru Dotfuscatoru projeví v tomto systému. Tyto změny distribuujte do zbytku týmu, jak může být vhodné pro váš systém a organizaci.

Aktualizace odkazů na knihovny atributů

Dotfuscator umožňuje konfigurovat určité funkce prostřednictvím atributů .NET ve zdrojovém kódu. Pokud vaše projekty používaly tyto atributy, budete je možná muset aktualizovat, aby se vyřešily změny v nástroji Dotfuscator 6.

Obfuskace atributů

Nebyly provedeny žádné změny atributů pro obfuskaci . Tyto atributy jsou definovány v knihovnách základních tříd .NET a Dotfuscator Community 6 je nadále respektovat.

Kontrola atributů

Knihovna obsahující Check Attributes se změnila. V Dotfuscator Community 5 se distribuoval jako soubor společně se samotným Dotfuscatorem. Počínaje Dotfuscator Community 6 je distribuován jako veřejný balíček NuGet.

Pokud se pokusíte vytvořit projekt sady Visual Studio, který stále odkazuje na staré umístění, můžou se zobrazit chyby jako v následujících příkladech:

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?)

Může se zobrazit také toto upozornění:

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.

Pokud chcete projekt aktualizovat tak, aby používal nové umístění:

  1. Odeberte odkaz na sestavení projektu z PreEmptive.Attributes.dll.

  2. Přidejte odkaz na balíček NuGet PreEmptive.Protection.Checks.Attributes do projektu. Balíček je k dispozici ve výchozím zdroji NuGet nuget.org.

Odebrali jsme také parametry ExtendedKey jednotlivých kontrolních atributů. Tyto parametry byly ignorovány v Dotfuscator Community 5, ale pokud je váš zdrojový kód přesto použil, odeberte tato použití, aby bylo možné váš projekt zkompilovat.

Atributy instrumentace

Atributy instrumentace byly použity k konfiguraci funkce PreEmptive Analytics v Dotfuscatoru 5. V Dotfuscator 6 byly ale odebrány PreEmptive Analytics; viz pododdíl Odebrané funkce, PreEmptive Analytics . V důsledku toho byly také odebrány atributy instrumentace.

Pokud se pokusíte vytvořit projekt sady Visual Studio, který používal atributy instrumentace, může se zobrazit stejné druhy chyb a upozornění, jak je uvedeno v Check Attributes, i když se názvy atributů liší (například FeatureAttribute místo TamperCheckAttribute).

Pokud se pokusíte spustit Dotfuscator na již sestavených sestaveních, která obsahují použití atributů instrumentace, zobrazí se chyby, jako jsou následující příklady:

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

Pokud chcete tyto problémy vyřešit, odeberte ze zdrojového kódu všechny použití atributů instrumentace. Je nutné také odebrat odkazy sestavení na knihovnu, která definovala atributy, PreEmptive.Attributes.dll. (Pokud jste také používali kontrolní atributy definované v této knihovně, změnily umístění; podívejte se výše na Kontrola atributů.)

Odebrané funkce

Dotfuscator Community 6 zavádí zásadní změny ze společenství Dotfuscator Community 5. Pokud jste používali Dotfuscator Community 5, tato část popisuje, jak řešit změny, které můžou vyžadovat úpravy sestavení nebo ovlivnit výstup Dotfuscatoru.

Úplný seznam změn je k dispozici v protokolu změn .

PreEmptive Analytics

Dotfuscator 6 nepodporuje PreEmptive Analytics, včetně funkce Check Telemetrie. Kontroly samotné (včetně oznámení aplikace a akcí kontroly ) jsou stále podporovány.

Pokud chcete použít Dotfuscator 6, upgradujte konfigurační soubor a odeberte nastavení PreEmptive Analytics.

Pokud jste k konfiguraci PreEmptive Analytics používali atributy v kódu, odstraňte je ze zdrojového kódu a znovu sestavte vstupy, než je bude moci nástroj Dotfuscator 6 chránit.

Pokud jste k hlášení používali funkci Zkontrolovat telemetrii, když kontrola zjistí neplatný stav (například když je zjištěna manipulace ), můžete ji nahradit vlastním oznámením aplikace, které hlásí incident Azure Application Insights nebo jiné službě podle vašeho výběru.

Nepodporované typy aplikací

Dotfuscator 6 už nejsou podporovány následující typy aplikací:

  • Windows Phone
  • WinRT (aplikace pro Windows 8)
  • Silverlight
  • Unity (herní stroj)
  • Univerzální platforma Windows (UPW)

Pokud chcete chránit jiné druhy aplikací pro UPW, upgradujte na dotfuscator Professional a postupujte podle pokynů Chránit aplikaci.

Nepodporované vstupy

Dotfuscator Community už nepodporuje balíčky univerzální platformy Windows (UWP) .appx jako vstupy . Chcete-li chránit aplikace pro UWP, upgradujte na Dotfuscator Professional a postupujte podle pokynů Ochrana vaší aplikace.

Balíčky .xap se navíc už nedají používat jako vstupy, protože Silverlight se už nepodporuje.

Zavedení explicitních přepsání metod

Možnost přejmenování pro zavedení explicitního překryvání metod byla z Dotfuscatoru odebrána. Pokud chcete použít Dotfuscator 6, upgradujte konfigurační soubor a odeberte toto nastavení.

Úplná dokumentace

Podrobné pokyny k používání, včetně , jak začít používat uživatelské rozhraní Dotfuscator Community, najdete v kompletní uživatelskou příručku k nástroji Dotfuscator Community na preemptive.com .