Udostępnij za pośrednictwem


Informacje o programie Dotfuscator Community & Visual Studio

PreEmptive Protection — Dotfuscator zapewnia kompleksową ochronę aplikacji .NET, która łatwo pasuje do bezpiecznego cyklu życia tworzenia oprogramowania. Służy do wzmacniania, ochrony i optymalizacji aplikacji na komputery stacjonarne, urządzenia mobilne, serwery i urządzenia wbudowane, aby pomóc zabezpieczyć tajemnice handlowe i inną własność intelektualną (IP), zmniejszyć piractwo i podrabianie oraz chronić przed manipulowaniem i nieautoryzowanym debugowaniem. Program Dotfuscator działa na skompilowanych zestawach bez konieczności programowania, a nawet dostępu do kodu źródłowego.

PreEmptive Protection — Dotfuscator

Dlaczego ochrona ma znaczenie

Ważne jest, aby chronić własność intelektualną (IP). Kod aplikacji zawiera szczegóły projektu i implementacji, które można uznać za adres IP. Jednak aplikacje utworzone na platformie .NET Framework zawierają znaczące metadane i wysokopoziomowy kod pośredni, dzięki czemu można je łatwo odtworzyć, korzystając tylko z jednego z wielu bezpłatnych, zautomatyzowanych narzędzi. Zakłócając i zatrzymując odwrotną inżynierię, można zapobiec nieautoryzowanemu ujawnieniu adresów IP i pokazać, że kod zawiera tajemnice handlowe. Narzędzie Dotfuscator może zaciemniać zestawów platformy .NET w celu utrudnienia odwrotnej inżynierii przy zachowaniu oryginalnego zachowania aplikacji.

Ważne jest również, aby chronić integralność aplikacji. Oprócz odwrotnej inżynierii zły aktorzy mogą próbować piracić aplikację, zmieniać zachowanie aplikacji w czasie wykonywania lub manipulować danymi. Narzędzie Dotfuscator może wyposażyć aplikację w zdolność do wykrywania i reagowania na nieautoryzowane użycie, w tym ingerencję, debugowanie przez inne podmioty oraz urządzenia z dostępem do roota.

Aby uzyskać więcej informacji na temat sposobu, w jaki program Dotfuscator pasuje do bezpiecznego cyklu życia tworzenia oprogramowania, zobacz SDL App Protection na stronie rozwiązania PreEmptive Solutions.

Informacje o społeczności dotfuscator

Twoja kopia programu Microsoft Visual Studio zawiera kopię PreEmptive Protection — Dotfuscator Community, bezpłatnie do użytku osobistego. (Ta bezpłatna wersja była wcześniej znana jako Dotfuscator Community Edition lub Dotfuscator CE).

Aby uzyskać instrukcje dotyczące sposobu instalowania wersji programu Dotfuscator Community dołączonej do programu Visual Studio, zobacz stronę instalacji .

Dotfuscator Community oferuje szereg usług ochrony oprogramowania i wzmacniania zabezpieczeń dla deweloperów, architektów i testerów. Przykłady zaciemniania platformy .NET i innych funkcji Application Protection dostępnych w witrynie Dotfuscator Community to:

  • zmiana nazwy identyfikatorów w celu utrudnienia odwrotnej inżynierii skompilowanych zestawów.
  • System wykrywania manipulacji służy do wykrywania wykonywania naruszonych aplikacji i zakończania lub odpowiedniego reagowania na naruszone sesje.
  • Anti-debug, aby wykryć dołączenie debugera do uruchomionej aplikacji i zakończyć lub odpowiedzieć na sesje debugowane.
  • urządzenia chroniącego przed dostępem do konta root, aby wykryć, czy aplikacja jest uruchomiona na urządzeniu z systemem Android z odblokowanym dostępem i zakończyć sesje na tych urządzeniach lub reagować na nie.
  • zachowania wygasania aplikacji, które kodują datę zakończenia życia i kończą wygasłe sesje aplikacji.

Aby uzyskać szczegółowe informacje na temat tych funkcji, w tym sposobu dopasowania ich do strategii ochrony aplikacji, zobacz stronę Capabilities (Możliwości).

Program Dotfuscator Community oferuje podstawową ochronę gotową do użycia. Jeszcze więcej środków ochrony aplikacji jest dostępnych dla zarejestrowanych użytkowników Dotfuscator Community oraz dla użytkowników PreEmptive Protection — Dotfuscator Professional, najlepszych na świecie .NET Obfuscator. Aby uzyskać informacje na temat ulepszania programu Dotfuscator, zobacz stronę Upgrades (Uaktualnienia).

Wprowadzenie

Aby rozpocząć korzystanie z programu Dotfuscator Community z poziomu programu Visual Studio, wpisz dotfuscator w polu wyszukiwania (Ctrl+Q).

  • Jeśli program Dotfuscator Community jest już zainstalowany, pole wyszukiwania wyświetla opcję uruchomienia Dotfuscator Community w sekcji Menu. Aby uzyskać szczegółowe informacje, zobacz stronę Wprowadzenie w pełnym podręczniku użytkownika Dotfuscator Community.
  • Jeśli program Dotfuscator Community nie jest jeszcze zainstalowany, pole wyszukiwania zamiast tego wyświetla opcję Install PreEmptive Protection – Dotfuscator w sekcji Individual Components. Aby uzyskać szczegółowe informacje, zobacz stronę instalacji .

Możesz również pobrać najnowszą wersję społeczności Dotfuscator community z witryny stronie Dotfuscator Downloads na preemptive.com.

Uaktualnianie z programu Dotfuscator Community 5

Dowiedz się, jak zaktualizować do programu PreEmptive Protection — Dotfuscator Community 6.

W zależności od historii instalacji i wersji programu Visual Studio może być obecnie uruchomiony program Dotfuscator Community 5, poprzednia wersja główna. Jeśli tak, należy przeprowadzić uaktualnienie, ponieważ ważne jest, aby zapewnić, że twój kod otrzymuje najnowsze środki ochrony. Uaktualnienia są dostępne bez opłat.

W tym artykule wyjaśniono, jak określić, jaka wersja jest obecnie dostępna, jak w razie potrzeby uaktualnić do wersji 6 oraz jakie funkcje zostały zastąpione lub usunięte między dwiema wersjami.

Określanie wersji programu Dotfuscator

Jeśli nie masz pewności, jaka wersja programu Dotfuscator jest uruchomiona, możesz określić wersję, wykonując jedną z następujących opcji:

  • Uruchom program Dotfuscator Community graficzny interfejs użytkownika (GUI), przechodząc do menu narzędzia programu Visual Studio i wybierając pozycję PreEmptive Protection — Dotfuscator Community.

    W graficznym interfejsie użytkownika programu Dotfuscator otwórz menu Pomoc i wybierz pozycję Informacje..., aby wyświetlić ekran Informacje.

    Ten ekran zawiera listę wersji programu Dotfuscator.

  • Jeśli program Dotfuscator jest zintegrowany z kompilacją przy użyciu interfejsu wiersza polecenia , możesz również sprawdzić dzienniki kompilacji dla wiersza, jak w poniższym przykładzie:

    Dotfuscator Community Version 5.42.0.9514-e0e25f754
    

    Aby zobaczyć ten tekst, może być konieczne zwiększenie poziomu szczegółowości w kompilacji. W przypadku programu Visual Studio zobacz sekcję Ustawienia szczegółowości.

Pierwsza liczba całkowita wersji, znajdująca się przed pierwszą kropką ., oznacza główną wersję programu Dotfuscator. Jeśli pierwsza liczba całkowita to 5, należy wykonać kroki uaktualniania na tej stronie, aby móc korzystać z najnowszych funkcji i aktualizacji ochrony programu Dotfuscator 6.

Instrukcje uaktualniania

Ta sekcja zawiera zestawy instrukcji dotyczących uaktualniania typowych użycia programu Dotfuscator Community z wersji 5 do wersji 6.

Instalowanie programu Dotfuscator 6

Program Dotfuscator Community jest dystrybuowany jako rozszerzenie programu Visual Studio. Instrukcje dotyczące instalowania programu Dotfuscator 6 różnią się w zależności od posiadanej wersji programu Visual Studio:

  • Visual Studio 2022 Dotfuscator Community 6 jest uwzględniony w Visual Studio 2022.

  • program Visual Studio 2019 Dotfuscator Community 6 jest uwzględniony w nowszych wersjach programu Visual Studio 2019 (wersja 16.10.0 lub nowsza). Zaktualizuj program Visual Studio 2019 do najnowszej wersji. Aktualizacja programu Visual Studio automatycznie uaktualnia dowolną instalację programu Dotfuscator Community 5 do programu Dotfuscator Community 6.

    • Jeśli nie masz już zainstalowanego programu Dotfuscator, najpierw zaktualizuj program Visual Studio, a następnie zobacz Installation.

    • Oprócz wersji programu Visual Studio zawsze można uzyskać najnowsze wersje programu Dotfuscator Community ze strony Dotfuscator Downloads.

  • Visual Studio 2017 Ta wersja programu Visual Studio jest dostarczana tylko z programem Dotfuscator Community 5. Można jednak zainstalować lub uaktualnić program Dotfuscator Community 6, przechodząc do strony Dotfuscator Downloads i wybierając odpowiedni link pobierania.

    Uruchom pobrany plik .vsix i postępuj zgodnie z monitami, aby zainstalować program Dotfuscator Community 6 w programie Visual Studio. Istniejące instalacje programu Dotfuscator Community 5 również są uaktualniane.

  • wcześniejsze wersje programu Visual Studio Dotfuscator Community 6 nie są obsługiwane w tych wersjach programu Visual Studio. Zalecamy przejście na nowszą wersję programu Visual Studio lub przejście z programu Dotfuscator Community do programu Dotfuscator Professional.

Jeśli wcześniej zarejestrowano Dotfuscator Community 5, ta rejestracja jest automatycznie konwertowana przy pierwszym uruchomieniu programu Dotfuscator Community 6.

Aktualizuj ścieżki do interfejsu wiersza polecenia

Jeśli wcześniej korzystałeś z interfejsu wiersza polecenia Dotfuscator 5 (CLI) do ochrony aplikacji, musisz zaktualizować ścieżkę do CLI we wszystkich projektach i skryptach kompilacji, które się do niego odnoszą.

Przyczyną, dla którego ścieżka do interfejsu wiersza polecenia programu Dotfuscator może być teraz nieprawidłowa, jest to, że nazwy niektórych plików wykonywalnych zainstalowanych w programie Dotfuscator Community zmieniły się w programie Dotfuscator 6. Ta zmiana sprawia, że nazwy wykonywalne są takie same w wersjach Dotfuscator Community i Dotfuscator Professional.

Program wykonywalny dla... Dotfuscator 5 Dotfuscator 6
graficznego interfejsu użytkownika dotfuscator.exe dotfuscatorUI.exe
interfejs wiersza poleceń dotfuscatorCLI.exe dotfuscator.exe

Notatka

Ścieżka interfejsu wiersza polecenia może być również nieprawidłowa, jeśli uaktualnisz wersje główne programu Visual Studio lub przełączysz wersje programu Visual Studio, ponieważ interfejs wiersza polecenia programu Dotfuscator jest zainstalowany w katalogu instalacyjnym programu Visual Studio. Objawy i rozwiązanie wymienione poniżej dotyczą również tego scenariusza.

Jeśli kompilacja używa nieprawidłowej ścieżki interfejsu wiersza polecenia programu Dotfuscator, mogą wystąpić błędy, takie jak jeden z następujących przykładów:

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

Aby zaktualizować kompilację do używania prawidłowej ścieżki interfejsu wiersza polecenia:

  1. Uruchom graficznego interfejsu użytkownika programu Dotfuscator Community, przechodząc do menu narzędzia programu Visual Studio i wybierając pozycję PreEmptive Protection — Dotfuscator Community.

  2. W graficznym interfejsie użytkownika programu Dotfuscator Community przejdź do menu Narzędzia i wybierz pozycję Wiersz polecenia programu Dotfuscator.

  3. W wyświetlonym wierszu polecenia wpisz where dotfuscator.exe. Skopiuj pierwszą ścieżkę wyświetlaną do dokumentu w postaci zwykłego tekstu w celu późniejszego odwołania. Ta ścieżka to nowa ścieżka interfejsu wiersza polecenia programu Dotfuscator Community 6.

  4. Otwórz projekt lub konfigurację kompilacji odpowiednio dla systemu kompilacji.

    • W przypadku projektów programu Visual Studio otwórz plik projektu (.csproj, .vbprojlub .fsproj) jako zwykły tekst. Otwórz plik projektu w programie Visual Studio.
  5. Znajdź dowolne miejsca w projekcie lub konfiguracji kompilacji, w których jest używana stara ścieżka do interfejsu wiersza polecenia programu Dotfuscator Community 5. Zazwyczaj jest to ścieżka kończąca się na dotfuscatorCLI.exe.

  6. Zastąp stare ścieżki znajdujące się w kroku 5 nową ścieżką zanotowaną w kroku 3.

    Jeśli jedna ze starych ścieżek nie jest ścieżką bezwzględną, należy odpowiednio dostosować nową ścieżkę na podstawie kontekstu. W poniższym przykładzie zmienna środowiskowa VSInstallDir została użyta w starej ścieżce, więc odpowiednia nowa ścieżka powinna zrobić to samo.

    • Nowa ścieżka z kroku 3: C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe
    • Stara ścieżka w pliku projektu: %VSInstallDir%\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscatorCLI.exe
    • Nowa ścieżka w pliku projektu: %VSInstallDir%\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe
  7. Jeśli używasz systemu kontroli źródła, takiego jak Git, upewnij się, że zmiany z kroku 6 zostaną odzwierciedlone w tym systemie. Rozpowszechnij te zmiany w pozostałej części zespołu, co może być odpowiednie dla systemu i organizacji.

Ostrzeżenie

Ponieważ dotfuscator.exe odnosi się do graficznego interfejsu użytkownika (GUI) w narzędziu Dotfuscator 5, ale odwołuje się do interfejsu wiersza polecenia (CLI) w narzędziu Dotfuscator 6, należy zachować ostrożność podczas aktualizowania skryptów kompilacji udostępnionych na wielu maszynach.

Maszyna z zainstalowanym programem Dotfuscator 5, na którym jest uruchamiany skrypt zaktualizowany dla programu Dotfuscator 6, powoduje uruchomienie graficznego interfejsu użytkownika zamiast zamierzonego interfejsu wiersza polecenia. Może to spowodować, że kompilacja zakończy się powodzeniem pomimo braku zastosowania ochrony programu Dotfuscator, co oznacza, że pakiety wyjściowe nie będą chronione.

W innych przypadkach może to spowodować niepowodzenie kompilacji.

Aby uniknąć tych scenariuszy, uaktualnij program Dotfuscator Community z wersji 5 do wersji 6 na wszystkich maszynach i w tym samym czasie skompiluj skrypty.

Uaktualnianie plików konfiguracji programu Dotfuscator

należy uaktualnić wszystkie pliki konfiguracji programu Dotfuscator (takie jak Dotfuscator.xml), które zostały utworzone przed wersją Dotfuscator 6.

Jeśli spróbujesz uruchomić interfejs wiersza polecenia programu Dotfuscator ze starym plikiem konfiguracji, wystąpią błędy podobne do następujących przykładów:

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.

Ważny

Ten błąd jest wyświetlany i trzeba uaktualnić plik konfiguracji, nawet jeśli nie używasz wymienionych funkcji.

Aby uaktualnić plik konfiguracji:

  1. Uruchom program Dotfuscator Community graficzny interfejs użytkownika (GUI), przechodząc do menu narzędzia programu Visual Studio i wybierając pozycję PreEmptive Protection — Dotfuscator Community.

  2. Otwórz plik konfiguracji narzędzia Dotfuscator w danym miejscu (Ctrl+O).

  3. Na karcie dane wyjściowe kompilacji zostanie wyświetlony następujący komunikat:

    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. Zapisz zaktualizowany plik konfiguracji programu Dotfuscator (Ctrl+S).

  5. Jeśli używasz systemu kontroli źródła, takiego jak Git, upewnij się, że zmiany w pliku konfiguracji programu Dotfuscator zostaną odzwierciedlone w tym systemie. Rozpowszechnij te zmiany w pozostałej części zespołu, co może być odpowiednie dla systemu i organizacji.

Aktualizowanie odwołań do bibliotek atrybutów

Program Dotfuscator umożliwia konfigurowanie niektórych funkcji za pośrednictwem atrybutów platformy .NET w kodzie źródłowym. Jeśli w projektach były używane takie atrybuty, może być konieczne zaktualizowanie ich w celu rozwiązania zmian w programie Dotfuscator 6.

Atrybuty zaciemniania

Nie wprowadzono żadnych zmian w atrybutach zaciemnienia . Te atrybuty są definiowane w bibliotekach klas bazowych platformy .NET, a program Dotfuscator Community 6 nadal je honoruje.

Sprawdzanie atrybutów

Biblioteka zawierająca atrybuty sprawdzania została zmieniona. W programie Dotfuscator Community 5 został on dystrybuowany jako plik wraz z samym dotfuscatorem. Począwszy od programu Dotfuscator Community 6, jest on zamiast tego dystrybuowany jako publiczny pakiet NuGet.

Jeśli spróbujesz skompilować projekt programu Visual Studio, który nadal odwołuje się do starej lokalizacji, mogą wystąpić błędy podobne do następujących przykładów:

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

Może zostać również wyświetlone następujące ostrzeżenie:

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.

Aby zaktualizować projekt tak, aby używał nowej lokalizacji:

  1. Usuń odwołanie projektu do zestawu PreEmptive.Attributes.dll.

  2. Dodaj odwołanie do pakietu NuGet PreEmptive.Protection.Checks.Attributes do projektu. Pakiet jest dostępny w domyślnym kanale informacyjnym NuGet, nuget.org.

Wszystkie parametry ExtendedKey atrybutu sprawdzania również zostały usunięte. Te parametry zostały zignorowane w programie Dotfuscator Community 5, ale jeśli kod źródłowy używał ich niezależnie, usuń te użycie w celu skompilowania projektu.

Atrybuty instrumentacji

Atrybuty instrumentacji zostały użyte do skonfigurowania funkcji PreEmptive Analytics w programie Dotfuscator 5. Jednak PreEmptive Analytics zostało usunięte w programie Dotfuscator 6; zobacz podsekcję Usunięte funkcje PreEmptive Analytics. W związku z tym atrybuty instrumentacji również zostały usunięte.

Jeśli spróbujesz skompilować projekt programu Visual Studio, który używał atrybutów instrumentacji, może zostać wyświetlony taki sam rodzaj błędów i ostrzeżeń, jak wspomniano w Sprawdzanie atrybutów, choć nazwy atrybutów różnią się (na przykład FeatureAttribute zamiast TamperCheckAttribute).

Jeśli spróbujesz uruchomić program Dotfuscator w już utworzonych zestawach zawierających użycie atrybutów instrumentacji, wystąpią błędy podobne do następujących przykładów:

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

Aby rozwiązać te problemy, usuń wszystkie użycia atrybutów instrumentacji z kodu źródłowego. Należy również usunąć odwołania do zestawu i biblioteki, która zdefiniowała atrybuty, PreEmptive.Attributes.dll. (Jeśli używasz również atrybutów sprawdzania z tej biblioteki zdefiniowanych, zostały przeniesione; zobacz Atrybuty sprawdzania powyżej).

Usunięte funkcje

Program Dotfuscator Community 6 wprowadza zmiany powodujące niezgodność z Dotfuscator Community 5. Jeśli używasz programu Dotfuscator Community 5, w tej sekcji opisano sposób radzenia sobie ze zmianami, które mogą wymagać modyfikacji kompilacji lub wpływają na dane wyjściowe programu Dotfuscator.

Pełną listę zmian można znaleźć w dzienniku zmian .

Analiza PreEmptive

Program Dotfuscator 6 nie obsługuje PreEmptive Analytics, w tym Check Telemetry. Jednak same kontrole (w tym powiadomienia aplikacji i działania kontrolne ) są nadal obsługiwane.

Aby użyć programu Dotfuscator 6, uaktualnij plik konfiguracji, aby usunąć ustawienia usługi PreEmptive Analytics.

Jeśli używasz atrybutów w kodzie do konfigurowania usługi PreEmptive Analytics, usunąć je z kodu źródłowego i ponownie skompilować zestawy wejściowe, zanim program Dotfuscator 6 będzie mógł chronić te zestawy.

Jeśli używasz funkcji Check Telemetry do raportowania, gdy sprawdzanie wykryje nieprawidłowy stan (na przykład w przypadku wykrycia naruszenia ), możesz zastąpić je niestandardowym Powiadomieniem aplikacyjnym, które zgłasza zdarzenie do usługi Azure Application Insights lub innej wybranej usługi.

Nieobsługiwane typy aplikacji

Następujące typy aplikacji nie są już obsługiwane w programie Dotfuscator 6:

  • Windows Phone
  • WinRT (aplikacje systemu Windows 8)
  • Silverlight
  • Unity (aparat gry)
  • Platforma uniwersalna systemu Windows (UWP)

Aby chronić inne rodzaje aplikacji platformy UWP, przeprowadzić uaktualnienie do programu Dotfuscator Professional i postępuj zgodnie z instrukcjami Protect Your App.

Nieobsługiwane dane wejściowe

Program Dotfuscator Community nie obsługuje już pakietów .appx platformy uniwersalnej systemu Windows (UWP) jako danych wejściowych. Aby chronić aplikacje platformy UWP, uaktualnić do programu Dotfuscator Professional i postępować zgodnie z instrukcjami Chroń swoją aplikację.

Ponadto pakiety .xap nie mogą być już używane jako dane wejściowe, ponieważ program Silverlight nie jest już obsługiwany.

Wprowadź jawne przedefiniowania metod

Opcja zmiany nazwy umożliwiająca wprowadzenie jawnych przesłonięć metod została usunięta z programu Dotfuscator. Aby użyć programu Dotfuscator 6, uaktualnij plik konfiguracji, usuwając to ustawienie.

Pełna dokumentacja

Zobacz pełny podręcznik użytkownika społeczności programu Dotfuscator na stronie preemptive.com, aby uzyskać szczegółowe instrukcje dotyczące użycia, w tym , jak rozpocząć korzystanie z interfejsu użytkownika programu Dotfuscator Community.