Dotfuscatori abil loodud rakenduste hägustumine
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.
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.
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 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 ...
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.