Obfuskacja plików war.

0

Witam,

Mam problem z obfuskacją plików aplikacji webowej. Problem występuje przez strukturę tego pliku, gdyż pliki *.jar udaję mi się bez problemu zaciemnić.

Używam ProGuarda, próbowałem z dostarczonego z nim GUI oraz z plugina mavenowego. Poza tym narzędziem używałem : DashO, Zelix KlassMaster, yGuard, retroguard, i kilku innych ale już nie pamiętam nazw.

Problem który występuje w proguardzie :
Warning: class [WEB-INF/classes/Jakas.class] unexpectedly contains class [sciezkadostepu.jakas]

W innnych podobnie.

Próbowałem pakować klasy do osobnych bibliotek tak jak zalecają na masę sposobów, używać różnych opcji przy obfuskacji ale nic to nie pomogło.

Czy spotkał się z was ktoś z takim problemem i jak go rozwiązał? Ale jakiś pomysł na rozwiązanie takiego problemu?

Pozdrawiam.

0

Pytanie po co? Zresztą nieważne...

Problem polega na tym, że PG traktuje WEB-INF/classes jako fragment nazwy pakietu. Nie wiele można z tym zrobić poza zaznaczeniem opcji "ignore warrnings" w zakładce information. Pewno i tak się wywali. Poza tym musisz mieć w classpath PG wszystkie używane jary.

Generalnie obfuskator kodu to głupia rzecz, bo przy dzisiejszym poziomie IDE operacja odwrotna potrwa tylko chwilę, a dobry spec poradzi sobie i bez niej.

0

Koziołek, a dlaczego uważasz że jest to bez sensu skoro istnieje aktualnie wiele programów do tego, nie tylko darmowych ale też płatnych?

0

@msl, Sama obfuskacja kodu może służyć obecnie tylko do zmniejszania jego objętości co w przypadku aplikacji webowych, gdzie wielkość aplikacji jest znacznie mniejsza niż ilość danych nie ma większego sensu. Dobre IDE zazwyczaj posiada funkcjonalność pozwalającą na czy to rozrysowanie zależności pomiędzy klasami czy też "ścieżek przebiegu" aplikacji. Fakt, że czytanie takiego kodu może być trudne, ale jeżeli już za to się ktoś bierze to wisi mu czy klasa nazywa się C3P0 czy RobotProtokolarny.
Aplikacje web mają jeszcze to do siebie, że wiele elementów konfiguracji opera się o nazwy klas. Całe mapowanie w web.xml opiera się o nazwy. Jeżeli obfuskujesz kod to tracisz możliwość szybkiej rekonfiguracji.

Jeżeli zależy ci na bezpieczeństwie kodu to podpisz go cyfrowo i dodatkowo przygotuj sobie md5/sha1 całego wara. Jak ktoś będzie coś grzebał to szybko wykryjesz, że kod nie jest oryginalny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1