Dotfuscatori abil loodud rakenduste hägustumine

Lehekülg uuendatud :
Lehe loomise kuupäev :

Kokkuvõte

Kuna .NET raamistikul põhinevad rakendused luuakse nn ühises vahekeeles, saab neid lugeda algse lähtekoodi lähedal oleval kujul, kasutades demonteerimisvahendeid jms. Selles jaotises kirjeldatakse, kuidas hävitada Visual Studio'ga kaasas olev hägustaja Dotfuscator, et varjata klassi- ja meetodinimesid vormingusse, mis ei ole kergesti loetav.

Me räägime sellest siin, kasutades Visual Studio 2010, kuid dotfuscatorit saate kasutada ka 2005. ja 2008. aastal.

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

Tegevuskeskkond

Toetatud visual studio versioonid

  • 2005
  • 2008
  • 2010

Visual Studio versiooni kontrollimine

  • 2005
  • 2008
  • 2010

aine

Kasutajast Dotfuscator

Dotfuscator on hägustamisvahend, mis muudab lähtekoodi raskesti loetavaks, kui see on lahti võetud .NET frameworkiga kirjutatud rakendustes. Dotfuscator tuleb Visual Studioga tasuta ja tasu eest.

Tasuta versioon pole saadaval, välja arvatud juhul, kui paljud selle funktsioonid on piiratud või Visual Studio käivitatakse, kuid igaüks saab seda kasutada seni, kuni neil on installitud Visual Studio. Tasulisel versioonil on palju võimsaid hägustusfunktsioone, mida tasuta versioonis ei leidu, kuid seda pakutakse hinnaga, mida üldsusel on raske endale lubada.

Dotfuscatoril on sõltuvalt versioonist erinevad funktsioonid, hinnad ja väljaanded, seega vaadake üksikasju järgmisest avalehest.

Hägustamisprotseduur

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

Mainisin varem, et .NET Frameworkiga loodud rakendused võivad algse lähtekoodi lahti võtta ja kergesti lugeda, kuid tegelik olukord on see, et kui eemaldate exe-faili, nagu on näidatud paremal oleval joonisel, saate peaaegu reprodutseerida algse lähtekoodi, nagu nimeruum, klassi nimi, meetodi nimi jne.

Kirjeldab samme, kuidas muuta need nimed segaseks ja hägustumaks.

Dotfuscator Software Services

Rakenduse loomine Visual Studios ja exe-faili loomine on täpselt sama, mis tavaline viis selle loomiseks.

Pärast exe-faili koostamist ja loomist valige Visual Studio menüüst Tööriistad ja seejärel valige Dotfuscator Software Services.

使用許諾契約書

Kui alustate esimest korda, kuvatakse dialoog "Litsentsileping", nagu on näidatud paremal oleval joonisel, nii et lugege sisu hoolikalt, kontrollige "Jah, nõustun litsentsilepinguga" ja klõpsake nuppu "OK".

Dotfuscator Software Services

Dotfuscator Software Services algab.

入力アセンブリの追加

Hägustatav exe (või dll-fail) ei pea olema praegu avatud projektist.

Valige vasakul asuvast puust sisestuskomplektid ja klõpsake paremal asuvaid sisestuskomplekte, et klõpsata nuppu ...

難読化する exe ファイル

Valige exe fail, mida soovite hägustada.

追加したアセンブリ

Valitud exe-fail lisatakse loendisse. Kui soovite mitu faili hägustada, klõpsake nende lisamiseks teise rea järel nuppu "...".

プロジェクトのビルド

Kui olete valinud exe, mida soovite hägustada, klõpsake tööriistaribal nuppu Ehita projekt.

プロジェクトの保存

Kui projektis on muudatusi, kuvatakse projekti salvestamise kinnituse dialoog, nii et salvestamiseks klõpsake nuppu "Jah".

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

Projekti nimi on ". xml" fail. Hägustunud exe-fail salvestatakse ka samasse asukohta, nii et salvestage .xml fail mis tahes kausta.

ビルド

Ehitamine algab ja ootab, kuni see on valmis. Pange tähele, et mida suurem on programm, seda kauem kulub ehitamiseks. Kui see näeb välja nagu paremal olev joonis, on konstruktsioon valmis.

Sõnumiväljal kuvatakse lihtsad tulemused, näiteks ehitamise edenemine ja selle hägusus.

難読化結果

Kui valite vasakul asuvast puust "Tulemi", näete üksikasju selle kohta, kuidas klassi- ja meetodinimed on muutunud.

Klassi- ja meetodinimede all on Dotfuscator ikoon ja nimi nagu "a" või "b", mis on hägune nimi. Kui muudate klassi nime või meetodi nime selliseks mõttetuks nimeks, saate lähtekoodi sisu raskesti loetavaks muuta isegi siis, kui see on lahti võetud.

難読化したアセンブリ

Hägustatud exe-failid luuakse .xml faili kaustas, mis on salvestatud salvestamisprojektis nimega "Dotfuscated", ja need luuakse selles. Lisaks exe-failile on loodud fail "Kaart .xml", kuid see on hägustumise tulemus ja seda ei tohiks kasutada.

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

Hägustunud exes saab käivitada ja kasutada nii, nagu see on. Siiski on juhtumeid, kus seda ei saa alustada tundmatu vea tõttu, nagu on näidatud paremal oleval joonisel.

Seekord kirjutasin WPF-is rakenduse, kuid kuna kuvatava esimese akna XAML-fail on määratud stringina, põhjustab hägustumisest tingitud ümbernimetamine viite kadumise, mille tulemuseks on viga.

Windowsi vormi rakendused viitavad otse klassile Saatja, nii et need võivad tõrgeteta töötada isegi siis, kui need on hägustunud. Kui aga määrate nime järgi klassi nime, loetelu tüübi jne, peate olema ettevaatlik, sest on olemas võimalus, et sama viga tekib.

難読化の除外

Kui te ei soovi klassi või midagi hägustada, valige Dotfuschatori vasakus servas asuvast puust Ümbernimeta ümber ja valige vahekaardilt Välista.

Iga nimeruum, klassi nimi jne kuvatakse paremal olevas loendis, nii et kontrollige üksusi, mida te ei soovi hägustada.

Siin ei taha ma kõigepealt kuvatava akna klassi nime muuta, nii et ma kontrollin "MainWindow".

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

Kui teete ehitamise, näete, et MainWindowsi klassi nime all pole muudetud nime. (Rakenduseklass on teisendatud väärtuseks "a")

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

Hägustatud exe-faili käivitamisel näete, et aken kuvatakse õigesti.

難読化後の逆アセンブル

Kui lahti võtate hägustunud exe-faili, näete, et klassi nimi ja meetodi nimi on õigesti muudetud "a" või "b".

Aga kõrvaltvaatajana. NET Frameworki teeke (nt klassinimesid) ei nimetata ümber, kuna need on assemblerid, mis on juba Windowsi ja mujale installitud.

Seekord hägustasin vaikimisi loodud projekti sellisena, nagu see on, nii et ma arvan, et on olemas pilt, et see ei ole nii hägustunud, kuid ma arvan, et hägustumise mõju selgub, sest klasside arv jne suureneb projekti kasvades.

Samuti, kuigi oleme seekord lisanud protseduuri tasuta versiooni, võimaldab tasuline versioon keerukamat hägustamist ja takistab ka lahtivõtmist. Hägustumisel on siiski mitmesuguseid kahjulikke mõjusid ja potentsiaali, nii et hägustamisel on vaja seda teha, kaaludes, kas see töötab disaini algusest peale korralikult.