Zahmlievajte aplikácie vytvorené pomocou Dotfuscator

Stránka aktualizovaná :
Dátum vytvorenia strany :

súhrn

Pretože aplikácie založené na rámci .NET sú vytvorené v takzvanom bežnom medzijazdovom jazyku, môžu sa čítať vo forme blízkej pôvodnému zdrojovému kódu pomocou nástrojov na demontáž a podobne. Táto časť popisuje, ako zahmliť Dotfuscator, zahmlievač, ktorý je dodávaný s Visual Studio, zahmliť názvy tried a metód do formátu, ktorý nie je ľahko čitateľný.

Hovoríme o tom tu pomocou Visual Studio 2010, ale Dotfuscator môžete použiť aj v rokoch 2005 a 2008.

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

Prevádzkové prostredie

Podporované verzie visual studio

  • 2005
  • 2008
  • 2010

Kontrola verzie visual studio

  • 2005
  • 2008
  • 2010

látka

O ubytovaní Dotfuscator

Dotfuscator je zahmlievací nástroj, ktorý sťažuje čítanie zdrojového kódu pri demontáži v aplikáciách napísaných pomocou .NET Framework. Dotfuscator je dodávaný s Visual Studio zadarmo a za poplatok.

Bezplatná verzia nie je k dispozícii, pokiaľ nie sú mnohé z jej funkcií obmedzené alebo vizuálne štúdio nie je spustené, ale ktokoľvek ju môže používať, pokiaľ má nainštalované Visual Studio. Platená verzia má mnoho výkonných zahmlievacích funkcií, ktoré sa nenachádzajú v bezplatnej verzii, ale je ponúkaná za cenu, ktorú si široká verejnosť ťažko môže dovoliť.

Dotfuscator má rôzne funkcie, ceny a vydania v závislosti od verzie, preto nájdete podrobnosti na nasledujúcej domovskej stránke.

Postup zahmlievania

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

Už som spomenul, že aplikácie vytvorené pomocou .NET Framework môžu rozobrať a ľahko prečítať pôvodný zdrojový kód, ale skutočná situácia je taká, že ak rozoberiete súbor exe, ako je znázornené na obrázku vpravo, môžete takmer reprodukovať pôvodný zdrojový kód, ako je menný priestor, názov triedy, názov metódy atď.

Popisuje kroky, aby sa tieto názvy stali mätúcimi a zahmlenými.

Dotfuscator Software Services

Vytvorenie aplikácie vo Visual Studio a vytvorenie exe súboru je presne to isté ako normálny spôsob jej vytvorenia.

Po vytvorení a vytvorení exe súboru vyberte položku Nástroje z ponuky Visual Studio a potom vyberte položku Dotfuscator Software Services.

使用許諾契約書

Keď prvýkrát spustíte, zobrazí sa dialógové okno "Licenčná zmluva", ako je znázornené na obrázku vpravo, preto si pozorne prečítajte obsah, skontrolujte "Áno, súhlasím s licenčnou zmluvou." a kliknite na tlačidlo "OK".

Dotfuscator Software Services

Začína sa dotfuscator software services.

入力アセンブリの追加

Exe (alebo súbor dll), ktorý sa má zahmliť, nemusí byť z aktuálne otvoreného projektu.

Vyberte položku Vstupné zostavy zo stromu vľavo a kliknutím na položku Vstupné zostavy vpravo kliknite na tlačidlo ...

難読化する exe ファイル

Vyberte súbor exe, ktorý chcete zahmliť.

追加したアセンブリ

Vybratý súbor exe sa pridá do zoznamu. Ak chcete zahmliť viacero súborov, kliknutím na tlačidlo "..." za druhým riadkom ich pridajte.

プロジェクトのビルド

Po výbere exe, ktorý chcete zahmliť, kliknite na tlačidlo Zostaviť projekt z panela s nástrojmi.

プロジェクトの保存

Ak sa v projekte vyskytnú nejaké zmeny, zobrazí sa dialógové okno s potvrdením uloženia projektu, takže kliknutím na tlačidlo "Áno" uložte.

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

Projekt sa nazýva ". xml" súbor. Zahmlievaný súbor exe sa tiež uloží na rovnakom mieste, takže uložte .xml súbor do ľubovoľného priečinka.

ビルド

Stavba sa začne a počká, kým bude dokončená. Všimnite si, že čím väčší program, tým dlhšie trvá vytvorenie. Ak to vyzerá ako obrázok vpravo, stavba je dokončená.

Pole správy zobrazuje jednoduché výsledky, ako napríklad priebeh zostavy a to, ako bolo zahmlievané.

難読化結果

Ak zo stromu na ľavej strane vyberiete možnosť Výsledok, môžete vidieť podrobnosti o tom, ako sa zmenili názvy tried a metód.

Pod názvami tried a metód sa nachádza ikona Dotfuscator a názov ako "a" alebo "b", čo je zahmlievaný názov. Zmenou názvu triedy alebo názvu metódy na nezmyselný názov, ako je tento, môžete sťažiť čítanie obsahu zdrojového kódu, aj keď je rozobratý.

難読化したアセンブリ

Zahmlievané exe súbory sa vytvárajú v priečinku .xml súborov uložených v Programe Uloženie, nazývaných "Dotfuscated", a vytvárajú sa v ňom. Okrem súboru exe bol vytvorený súbor "Map .xml", ktorý je však výsledkom zahmlievania a nemal by sa používať.

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

Zahmlievané exes môžu byť spustené a použité tak, ako sú. Existujú však prípady, keď ho nie je možné spustiť z dôvodu neznámej chyby, ako je znázornené na obrázku vpravo.

Tentokrát som napísal aplikáciu vo WPF, ale pretože súbor XAML prvého okna, ktoré sa má zobraziť, je zadaný ako reťazec, premenovanie v dôsledku zahmlievania spôsobí stratu odkazu, čo vedie k chybe.

Aplikácie formulára systému Windows odkazujú priamo na triedu Od, takže môžu bežať bez chýb, aj keď sú zahmlievané. Ak však podľa názvu zadáte názov triedy, typ enum atď., Musíte byť opatrní, pretože existuje možnosť, že sa vyskytne rovnaká chyba.

難読化の除外

Ak nechcete zahmliť triedu alebo niečo také, vyberte položku Premenovať zo stromu na ľavej strane dotfusktora a na strednej karte vyberte položku Vylúčiť.

Každý menný priestor, názov triedy atď. sa zobrazí v zozname vpravo, preto skontrolujte položky, ktoré nechcete zahmliť.

Tu nechcem meniť názov triedy okna, ktorý sa má zobraziť ako prvý, takže skontrolujem "MainWindow".

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

Keď robíte zostavu, môžete vidieť, že pod názvom triedy v MainWindows nie je zmenený názov. (Trieda aplikácie bola prevedená na "a")

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

Keď spustíte zahmlievaný súbor exe, môžete vidieť, že okno sa zobrazuje správne.

難読化後の逆アセンブル

Ak rozoberiete zahmlievaný súbor exe, môžete vidieť, že názov triedy a názov metódy boli správne zmenené na "a" alebo "b".

Ale ako bokom. Knižnice NET Framework, ako sú názvy tried, nepodliehajú premenovaniu, pretože ide o zostavy, ktoré sú už nainštalované v systéme Windows a inde.

Tentokrát som zahmlil predvolený projekt vytvorený tak, ako je, takže si myslím, že existuje obraz, že nie je tak zahmlievaný, ale myslím si, že účinok zahmlievania sa stáva jasným, pretože počet tried atď. sa zvyšuje s rastom projektu.

Aj keď sme postup tentokrát zahrnuli do bezplatnej verzie, platená verzia umožňuje zložitejšie zahmlievanie a tiež zabraňuje samotnej demontáži. Zahmlievanie má však rôzne nepriaznivé účinky a potenciál, takže pri zahmlievaní je potrebné ho urobiť pri zvažovaní, či bude správne fungovať od začiatku návrhu.