Obfuscate applikationer oprettet ved hjælp af Dotfuscator
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.
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.
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 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 ....
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.