Obfuscate applikationer oprettet ved hjælp af Dotfuscator

Side opdateret :
Dato for oprettelse af side :

resumé

Fordi programmer baseret på .NET Framework oprettes på det, der kaldes et fælles mellemliggende sprog, kan de læses i en form tæt på den oprindelige kildekode ved hjælp af demonteringsværktøjer og lignende. Dette afsnit beskriver, hvordan du tilslører Dotfuscator, den tilslører, der følger med Visual Studio, for at tilsløre klasse- og metodenavne til et format, der ikke er let læseligt.

Vi taler om det her ved hjælp af Visual Studio 2010, men du kan også bruge Dotfuscator i 2005 og 2008.

Dotfuscator を使用して作成したアプリケーションを難読化する

Driftsmiljø

Understøttede Visual Studio-versioner

  • 2005
  • 2008
  • 2010

Tjek Visual Studio-versionen

  • 2005
  • 2008
  • 2010

stof

Om Dotfuscator

Dotfuscator er et tilsløringsværktøj, der gør kildekoden vanskelig at læse, når den adskilles i programmer, der er skrevet med .NET Framework. Dotfuscator leveres med Visual Studio gratis og mod et gebyr.

Den gratis version er ikke tilgængelig, medmindre mange af dens funktioner er begrænsede, eller Visual Studio startes, men alle kan bruge den, så længe de har Visual Studio installeret. Den betalte version har mange kraftfulde tilsløringsfunktioner, der ikke findes i den gratis version, men den tilbydes til en pris, der er vanskelig for offentligheden at få råd til.

Dotfuscator har forskellige funktioner, priser og udgaver afhængigt af versionen, så se venligst følgende hjemmeside for detaljer.

Fremgangsmåde for tilsløring

難読化していないアプリケーションの逆アセンブル結果

Jeg nævnte tidligere, at applikationer, der er oprettet med .NET Framework, kan adskille og let læse den originale kildekode, men den faktiske situation er, at hvis du adskiller exe-filen som vist i figuren til højre, kan du næsten gengive den originale kildekode såsom navneområde, klassenavn, metodenavn osv.

Beskriver trinnene til at gøre disse navne forvirrende og tilslørede.

Dotfuscator Software Services

Oprettelse af et program i Visual Studio og oprettelse af en exe-fil er nøjagtigt det samme som den normale måde at oprette den på.

Når du har oprettet og oprettet exe-filen, skal du vælge Værktøjer i menuen Visual Studio og derefter vælge Dotfuscator Software Services.

使用許諾契約書

Når du starter for første gang, vises dialogboksen "Licensaftale" som vist i figuren til højre, så læs indholdet omhyggeligt, marker "Ja, jeg accepterer licensaftalen." og klik på knappen "OK".

Dotfuscator Software Services

Dotfuscator Software Services starter.

入力アセンブリの追加

Den exe (eller dll-fil), der skal tilsløres, behøver ikke at være fra det aktuelt åbne projekt.

Vælg Inputsamlinger fra træet til venstre, og klik på Inputsamlinger til højre for at klikke på knappen ....

難読化する exe ファイル

Vælg den exe-fil, du vil tilsløre.

追加したアセンブリ

Den valgte exe-fil føjes til listen. Hvis du vil sløre flere filer, skal du klikke på knappen "..." efter den anden linje for at tilføje dem.

プロジェクトのビルド

Når du har valgt den exe, du vil sløre, skal du klikke på knappen Byg projekt på værktøjslinjen.

プロジェクトの保存

Hvis der er ændringer i projektet, vises dialogboksen til bekræftelse af projektbesparelse, så klik på "Ja" for at gemme.

プロジェクトの保存場所指定

Projektet hedder ". xml" fil. Den tilslørede exe-fil gemmes også på samme sted, så gem .xml-filen i en hvilken som helst mappe.

ビルド

Bygningen starter og venter, indtil den er færdig. Bemærk, at jo større programmet er, jo længere tid tager det at bygge. Hvis det ligner figuren til højre, er bygningen afsluttet.

Meddelelsesfeltet viser enkle resultater, f.eks. status for buildet, og hvor tilsløret det var.

難読化結果

Hvis du vælger "Resultat" fra træet til venstre, kan du se detaljer om, hvordan klasse- og metodenavnene er ændret.

Under klasse- og metodenavnene er der et Dotfuscator-ikon og et navn som "a" eller "b", som er det tilslørede navn. Ved at ændre klassenavnet eller metodenavnet til et meningsløst navn som dette kan du gøre indholdet af kildekoden vanskeligt at læse, selvom det er adskilt.

難読化したアセンブリ

Tilslørede exe-filer oprettes i mappen med .xml filer, der er gemt i Save Project, kaldet "Dotfuscated", og oprettes i den. Ud over exe-filen er der oprettet en "Map .xml" -fil, men dette er resultatet af tilsløring og bør ikke bruges.

難読化したアセンブリの実行時エラー

Tilslørede ekser kan køres og bruges som de er. Der er dog tilfælde, hvor det ikke kan startes på grund af en ukendt fejl som vist i figuren til højre.

Denne gang skrev jeg et program i WPF, men fordi XML-filen i det første vindue, der skal vises, er angivet som en streng, vil omdøbningen på grund af tilsløring medføre, at referencen går tabt, hvilket resulterer i en fejl.

Windows Form-applikationer refererer direkte til fra-klassen, så de kan køre uden fejl, selvom de er tilsløret. Men hvis du angiver et klassenavn, en enumtype osv. Ved navn, skal du være forsigtig, fordi der er en mulighed for, at den samme fejl vil opstå.

難読化の除外

Hvis du ikke vil sløre et eller noget, skal du vælge Omdøb fra træet i venstre side af Dotfuscator og vælge Ekskluder fra den midterste fane.

Hvert navneområde, klassenavn osv. vises på listen til højre, så kontroller de elementer, du ikke vil tilsløre.

Her vil jeg ikke ændre klassenavnet på det vindue, der skal vises først, så jeg markerer "MainWindow".

難読化から除外されたクラス

Når du laver buildet, kan du se, at der ikke er noget ændret navn under klassenavnet i MainWindows. (App-klassen er konverteret til "a")

難読化したアセンブリの実行

Når du kører den tilslørede exe-fil, kan du se, at vinduet vises korrekt.

難読化後の逆アセンブル

Hvis du adskiller den tilslørede exe-fil, kan du se, at klassenavnet og metodenavnet er blevet ændret til "a" eller "b" korrekt.

Men som en sidebemærkning. NET Framework-biblioteker, f.eks. klassenavne, kan ikke omdøbes, fordi de er samlinger, der allerede er installeret på Windows og andre steder.

Denne gang tilslørede jeg det standardprojekt, der er oprettet, som det er, så jeg tror, at der er et billede af, at det ikke er så tilsløret, men jeg tror, at effekten af tilsløring bliver tydelig, fordi antallet af klasser osv. stiger, efterhånden som projektet vokser.

Selvom vi har inkluderet proceduren i den gratis version denne gang, giver den betalte version også mulighed for mere kompleks tilsløring og forhindrer også demontering i sig selv. Tilsløring har imidlertid forskellige negative virkninger og potentiale til at forekomme, så når tilsløring udføres, er det nødvendigt at gøre det, mens man overvejer, om det vil fungere korrekt fra begyndelsen af designet.