Posted By: Koles (Pipl ptacek) on 'CZprogram' Title: Re: Kodovani Javy Date: Wed Dec 11 10:59:23 2002 > Shodou okolnosti tohle resila jedna nase partnerska firma a vyslo ji > nasledujici: > > 1) nelze zabranit dekompilaci .class (a JAR, WAR, EAR) souboru - nejak to > vychazi primo z podstaty Javy Ano. > 2) nektere dekompilatory jsou tak kvalitni, ze vytahnou i puvodni > identifikatory objektu Nevim o dekompilatoru, ktery by byl natolik nekvalitni, ze by to neumel :-) Tedy za predpokladu, ze bytecode neni obfuskovan, coz ale predpokladam zminujes v bode 3. > 3) jediny prakticky zpusob, jak udelat dekompilaci obtiznejsi je pomoci > prekodovani identifikatoru. Existuji SW, ktery z citelneho zdrojoveho kodu > udelaji korektni necitelny zdrojak - chaoticky prejmenuji identifikatory a v Pricemz porad se musime smirit s tim, ze kdejaky dekompilator ti i z takto zpraseneho kodu vyrobi zdrojak pomerne citelny, byt s jinak pojmenovanymi promennymi. Samozrejme taky zalezi na tom, jak velkou cast aplikace jsi schopen obfuskovat. Obvykle se obfuskuji pouze privatni promenne a metody, coz dekompilaci usnadnuje. Pokud nase situace umoznuje obfuskovat komplet cely kod (dobra, s vyjimkou "public static void main (String[] args)" :-), opet jsme pripadnemu stouralovi zkomplikovali zivot. Pozor na obfuskovani v pripade prace se serializovanymi daty, pokud obe strany neobfuskuji tridy vymenovanych objektu stejne, nebudou si rozumet. Par informaci na tema obfuskovani muzete najit v clanku http://www.interval.cz/clanek.asp?id=1721 byl sice psan s ohledem na mobilni aplikace, kde je obfuskovani nutne uz proto, ze jeho sideeffectem byva zmenseni kodu (srovnej "mojeSofistikovanaAzNepopsatelnaMetoda()" vs. "a1()"), ale pouci se z nej urcite kazdy. Pavel