Obfuscate aplikacije, ustvarjene z Uporabo Dotfuscator
Povzetek
Ker so aplikacije, ki temeljijo na .NET Frameworku, ustvarjene v skupnem vmesnem jeziku, jih je mogoče prebrati v obrazcu blizu izvorne kode z uporabo orodij za razstavljanje in podobno. V tem razdelku je opisano, kako obfuscator Dotfuscator, obfuscator, ki prihaja z Visual Studio, za obfuscator razreda in imen metod v obliki, ki ni zlahka berljiva.
Govorimo o tem tukaj z uporabo Visual Studio 2010, vendar lahko uporabite Dotfuscator tudi v 2005 in 2008.
Operativno okolje
Podprte različice visual studia
- 2005
- 2008
- 2010
Preverite različico visual studia
- 2005
- 2008
- 2010
snov
O Dotfuscatorju
Dotfuscator je orodje za obfuscation, ki otežuje branje izvorne kode, ko se razčleni v aplikacijah, napisanih z .NET Framework. Dotfuscator nudi visual studio brezplačno in z doplačilom.
Brezplačna različica ni na voljo, razen če so številne njegove funkcije omejene ali se visual studio zagna, vendar jo lahko vsakdo uporablja, dokler ima nameščen Visual Studio. Plačana različica ima številne zmogljive obfuscation funkcije, ki jih ne najdemo v brezplačni različici, vendar se ponuja po ceni, ki si jo splošna javnost težko privošči.
Dotfuscator ima različne funkcije, cene in izdaje, odvisno od različice, zato glejte naslednjo domačo stran za podrobnosti.
Postopek obfusacije
Prej sem omenil, da lahko aplikacije, ustvarjene z .NET Framework, razstavijo in enostavno preberejo izvorno izvorno kodo, vendar je dejanska situacija v tem, da če razstavite exe datoteko, kot je prikazano na sliki na desni, lahko skoraj reproducirate izvirno izvorno kodo, kot so imenski prostor, ime razreda, ime metode, itd.
Opisuje korake za zmedenost in zmede teh imen.
Ustvarjanje aplikacije v programu Visual Studio in ustvarjanje exe datoteke je popolnoma enako običajnem načinu ustvarjanja.
Ko ustvarite in ustvarite datoteko exe, v meniju Visual Studio izberite Orodja in nato Dotfuscator Software Services.
Ko prvič začnete, je pogovorno okno »Licenčna pogodba« prikazano, kot je prikazano na sliki na desni, zato previdno preberite vsebino, preverite »Da, strinjam se z licenčno pogodbo.« in kliknite gumb »OK«.
Zažene se programske storitve Dotfuscator.
Iz trenutno odprtega projekta ni treba uporabiti datoteke exe (ali datoteke dll), ki jih je treba zatisniti.
Izberite Vnosni sklopi na drevesu na levi in kliknite vnosne sklope na desni strani, da kliknete gumb ... .
Izberite datoteko exe, ki jo želite.
Izbrana exe datoteka je dodana na seznam. Če želite zabrisati več datotek, kliknite gumb "..." po drugi vrstici, da jih dodate.
Ko izberete exe, ki ga želite okrniti, kliknite gumb Zgradi projekt v orodni vrstici.
Če pride do sprememb v projektu, se prikaže pogovorno okno za potrditev shranjevanja projekta, zato kliknite »Da« za shranjevanje.
Projekt se imenuje ". xml" datoteko. Zamanjena datoteka exe bo shranjena tudi na istem mestu, zato shranite .xml datoteko v katero koli mapo.
Gradež se bo začel in počakal, da se konča. Upoštevajte, da večji kot je program, dlje traja za gradnjo. Če je videti kot figura na desni, je gradba končana.
V polju sporočila so prikazani preprosti rezultati, na primer napredek gradnje in kako zamašen je bil.
Če izberete »Rezultat« na drevesu na levi strani, lahko vidite podrobnosti o tem, kako so se spremenila imena razredov in metod.
Pod imeni razreda in metod je ikona Dotfuscatorja in ime, kot je "a" ali "b", ki je zamašeno ime. Če spremenite ime razreda ali metode v tako nesmiselno ime, lahko vsebino izvorne kode otežite za branje, tudi če je razčlenjena.
Obfuscated exe datoteke so ustvarjene v mapi .xml datotek, shranjenih v Save Project, imenovano "Dotfuscated", in so ustvarjene v tem. Poleg exe datoteke je bila ustvarjena .xml Map .xml, vendar je to posledica zamašitve in je ne smete uporabljati.
exe je mogoče zagnati in uporabiti, kot je. Obstajajo pa primeri, ko je ni mogoče zagnati zaradi neznane napake, kot je prikazano na sliki na desni.
Tokrat sem napisal aplikacijo v WPF, vendar ker je XAML datoteka prvega okna, ki bo prikazana, določena kot niz, bo preimenovanje zaradi obfuscation povzročilo, da se sklic izgubi, kar ima za posledico napako.
Aplikacije obrazca windows se sklicuje na razred Od neposredno, tako da lahko tečejo brez napak, tudi če so zamaknjene. Če pa določite ime razreda, vrsto enum itd. po imenu, morate biti previdni, ker obstaja možnost, da bo prišlo do iste napake.
Če ne želite omamljati razreda ali česa podobnega, izberite Preimenuj z drevesa na levi strani dotfuscatorja in izberite Izključi iz srednjega zavihka.
Vsak imenski prostor, ime razreda itd. bo prikazan na seznamu na desni strani, zato preverite elemente, ki jih ne želite zamakniti.
Tukaj ne želim najprej spremeniti imena razreda okna, zato preverim "MainWindow".
Ko naredite gradnjo, lahko vidite, da v MainWindowsu ni spremenjenega imena pod imenom razreda. (Razred aplikacij je bil pretvoren v "a")
Ko zaženete zajeto datoteko exe, lahko vidite, da je okno pravilno prikazano.
Če razčlenite zajeto datoteko exe, lahko vidite, da sta ime razreda in ime metode pravilno spremenjena v »a« ali »b«.
Ampak kot stran. Net Framework knjižnice, kot so imena razredov, niso predmet preimenvanja, ker so to sklopi, ki so že nameščeni v sistemu Windows in drugod.
Tokrat sem zamaknili privzeti projekt, ustvarjen tak kot je, zato mislim, da obstaja podoba, da ni tako zamahnjena, vendar mislim, da je učinek obfuscation postane jasen, ker se število razredov itd. povečuje, ko projekt raste.
Prav tako, čeprav smo tokrat vključili postopek v brezplačno različico, plačana različica omogoča zapletenejšo obfusacijo in preprečuje tudi samo razstavljanje. Vendar pa ima obfuscation različne škodljive učinke in potencial, da se pojavijo, tako da je pri izvajanju zajebancije, je treba narediti, medtem ko preuči, ali bo delovala pravilno od začetka oblikovanja.