Aptumšojiet lietojumprogrammas, kas izveidotas, izmantojot Dotfuscator

Lapa atjaunota :
Lapas izveides datums :

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ā.

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

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.

Dotfuscator Software Services

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".

Dotfuscator Software Services

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 ... .

難読化する exe ファイル

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.