Užmaskuokite programas, sukurtas naudojant "Dotfuscator".
suvestinė
Kadangi programos, pagrįstos .NET Framework, yra sukurtos vadinamąja bendra tarpine kalba, jas galima perskaityti forma, artima pradiniam šaltinio kodui, naudojant išmontavimo įrankius ir pan. Šiame skyriuje aprašoma, kaip užmaskuoti "Dotfuscator", su "Visual Studio" pateikiamą maskuoklį, kad klasių ir metodų pavadinimai būtų užmaskuoti į formatą, kuris nėra lengvai skaitomas.
Apie tai kalbame čia naudodami "Visual Studio 2010", tačiau "Dotfuscator" galite naudoti ir 2005 bei 2008 m.
Darbinė aplinka
Palaikomos "Visual Studio" versijos
- 2005
- 2008
- 2010
Patikrinkite "Visual Studio" versiją
- 2005
- 2008
- 2010
medžiaga
Apie "Dotfuscator"
Dotfuscator yra užmaskavimo įrankis, dėl kurio šaltinio kodą sunku perskaityti, kai jis išardomas programose, parašytose naudojant .NET Framework. "Dotfuscator" su "Visual Studio" pateikiama nemokamai ir už tam tikrą mokestį.
Nemokama versija nepasiekiama, nebent daugelis jos funkcijų yra ribotos arba paleista "Visual Studio", tačiau bet kas gali ja naudotis, jei tik yra įdiegta "Visual Studio". Mokama versija turi daug galingų užmaskavimo funkcijų, kurių nėra nemokamoje versijoje, tačiau ji siūloma už kainą, kurią plačiajai visuomenei sunku sau leisti.
"Dotfuscator" turi skirtingas funkcijas, kainas ir leidimus, priklausomai nuo versijos, todėl išsamesnės informacijos ieškokite šiame pagrindiniame puslapyje.
Užmaskavimo procedūra
Anksčiau minėjau, kad programos, sukurtos naudojant .NET Framework, gali išardyti ir lengvai perskaityti pradinį šaltinio kodą, tačiau tikroji situacija yra ta, kad jei išardysite exe failą, kaip parodyta paveikslėlyje dešinėje, galite beveik atkurti pradinį šaltinio kodą, pvz., Vardų sritį, klasės pavadinimą, metodo pavadinimą ir kt.
Aprašomi veiksmai, kaip padaryti šiuos pavadinimus painius ir užmaskuotus.
Programos kūrimas "Visual Studio" ir exe failo kūrimas yra lygiai toks pat, kaip ir įprastas būdas jį sukurti.
Sukūrę ir sukūrę exe failą, visual Studio meniu pasirinkite Įrankiai, tada pasirinkite Dotfuscator Software Services.
Kai pradedate pirmą kartą, dialogo langas "Licencijos sutartis" rodomas taip, kaip parodyta paveikslėlyje dešinėje, todėl atidžiai perskaitykite turinį, pažymėkite "Taip, sutinku su licencijos sutartimi." ir spustelėkite mygtuką "Gerai".
Prasideda "Dotfuscator" programinės įrangos paslaugos.
Exe (arba dll failas), kuris turi būti užmaskuotas, neturi būti iš šiuo metu atidaryto projekto.
Kairėje esančiame medyje pasirinkite Įvesties mazgai ir dešinėje spustelėkite įvesties mazgus, kad spustelėtumėte ... mygtuką.
Pasirinkite exe failą, kurį norite užmaskuoti.
Pasirinktas exe failas įtraukiamas į sąrašą. Jei norite užmaskuoti kelis failus, spustelėkite mygtuką "..." po antros eilutės, kad juos pridėtumėte.
Pasirinkę exe, kurį norite užmaskuoti, įrankių juostoje spustelėkite mygtuką Kurti projektą.
Jei yra kokių nors projekto pakeitimų, rodomas projekto išsaugojimo patvirtinimo dialogo langas, todėl spustelėkite "Taip", kad išsaugotumėte.
Projektas vadinasi ". xml" failą. Užmaskuotas exe failas taip pat bus išsaugotas toje pačioje vietoje, todėl išsaugokite .xml failą bet kuriame aplanke.
Statyba prasidės ir lauks, kol ji bus baigta. Atminkite, kad kuo didesnė programa, tuo ilgiau užtrunka kūrimas. Jei atrodo, kad figūra dešinėje, statyba baigta.
Pranešimo lauke rodomi paprasti rezultatai, pvz., kūrimo eiga ir tai, kaip ji buvo užmaskuota.
Jei kairėje esančiame medyje pasirinksite "Rezultatas", galėsite matyti išsamią informaciją apie tai, kaip pasikeitė klasių ir metodų pavadinimai.
Po klasių ir metodų pavadinimais yra "Dotfuscator" piktograma ir pavadinimas, pvz., "a" arba "b", kuris yra užmaskuotas pavadinimas. Pakeitę klasės pavadinimą ar metodo pavadinimą į tokį beprasmį pavadinimą, galite padaryti šaltinio kodo turinį sunkiai skaitomą, net jei jis yra išardytas.
Užmaskuoti exe failai sukuriami .xml failų, išsaugotų "Save Project", aplanke, vadinamame "Dotfuscated", ir yra sukurti jame. Be exe failo, buvo sukurtas failas "Map .xml", tačiau tai yra užmaskavimo rezultatas ir neturėtų būti naudojamas.
Užmaskuoti exes gali būti paleisti ir naudojami tokie, kokie yra. Tačiau yra atvejų, kai jo negalima paleisti dėl nežinomos klaidos, kaip parodyta paveikslėlyje dešinėje.
Šį kartą parašiau programą WPF, bet kadangi pirmojo rodomo lango XAML failas yra nurodytas kaip eilutė, pervadinimas dėl užmaskavimo sukels nuorodą, todėl bus padaryta klaida.
"Windows Form" programos tiesiogiai nurodo iš klasės, todėl jos gali veikti be klaidų, net jei yra užmaskuotos. Tačiau jei nurodote klasės pavadinimą, išvardijimo tipą ir kt. pagal pavadinimą, turite būti atsargūs, nes yra tikimybė, kad įvyks ta pati klaida.
Jei nenorite užmaskuoti klasės ar kažko, pasirinkite Pervardyti iš medžio kairėje "Dotfuscator" pusėje ir viduriniame skirtuke pasirinkite Išskirti.
Kiekviena vardų sritis, klasės pavadinimas ir kt. bus rodomi dešinėje esančiame sąraše, todėl patikrinkite elementus, kurių nenorite užmaskuoti.
Čia nenoriu keisti pirmiausia rodomo lango klasės pavadinimo, todėl patikrinu "MainWindow".
Kai atliekate kūrimą, matote, kad "MainWindows" klasės pavadinime nėra pakeisto pavadinimo. (Programėlių klasė konvertuota į "a")
Kai paleidžiate užmaskuotą exe failą, matote, kad langas rodomas teisingai.
Jei išardysite užmaskuotą exe failą, pamatysite, kad klasės pavadinimas ir metodo pavadinimas buvo tinkamai pakeisti į "a" arba "b".
Bet kaip nuošalyje. NET Framework bibliotekoms, pvz., klasių pavadinimams, netaikomas pervadinimas, nes tai yra rinkiniai, kurie jau įdiegti sistemoje Windows ir kitur.
Šį kartą užmaskavau numatytąjį projektą, sukurtą tokį, koks jis yra, todėl manau, kad yra įvaizdis, kad jis nėra toks užmaskuotas, bet manau, kad užmaskavimo poveikis tampa aiškus, nes didėjant projektui didėja klasių skaičius ir t.t.
Be to, nors šį kartą įtraukėme procedūrą į nemokamą versiją, mokama versija leidžia sudėtingiau užmaskuoti ir taip pat apsaugo nuo paties išmontavimo. Tačiau užmaskavimas turi įvairių neigiamų padarinių ir gali atsirasti, todėl, atliekant užmaskavimą, būtina tai padaryti, atsižvelgiant į tai, ar jis veiks tinkamai nuo pat dizaino pradžios.