Aptumšojiet lietojumprogrammas, kas izveidotas, izmantojot Dotfuscator
Kopsavilkuma
Tā kā lietojumprogrammas, kuru pamatā ir .NET Framework, tiek veidotas tā sauktajā kopējā starpvalodā, tās var lasīt formā, kas ir tuvu sākotnējam pirmkodam, izmantojot demontāžas rīkus un tamlīdzīgi. Šajā sadaļā ir aprakstīts, kā aizsegt Dotfuscator, obfuscator, kas nāk kopā ar Visual Studio, lai aizsegtu klašu un metožu nosaukumus formātā, kas nav viegli lasāms.
Mēs par to runājam šeit, izmantojot Visual Studio 2010, taču jūs varat izmantot Dotfuscator arī 2005. un 2008. gadā.
Darbības vide
Atbalstītās Visual Studio versijas
- 2005
- 2008
- 2010
Pārbaudiet Visual Studio versiju
- 2005
- 2008
- 2010
viela
Par Dotfuscator
Dotfuscator ir aizklāšanas rīks, kas apgrūtina pirmkoda nolasīšanu, ja to izjauc lietojumprogrammās, kas rakstītas ar .NET Framework. Dotfuscator nāk ar Visual Studio bez maksas un par maksu.
Bezmaksas versija nav pieejama, ja vien daudzas no tās funkcijām nav ierobežotas vai nav startēts Visual Studio, taču ikviens to var izmantot, ja vien ir instalēta Visual Studio. Maksas versijai ir daudz spēcīgu aizklāšanas funkciju, kas nav atrodamas bezmaksas versijā, taču tā tiek piedāvāta par cenu, kuru plašai sabiedrībai ir grūti atļauties.
Dotfuscator ir dažādas funkcijas, cenas un izdevumi atkarībā no versijas, tāpēc, lūdzu, skatiet šo sākumlapu, lai iegūtu sīkāku informāciju.
Apmulsināšanas procedūra
Es jau iepriekš minēju, ka lietojumprogrammas, kas izveidotas ar .NET Framework, var izjaukt un viegli izlasīt sākotnējo pirmkodu, taču faktiskā situācija ir tāda, ka, izjaucot exe failu, kā parādīts attēlā labajā pusē, jūs varat gandrīz reproducēt sākotnējo pirmkodu, piemēram, nosaukumvietu, klases nosaukumu, metodes nosaukumu utt.
Aprakstītas darbības, kas jāveic, lai padarītu šos vārdus mulsinošus un neskaidrus.
Lietojumprogrammas izveide Visual Studio un exe faila izveide ir tieši tāda pati kā parastais veids, kā to izveidot.
Kad esat izveidojis un izveidojis exe failu, Visual Studio izvēlnē atlasiet Rīki un pēc tam atlasiet Dotfuscator Software Services.
Kad sākat pirmo reizi, dialoglodziņš "Licences līgums" tiek parādīts, kā parādīts attēlā labajā pusē, tāpēc uzmanīgi izlasiet saturu, pārbaudiet "Jā, es piekrītu licences līgumam".
Tiek startēti Dotfuscator programmatūras pakalpojumi.
Exe (vai dll failam), kas ir apslēpts, nav jābūt no pašlaik atvērtā projekta.
Kreisajā pusē esošajā kokā atlasiet Ievades mezgli un labajā pusē noklikšķiniet uz Ievades mezgli, lai noklikšķinātu uz pogas ... .
Atlasiet exe failu, kuru vēlaties aizsegt.
Atlasītais exe fails tiek pievienots sarakstam. Ja vēlaties aizsegt vairākus failus, noklikšķiniet uz pogas "..." pēc otrās rindas, lai tos pievienotu.
Kad esat atlasījis exe, kuru vēlaties aizsegt, rīkjoslā noklikšķiniet uz pogas Veidot projektu.
Ja projektā ir kādas izmaiņas, tiek parādīts projekta saglabāšanas apstiprinājuma dialoglodziņš, tāpēc noklikšķiniet uz "Jā", lai saglabātu.
Projekta nosaukums ir ". xml" fails. Tajā pašā vietā tiks saglabāts arī aizsegtais exe fails, tāpēc saglabājiet .xml failu jebkurā mapē.
Būvniecība sāksies un gaidīs, līdz tā būs pabeigta. Ņemiet vērā, ka jo lielāka ir programma, jo ilgāks laiks nepieciešams, lai to izveidotu. Ja tas izskatās kā figūra labajā pusē, būvniecība ir pabeigta.
Ziņojuma laukā tiek parādīti vienkārši rezultāti, piemēram, būvējuma norise un tas, cik tas bija neskaidrs.
Ja kreisajā pusē esošajā kokā atlasāt "Rezultāts", varat redzēt detalizētu informāciju par to, kā ir mainījušies mācību priekšmetu un metožu nosaukumi.
Zem klases un metožu nosaukumiem ir Dotfuscator ikona un nosaukums, piemēram, "a" vai "b", kas ir neskaidrs nosaukums. Mainot klases nosaukumu vai metodes nosaukumu uz šādu bezjēdzīgu vārdu, jūs varat apgrūtināt avota koda satura nolasīšanu pat tad, ja tas ir izjaukts.
Neskaidri exe faili tiek izveidoti mapē .xml faili, kas saglabāti save Project, ko sauc par "Dotfuscated", un tiek izveidoti tajā. Papildus exe failam ir izveidots fails "Karte .xml", taču tas ir aizklāšanas rezultāts, un to nevajadzētu izmantot.
Neskaidrus exes var palaist un izmantot, kā tas ir. Tomēr ir gadījumi, kad to nevar sākt nezināmas kļūdas dēļ, kā parādīts attēlā pa labi.
Šoreiz es uzrakstīju lietojumprogrammu WPF, bet, tā kā pirmā parādītā loga XAML fails ir norādīts kā virkne, pārdēvēšana aizsegšanas dēļ izraisīs atsauces zudumu, kā rezultātā rodas kļūda.
Windows veidlapas lietojumprogrammas tieši atsaucas uz no klases, lai tās varētu darboties bez kļūdām pat tad, ja tās ir apslēptas. Tomēr, ja pēc nosaukuma norādāt klases nosaukumu, enum veidu utt., Jums jābūt uzmanīgiem, jo pastāv iespēja, ka notiks tāda pati kļūda.
Ja nevēlaties aizsegt kādu klasi vai kaut ko citu, atlasiet Pārdēvēt no koka Dotfuscator kreisajā pusē un atlasiet Izslēgt no vidējās cilnes.
Katra nosaukumvieta, klases nosaukums utt., Tiks parādīts sarakstā labajā pusē, tāpēc pārbaudiet vienumus, kurus nevēlaties aizsegt.
Šeit es nevēlos mainīt vispirms parādāmā loga klases nosaukumu, tāpēc es pārbaudu "MainWindow".
Veicot būvēšanu, jūs varat redzēt, ka MainWindows zem klases nosaukuma nav mainīts nosaukums. (Lietotņu klase ir pārveidota par "a")
Palaižot neskaidro exe failu, var redzēt, ka logs tiek parādīts pareizi.
Izjaucot neskaidro exe failu, varat redzēt, ka klases nosaukums un metodes nosaukums ir pareizi mainīts uz "a" vai "b".
Bet kā malā. NET Framework bibliotēkas, piemēram, klašu nosaukumi, netiek pārdēvētas, jo tās ir mezgli, kas jau ir instalēti operētājsistēmā Windows un citur.
Šoreiz es aizēnoju izveidoto noklusējuma projektu tādu, kāds tas ir, tāpēc es domāju, ka ir priekšstats, ka tas nav tik apslēpts, bet es domāju, ka apmulsuma efekts kļūst skaidrs, jo, projektam augot, palielinās klašu skaits utt.
Turklāt, lai gan šoreiz mēs esam iekļāvuši procedūru bezmaksas versijā, apmaksātā versija ļauj veikt sarežģītāku aizklāšanu, kā arī novērš demontāžu. Tomēr aizklāšanai ir dažādas nelabvēlīgas sekas un potenciāls rasties, tāpēc, veicot aizklāšanu, tas ir jādara, apsverot, vai tas darbosies pareizi no dizaina sākuma.