Hägustage oma Silverlighti rakendust Dotfuscatoriga

Lehekülg uuendatud :
Lehe loomise kuupäev :

Teave Dotfuscatori kohta

Dotfuscator on hägustaja, mis muudab lähtekoodi raskesti loetavaks, kui .NET Frameworkiga kirjutatud rakendused on lahti võetud. Dotfuscator on saadaval nii tasuta kui ka tasulistes jaemüügiversioonides, mis on kaasas Visual Studioga.

Tasuta versioon on saadaval ainult paljude piiratud funktsioonidega ja eeldusega, et Visual Studio töötab, kuid igaüks, kellel on installitud Visual Studio, saab seda kasutada. Tasulisel versioonil on palju võimsaid hägustamisfunktsioone, mis pole tasuta versioonis saadaval, kuid võib olla tüütu, et seda pakutakse hinnaga, mida üldsusel on raske endale lubada.

Dotfuscatoril võivad sõltuvalt versioonist olla erinevad funktsioonid, hinnakujundus ja väljaanded, seega vaadake üksikasju järgmiselt veebisaidilt.

Dotfuscator

Sõelutud kood

Nagu eespool mainitud, saavad .NET Frameworkiga loodud rakendused algset lähtekoodi kergesti lahti võtta, kuid tegelikult juhtub see, et montaažifaili lahtivõtmisel, nagu joonisel näidatud, saab enamikku algsest lähtekoodist, nagu nimeruumid, klassinimed ja meetodi nimed, reprodutseerida.

解析されたコード

Hägustamise protseduur

Alustuseks looge Silverlighti rakendus nagu tavaliselt ja tehke väljalaske järk. Siin loome rakenduse, mis asetab ainult kaks nuppu.

Release ビルド

Tippige selle kausta kausta Bin\Release, kus projekt asub, . xap" on pakettfail, mis võtab kokku Silverlighti rakendustes kasutatavad programmid ja failid.

XAP ファイル

Tegelikult on see fail tihendatud ja kompileeritud ZIP-failina, nii et laiendus on ". tõmblukk".

拡張子を .zip に変更

See on muudetud ZIP-failiks.

ZIP ファイル

Faili avamisel sisaldab see manifestifaili ja DLL-i. See DLL on rakendusena töötava programmi kompileeritud versioon.

Muide, DLL-fail paigutatakse ka vabastamise kausta, kui see on ehitatud, nii et seekord hägustame selle faili.

ZIP ファイルの中身

Valige menüüst Visual Studio suvand Tööriistad ja seejärel valige Ennetav dotfuscator ja analüüs.

Esmakordsel käivitamisel kuvatakse dialoog "Litsentsileping", seega lugege sisu hoolikalt läbi, kontrollige "Jah, ma nõustun litsentsilepinguga." ja klõpsake nuppu "OK".

PreEmptive Dotfuscator And Analytics を選択

PreEmptive Dotfuscator And Analytics CE algab.

PreEmptive Dotfuscator And Analytics CE

Valige vasakul asuvast puust "Sisendid" ja klõpsake nuppu "Lisa sisend".

入力の追加

Valige ehitamise ajal loodud DLL-fail.

ビルドで生成した DLL ファイルを選択

Valige lisatud DLL-fail ja tühjendage ruut Teegirežiim > XAML-i teisendamine.

Kui kontrollitakse "Raamatukogu režiimi", ei hägusta avalikult määratletud klasse ja meetodeid.

Kui kontrollitakse "XAML-i teisendamist", hägustatakse XAML-is määratletud klassid, kuid sõltuvalt sellest, kuidas te selle loote, põhjustab see käivitusvea, nii et kui see ilmneb, tühjendage see märkeruut.

「ライブラリ モード」「XAML の変換」のチェックを外す

Põhimõtteliselt on kõik klassid, meetodid, omadused ja muutujate nimed hägustunud, kuid kui te ei soovi serialiseerimise tõttu konkreetset nimeruumi või klassi hägustada, valige vasakul asuvast puust "Nimeta ümber", valige vahekaart "Välista" ja kontrollige sihtmärgi nimeruumi või klassi.

難読化の除外

Veenduge, et jaotises Sisseehitatud reeglid oleks märgitud Silverlighti ja WPF-i kasutajakontrollide väljad. Selle kontrollimine muudab UserControlsi välja häguseks ja töötab edukalt. Saate selle tühjendada, kui tundub, et see töötab õigesti ka pärast hägustumist.

Silverlight および WPF UserControls のフィールド

Kui olete lõpetanud, klõpsake tööriistaribal nuppu "Ehita projekt".

プロジェクトのビルド

Kui projektis on muudatusi, kuvatakse projekti salvestamise kinnitusdialoog, seega klõpsake salvestamiseks nuppu "Jah".

プロジェクト保存確認ダイアログ

Projekti nimetatakse ". xml" fail. Hägustunud failid salvestatakse samasse asukohta.

プロジェクト保存

Oodake, kuni ehitamine algab. Pange tähele, et mida suurem on programm, seda kauem kulub ehitamiseks. Kui see näeb välja nagu joonis, on ehitamine lõppenud.

Sõnumiväli näitab ehitamise edenemist ja lühikest tulemust, näiteks seda, kui hägustunud see oli.

ビルド完了

Kui valite vasakult puust suvandi Tulemused, näete üksikasju selle kohta, kuidas klasside ja meetodite nimed on muutunud.

Klasside ja meetodite nimede all on Dotfuscatori ikoon ja sellised nimed nagu "a" ja "b", mis on hägustunud nimi. Muutes klassi nime või meetodi nime sel viisil mõttetuks nimeks, isegi kui see on lahti võetud, võib see muuta lähtekoodi sisu raskesti loetavaks.

難読化結果

Hägustunud fail luuakse kaustas nimega "Dotfuscated" Salvesta projekti salvestatud .xml faili kaustas. Lisaks hägustunud failile on loodud fail "Map.xml", kuid see on hägustamise tulemus ja seda ei kasutata.

難読化したファイル

Kui võtate hägustunud faili lahti, näete, et mõned klasside ja meetodite nimed on muudetud "a" või "b".

Seekord oli vaikimisi loodud projekt peaaegu nagu see oli, nii et ma arvan, et on olemas pilt, et see ei ole nii hägustunud, kuid ma arvan, et hägustamise mõju muutub selgemaks, sest klasside arv jne suureneb projekti kasvades.

Kõrvalmärkusena, . NET Frameworki teegid ja neid ei nimetata ümber, kuna need on näiteks Windowsis juba installitud sõlmed.

難読化したコードの解析

Silverlight ei kasuta DLL-e olemasoleval kujul, seega on need pakitud XAP-failidena. Nagu alguses mainitud, on XAP-fail lihtsalt ZIP-faili laienduse muutmine, nii et see loob ZIP-faili, kogudes XAP-failis sisalduvad failid ja hägustunud DLL-id.

ZIP-faili loomist saab teha standardsete OS-i funktsioonide abil.

ファイルを ZIP 化

Luuakse ZIP-fail.

ZIP ファイル

Laiendus muudetakse ". xap" ja kui failinimi on erinev, muutke see algseks paketi failinimeks.

Asetage XAP-fail levituskohta.

XAP ファイルに変更

Palun kontrollige toimingut ja vaadake, kas see töötab korralikult.

Kui see ei käivitu, kontrollige, kuni see töötab normaalselt, vähendades hägustunud koodi. Pange tähele, et Silverlight takerdub sageli XAML-iga seotud küsimustesse.

動作確認

Kuigi juhiseid pole siin loetletud, kui soovite programmi allkirjastada, ehitage see viivitusega allkirjastatud olekusse, hägustage assamblee ja allkirjastage seejärel uuesti. Isegi kui hägustate seda allkirjastamise ajal, ei sobi ehitamise ajal lisatud allkirjakood ja pärast hägustamist olev allkirjakood, nii et te ei saa seda käivitada.

Selles artiklis olen loetlenud tasuta versiooni sammud, kuid kui kasutate tasulist versiooni, saate teha keerukamat hägustamist ja vältida lahtivõtmist. Kuid hägustumine võib põhjustada mitmesuguseid kahjulikke mõjusid, nii et kui hägustumine on tehtud, on vaja kaaluda, kas see töötab disaini algusest peale korralikult.