Úvod Hledání On-line hry On-line testy Předplatné Jak podpořit Blogovník Provozní podmínky Zásady ochrany osobních údajů
 



Návštěvy
Celkem:584966
Tento rok:33172
počítadlo ALAWARE.CZ

Úvodní strana  Prohlížení článků  C-Sharp: Obfuscator, Obfuskátor, nebo-li zatemňovač. Jak ochránit zdrojový kód?




C-Sharp: Obfuscator, Obfuskátor, nebo-li zatemňovač. Jak ochránit zdrojový kód?

Pracuji s programovacím jazykem C-Sharp a produktem Microsoft Visual Studio. Donedávna jsem měl za to, že není snadné dekompilovat zkompilovaný zdrojový kód. Naneštěstí jsem zjistil, že zdrojový kód programovacího jazyka C-Sharp lze dekompilovat velmi snadno. Začal jsem hledat možnosti ochrany kódu. S kolegou jsem objevili tento odkaz na wikipedii:

http://en.wikipedia.org/wiki/List_of_obfuscators_for_.NET

Na výše uvedené adrese je seznam tzv. Obfuskátorů, nebo-li Zatemňovačů zdrojového kódu. Nejprve si řekneme, na jakém principu Obfuskátory pracují.

Jejich cílem je zamlžit zdrojový kód takovým způsobem, aby byl nečitelný a nepoužitelný pro člověka, avšak čitelný a použitelný pro počítač. Nejčastěji obfuskátory provádějí následující operace:

- odstraní komentáře
- zruší formátování kódu a vymažou bílé místo
- přejmenují identifikátory proměnných a konstant, někdy i funkcí a metod.
- definují vlastní funkce pro potřeby obfuskace.
- zašifrují stringy. Tj. všechny textové řetězce se přesunou do zašifrovaného bloku kódu. V případě spuštění aplikace se zašifrovaný úsek obfuskátorem integrovanou funkcí rozšifruje do paměti.
- anti-dekompilace. Zásah do kódu takovým způsobem, že dekompiler má problém kód načíst. Načtení kódu může vést i k pádu dekompileru.
- narušení toku instrukcí (control flow obfuscation). Aplikace je obfuskátorem modifikovaná tak, že je narušena pro dekompilátor struktura zdrojového kódu natolik, že je velmi obtížné sestavit původní zdrojový kód. Např. MSIL (Microsoft/Common Intermediate Language - nízkolevelový programovací jazyk) instrukce jsou nahrazeny GoTo instrukcemi, které jdou velmi obtížně dekompilovat do platného zdrojového kódu.
- zašifrování MSIL kódu.
- virtualizace kódu. Přetypování MSIL kódu na virtuální kód, kterému rozumí pouze tzv. Virtuální Mašina :-).

Většina Obfuskátoru je komerční a placená. Jejich cena se pohybuje od stovek do tisíců dolarů za licenci.
Zdarma jsou poskytovány tyto Obfuskátory:

- SharpOfuscator
- Dotfuscator (nejspíš od Microsoftu)
- Obfuscar
- ConfuseEx

Otestoval jsem Obfuscar a ConfuseEx. Více se mi líbí ConfuseEx, který funguje spolehlivě a dekompilace jím zpracovaných aplikací je velmi nesnadná, pro méně zkušeného crackera prakticky nemožná.

Nemusím snad příliš rozepisovat, že jsem byl hodně rozezlený během zjištění, že může kdokoli dekompilovat moje zdrojáky. Na jednu stranu se mi líbí idea open source programování, ale na druhou stranu říkám toto: Dokud budeme žít v tržní ekonomice a dokud budeme živit sebe a rodinu, NELZE PRACOVAT ZCELA ZDARMA. Práci člověka je třeba v tomto systému ochránit. A Microsoft mě docela zklamal, protože jsem žil v domnění, že jednou zkompilovaný kód je obtížné dekompilovat do srozumitelné podoby. Naneštěstí není a dekompilace je otázkou minut až hodin podle velikosti dekompilované aplikace. Tato situace nahrává zlodějům kódu, kteří si nakradou unikání postupy, technologie, nápady, komponenty, jejichž vývoji věnovali mnozí nadaní programátoři stovky hodin práce.

Zdroj:
testování, zkušenost a názor autora
http://en.wikipedia.org/wiki/List_of_obfuscators_for_.NET
http://cs.wikipedia.org/wiki/Obfuscator
https://msdn.microsoft.com/en-us/library/vstudio/gg607861%28v=vs.100%29.aspx
http://en.wikipedia.org/wiki/Common_Intermediate_Language


26.05.2015,20:54
Počet čtenářů: 0





  Názory čtenářů:

C-Sharp: Obfuscator, Obfuskátor, nebo-li zatemňovač. Jak ochránit zdrojový kód?


Nejnovější příspěvky čtenářů:

Nejsou žádné příspěvky v diskusi.
název a sídlo firmy: Josef Nádběla - ALAWARE IČ: 75811511,  sídlo: Moravská 617/18, Chropyně
Firma je zapsána do živnostenského rejstříku pod názvem 'Josef Nádběla', odkaz zde.
Jsme neplátci DPH.

Webový systém NÁDBĚLA WEB INFINITY 1.1.21D - Copyright Josef Nádběla - ALAWARE 2024 - Všechna práva vyhrazena.
CSS 3.0, PHP 5.4.20 STRICT (verze PHP na hostingu: 8.2.7), XHTML 1.0 Strict
Odladěno pro Internet Explorer 9-11; Mozilla Firefox 12-57; Opera 11,12; Google Chrome 20-34, Maxthon Cloud Browser v4.0.3.6000.
v