Tudnivalók a Dotfuscator Community & Visual Studióról

PreEmptive Protection – Dotfuscator átfogó .NET-alkalmazásvédelmet biztosít, amely könnyen illeszkedik a biztonságos szoftverfejlesztési életciklusba. Segítségével megerősítheti, megvédheti és metszheti az asztali, mobil, kiszolgálói és beágyazott alkalmazásokat, hogy biztonságossá tegye a titkos üzleti titkokat és más szellemi tulajdonokat (IP-címeket), csökkentse a kalózkodást és a hamisítást, valamint védelmet nyújt a jogosulatlan és illetéktelen hibakeresés ellen. A Dotfuscator összeállított szerelvényeken működik anélkül, hogy több programozásra vagy akár hozzáféréssel a forráskódhoz lenne szükség.

PreEmptive Protection – Dotfuscator

Miért fontos a védelem?

Fontos, hogy védje szellemi tulajdonát (IP). Az alkalmazás kódja tartalmazza a tervezés és a megvalósítás részleteit, amelyek IP-nek tekinthetők. A .NET-keretrendszerre épülő alkalmazások azonban jelentős metaadatokat és magas szintű köztes kódtartalmaznak, így egyszerűen visszafejthetők, csupán a számos ingyenes, automatizált eszköz egyikével. A visszafejtés megszakításával és leállításával megakadályozhatja a jogosulatlan IP-közzétételt, és bizonyíthatja, hogy a kód üzleti titkokat tartalmaz. A Dotfuscator elhomályosíthatja a .NET assembly-ket, hogy megakadályozza a visszafejtést, miközben fenntartja az alkalmazás eredeti viselkedését.

Fontos az alkalmazás integritásánakvédelme is. A visszafejtés mellett előfordulhat, hogy a rosszindulatú szereplők megpróbálnak kalózmásolatot készíteni az alkalmazásról, módosítani az alkalmazás futtatás közbeni viselkedését, vagy manipulálni az adatokat. A Dotfuscator képes észlelni és reagálni a jogosulatlan, beleértve az illetéktelen beavatkozást, a külső hibakeresést és a gyökerező eszközöket.

További információ arról, hogyan illeszkedik a Dotfuscator a biztonságos szoftverfejlesztési életciklusba: látogasson el a PreEmptive Solutions SDL App Protection oldalára.

Tudnivalók a Dotfuscator Közösségről

A Microsoft Visual Studio példánya tartalmazza a PreEmptive Protection – Dotfuscator Communityegy példányát, amely személyes használatra ingyenes. (Ez az ingyenes verzió korábban Dotfuscator Community Edition vagy Dotfuscator CE néven volt ismert.)

A Dotfuscator Community Visual Studióhoz mellékelt verziójának telepítésével kapcsolatos utasításokért tekintse meg a Telepítési oldal.

A Dotfuscator Community számos szoftvervédelmet és szolgáltatásokat kínál fejlesztők, építészek és tesztelők számára. Példák a Dotfuscator Közösség által kínált .NET Obfuscation és más alkalmazásvédelem funkciókra:

  • Az azonosítók átnevezése azáltal, hogy megnehezíti a fordított összeállítások visszafejtését.
  • Illetéktelen módosítás elleni a módosított alkalmazások végrehajtásának észleléséhez, valamint a módosított munkamenetek leállításához vagy megválaszolásához.
  • Anti-debug a hibakereső csatolásának észlelésére egy futó alkalmazáshoz, valamint a hibakeresett munkamenetek leállítására vagy megválaszolására.
  • Gyökerező eszköz észlelni, hogy az alkalmazás gyökerező Android-eszközön fut-e, és leállítja vagy válaszol az ezeken az eszközökön futó munkamenetekre.
  • alkalmazás lejárati viselkedése, amely az "élettartam végén" dátumot kódolja, és befejezi a lejárt alkalmazás-munkameneteket.

A Dotfuscator Community alapszintű védelmet nyújt. Még több alkalmazásvédelmi intézkedés érhető el a Dotfuscator Közösség regisztrált felhasználói és a PreEmptive Protection - Dotfuscator Professional, a világ vezető .NET Obfuscatorfelhasználói számára.

Kezdés

A Dotfuscator Community használatának megkezdéséhez a Visual Studio-ban írja be dotfuscator a keresőmezőbe (Ctrl+Q).

A Dotfuscator Community legújabb verziójának a Dotfuscator Letöltések oldalának preemptive.com.

Frissítés a Dotfuscator Community 5-ről

Ismerje meg, hogyan frissíthet a PreEmptive Protection – Dotfuscator Community 6 verzióra.

A Visual Studio telepítési előzményeitől és verziójától függően előfordulhat, hogy jelenleg a Dotfuscator Community 5-öt, a korábbi főverziót futtatja. Ha igen, frissítsen, mert fontos, hogy a kód megkapja a legújabb védelmi intézkedéseket. A frissítések ingyenesen érhetők el.

Ez a cikk bemutatja, hogyan állapíthatja meg, hogy jelenleg melyik verzióval rendelkezik, hogyan frissíthet a 6-os verzióra, ha szükséges, és milyen funkciókat cseréltek le vagy távolítottak el a két verzió között.

A Dotfuscator verziójának meghatározása

Ha nem biztos abban, hogy a Dotfuscator melyik verzióját futtatja, az alábbi lehetőségek egyikével határozhatja meg a verziót:

  • Indítsa el a Dotfuscator Community grafikus felhasználói felületi (GUI) megnyitásához nyissa meg a Visual Studio Tools menüjét, és válassza a PreEmptive Protection - Dotfuscator Communitylehetőséget.

    A Dotfuscator grafikus felhasználói felületén nyissa meg a Súgó menüt, és válassza a Névjegy... lehetőséget a Névjegy képernyő megjelenítéséhez.

    Ezen a képernyőn a Dotfuscator verziója látható.

  • Ha a Dotfuscator integrálva van a buildbe a parancssori felülettel, a buildnaplókban is ellenőrizheti a következő példához hasonló sorokat:

    Dotfuscator Community Version 5.42.0.9514-e0e25f754
    

    Lehetséges, hogy a szöveg megjelenítéséhez növelnie kell a build részletességi szintjét. A Visual Studio esetében lásd a részletességi beállítások .

A verzió első egész száma az első pont .előtt a Dotfuscator főverzióját jelzi. Ha az első egész szám 5, akkor végezze el a frissítési lépéseket ezen a lapon, hogy kihasználhassa a Dotfuscator 6 legújabb funkcióit és védelmi frissítéseit.

Frissítési utasítások

Ez a szakasz útmutatást tartalmaz a Dotfuscator Community 5-ös verziójáról a 6-os verzióra való frissítéséhez.

A Dotfuscator 6 telepítése

A Dotfuscator Community a Visual Studio bővítményeként van elosztva. A Dotfuscator 6 telepítéséhez szükséges utasítások a Visual Studio melyik verziójától függően változnak:

  • Visual Studio 2022 Dotfuscator Community 6 a Visual Studio 2022 része.

  • Visual Studio 2019 Dotfuscator Community 6 a Visual Studio 2019 későbbi verzióiban (16.10.0-s és újabb verziókban) érhető el. A Visual Studio 2019 frissítése a legújabb verzióra. A Visual Studio frissítése automatikusan frissíti a Dotfuscator Community 5 telepítését a Dotfuscator Community 6-ra.

    • Ha még nincs telepítve a Dotfuscator, először frissítse a Visual Studiót, majd tekintse meg Telepítésicímű témakört.

    • A Visual Studio kiadásán kívül a Dotfuscator Community legújabb verzióit is beszerezheti a Dotfuscator Letöltések oldalról.

  • Visual Studio 2017 A Visual Studio ezen verziója csak a Dotfuscator Community 5-ös verziójával szállítható. A Dotfuscator Community 6-ot azonban a Dotfuscator Letöltések oldalra látogatva, a megfelelő letöltési hivatkozást választva telepítheti vagy frissítheti.

    Futtassa a letöltött .vsix fájlt, és az utasításokat követve telepítse a Dotfuscator Community 6-ot a Visual Studióba. A Dotfuscator Community 5 meglévő telepítései is frissülnek.

  • Visual Studio Dotfuscator Community 6 korábbi verziói nem támogatottak a Visual Studio ezen verzióiban. Javasoljuk, hogy frissítsen a Visual Studio újabb verziójára, vagy frissítsen a Dotfuscator Community-ről a Dotfuscator Professional.

Ha korábban regisztrált Dotfuscator Community 5-öt, a rendszer automatikusan átalakítja a regisztrációt a Dotfuscator Community 6 első futtatásakor.

A parancssori felület elérési útjainak frissítése

Ha korábban a Dotfuscator 5 parancssori felületének (CLI) használatával védte az alkalmazást, frissítenie kell a parancssori felület elérési útját minden projektben, és olyan szkripteket kell létrehoznia, amelyek hivatkoznak rá.

A Dotfuscator parancssori felületének elérési útja érvénytelen lehet, mert a Dotfuscator Communityvel telepített végrehajtható fájlok némelyikének neve megváltozott a Dotfuscator 6-ban. Ez a módosítás ugyanazokat a végrehajtható neveket teszi lehetővé a Dotfuscator Community és a Dotfuscator Professional között.

Végrehajtható a következőhöz: Dotfuscator 5 Dotfuscator 6
grafikus felhasználói felület dotfuscator.exe dotfuscatorUI.exe
parancssori felület dotfuscatorCLI.exe dotfuscator.exe

Jegyzet

A parancssori felület elérési útja akkor is érvénytelen lehet, ha a Visual Studio főverziói között frissít, vagy a Visual Studio kiadásait váltja, mivel a Dotfuscator CLI telepítve van a Visual Studio telepítési könyvtárában. Az alábbiakban felsorolt tünetek és megoldás erre a forgatókönyvre is érvényesek.

Ha a build érvénytelen Dotfuscator CLI elérési utat használ, hibaüzeneteket kaphat, például az alábbi példák egyikét:

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

A build frissítése a megfelelő CLI elérési út használatához:

  1. Indítsa el a Dotfuscator Community GUI a Visual Studio Tools menüjében, és válassza a PreEmptive Protection – Dotfuscator Communitylehetőséget.

  2. A Dotfuscator Community GUI-ban lépjen az Eszközök menübe, és válassza a Dotfuscator parancssor indítólehetőséget.

  3. A megnyíló parancssorba írja be a where dotfuscator.exe. Másolja a megjelenő első elérési utat egy egyszerű szöveges dokumentumba későbbi hivatkozás céljából. Ez az elérési út a Dotfuscator Community 6 parancssori felületének új elérési útja.

  4. Nyissa meg a projektet vagy a buildkonfigurációt a buildelési rendszernek megfelelően.

    • Visual Studio-projektek esetén nyissa meg a projektfájlt (.csproj, .vbprojvagy .fsproj) egyszerű szövegként. Projektfájl megnyitása a Visual Studióban.
  5. Keresse meg a projektben vagy a konfigurációban található helyeket, ahol a Dotfuscator Community 5 parancssori felületének régi elérési útját használja. Ez általában egy dotfuscatorCLI.exevégződő elérési út.

  6. Cserélje le az 5. lépésben található régi elérési utakat a 3. lépésben feljegyzett új elérési útra.

    Ha az egyik régi elérési út nem abszolút elérési út, akkor a környezetnek megfelelően kell módosítania az új útvonalat. Az alábbi példában a VSInstallDir környezeti változót használtuk a régi elérési úton, így a megfelelő új elérési útnak is ugyanezt kell tennie.

    • Új elérési út a 3. lépésből: C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe
    • Régi elérési út a projektfájlban: %VSInstallDir%\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscatorCLI.exe
    • Új elérési út a projektfájlban: %VSInstallDir%\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe
  7. Ha olyan forrásvezérlő rendszert használ, mint a Git, akkor győződjön meg arról, hogy a 6. lépés módosításai megjelennek a rendszerben. Ezeket a módosításokat a rendszer és a szervezet számára megfelelő módon ossza el a csapat többi tagjához.

Figyelmeztetés

Mivel dotfuscator.exe a Dotfuscator 5 grafikus felhasználói felületére (GUI) hivatkozik, de a Dotfuscator 6 parancssori felületére (CLI) hivatkozik, körültekintően frissítse a több gépen megosztott buildszkripteket.

A Dotfuscator 6-ra frissített szkriptet futtató Dotfuscator 5 rendszerű gép a kívánt parancssori felület helyett a grafikus felhasználói felületet indítja el. Ez a build sikerességét okozhatja annak ellenére, hogy nem alkalmazza a Dotfuscator védelmét, ami azt jelenti, hogy a kimeneti csomagok NEM lesznek védve.

Más esetekben ez inkább buildelési hibát okozhat.

A forgatókönyvek elkerülése érdekében frissítse a Dotfuscator Communityt az 5-ös verzióról a 6-os verzióra az összes gépére, és hozzon létre szkripteket egyszerre.

A Dotfuscator konfigurációs fájljainak frissítése

A Dotfuscator 6 előtt létrehozott összes Dotfuscator konfigurációs fájlt (például Dotfuscator.xml) frissíteni kell.

Ha a Dotfuscator parancssori felületét egy régi konfigurációs fájllal próbálja futtatni, az alábbi példákhoz hasonló hibaüzenetek jelennek meg:

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.

Fontos

Ezt a hibát kapja, és frissítenie kell a konfigurációs fájlt, még akkor is, ha nem használta az említett funkciókat.

Konfigurációs fájl frissítése:

  1. Indítsa el a Dotfuscator Community grafikus felhasználói felületi (GUI) megnyitásához nyissa meg a Visual Studio Tools menüjét, és válassza a PreEmptive Protection - Dotfuscator Communitylehetőséget.

  2. Nyissa meg a szóban forgó Dotfuscator konfigurációs fájlt (Ctrl+O).

  3. A következő üzenet jelenik meg a Build Output lapon:

    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. Mentse a frissített Dotfuscator konfigurációs fájlt (Ctrl+S).

  5. Ha olyan forrásvezérlő rendszert használ, mint például a Git, győződjön meg arról, hogy a Dotfuscator konfigurációs fájljának módosításai megjelennek a rendszerben. Ezeket a módosításokat a rendszer és a szervezet számára megfelelő módon ossza el a csapat többi tagjához.

Attribútumtárakra mutató hivatkozások frissítése

A Dotfuscator lehetővé teszi bizonyos funkciók konfigurálását .NET-attribútumokkal a forráskódban. Ha a projektek ilyen attribútumokat használtak, előfordulhat, hogy frissítenie kell őket a Dotfuscator 6 változásainak kezeléséhez.

Obfuscation attribútumok

Nem történt változás az Elfedés Attribútumok. Ezek az attribútumok a .NET alaposztálykódtárakban vannak definiálva, és a Dotfuscator Community 6 továbbra is tiszteletben tartja őket.

Attribútumok ellenőrzése

A Ellenőrző attribútumokat tartalmazó kódtár megváltozott. A Dotfuscator Community 5-ben a Dotfuscator mellett fájlként is elérhetővé tették. A Dotfuscator Community 6-tól kezdve nyilvános NuGet-csomagként érhető el.

Ha olyan Visual Studio-projektet próbál létrehozni, amely továbbra is a régi helyre hivatkozik, az alábbi példákhoz hasonló hibákat kaphat:

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

A következő figyelmeztetést is kaphatja:

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.

A projekt frissítése az új hely használatára:

  1. Távolítsa el a projekt PreEmptive.Attributes.dllassembly hivatkozását.

  2. Adja hozzá a NuGet-csomag referencia-PreEmptive.Protection.Checks.Attributes a projekthez. A csomag az alapértelmezett NuGet-csatornán érhető el, nuget.org.

Az ellenőrző attribútumok ExtendedKey paraméterei is el lettek távolítva. Ezeket a paramétereket a Dotfuscator Community 5 figyelmen kívül hagyta, de ha a forráskód ettől függetlenül használta őket, távolítsa el ezeket a használatokat a projekt fordításához.

Instrumentációs attribútumok

Az instrumentációs attribútumokat használták a PreEmptive Analytics funkció konfigurálására a Dotfuscator 5-ben. A PreEmptive Analytics azonban el lett távolítva a Dotfuscator 6-ban; lásd a PreEmptive Analytics eltávolított funkció alszakaszát. Ennek eredményeképpen a műszerezési attribútumok is el lettek távolítva.

Ha megpróbál létrehozni egy Visual Studio-projektet, amely instrumentációs attribútumokat használt, ugyanazokat a hibákat és figyelmeztetéseket kaphatja, mint a Attribútumok ellenőrzéseesetében, bár az attribútumnevek eltérnek (például FeatureAttribute a TamperCheckAttributehelyett).

Ha a Dotfuscatort olyan már elkészített szerelvényeken próbálja futtatni, amelyek a rendszerállapot-attribútumok használatát tartalmazzák, az alábbi példákhoz hasonló hibákat kap:

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

A problémák megoldásához távolítsa el a rendszerállapot-attribútumok összes használatát a forráskódból. El kell távolítania az attribútumokat definiáló kódtárra mutató szerelvényhivatkozásokat is, PreEmptive.Attributes.dll. (Ha a kódtárban definiált Ellenőrző attribútumokat is használta, azok át lettek helyezve; lásd a fenti Ellenőrző attribútumok rész.)

Eltávolított funkciók

A Dotfuscator Community 6 olyan változásokat vezet be, amelyek nem kompatibilisek a Dotfuscator Community 5-tel. Ha frissített a Dotfuscator Community 5-ről, ez a szakasz azt ismerteti, hogyan kezelhetők azok a módosítások, amelyek buildmódosításokat igényelhetnek, vagy amelyek hatással lehetnek a Dotfuscator kimenetére.

A módosítások teljes listája elérhető a változásnaplóban.

PreEmptive Analytics

A Dotfuscator 6 nem támogatja a PreEmptive Analytics szolgáltatást, beleértve a telemetria ellenőrzését is. A Ellenőrzések (beleértve Alkalmazásértesítési és Ellenőrző műveletek) továbbra is támogatottak.

A Dotfuscator 6 használatához frissítse a konfigurációs fájlt a PreEmptive Analytics beállításainak eltávolításához.

Ha kódon belüli attribútumokat használt a PreEmptive Analytics konfigurálásához, távolítsa el őket a forráskódból és építse újra a bemeneti szerelvényeket, mielőtt a Dotfuscator 6 megvédené ezeket a szerelvényeket.

Ha a Check Telemetria használatával jelentette, hogy egy ellenőrzés érvénytelen állapotot észlel (például eltérítés észlelésekor), lecserélheti egy egyéni alkalmazásértesítést, amely az incidenst Azure Application Insights vagy egy másik, ön által választott szolgáltatásnak jelenti.

Nem támogatott alkalmazástípusok

A Dotfuscator 6 már nem támogatja a következő alkalmazástípusokat:

  • Windows Phone-telefon
  • WinRT (Windows 8-alkalmazások)
  • Silverlight
  • Unity (játékmotor)
  • Univerzális Windows-platform (UWP)

Más típusú UWP-alkalmazások védelméhez frissítsen a Dotfuscator Professional, és kövesse az Az alkalmazás védelme utasításokat.

Nem támogatott bemenetek

A Dotfuscator Community már nem támogatja az Univerzális Windows Platform (UWP) .appx csomagokat bemenetként. Az UWP-alkalmazások védelme érdekében frissítsen a Dotfuscator Professional, és kövesse az Az alkalmazás védelme utasításait.

Ezenkívül .xap csomagok már nem használhatók bemenetként, mert a Silverlight már nem támogatott.

Explicit metódus felülbírálásának bevezetése

Az explicit metódus-felülbírálások bevezetésére szolgáló átnevezési lehetőséget eltávolították a Dotfuscatorból. A Dotfuscator 6 használatához távolítsa el ezt a beállítást úgy, hogy frissíti a konfigurációs fájlt.

Teljes dokumentáció

Részletes használati utasításokért tekintse meg a Dotfuscator közösségi felhasználói útmutatójának teljes preemptive.com, beleértve a Dotfuscator közösségi felhasználói felülethasználatának megkezdését.