Я озадачен этим вопросом.
Как и другие Java-обфускаторы, Proguard запутывает скомпилированный байт-код (файлы .class), переименовывая каждую переменную, метод и т. Д., Которые считает безопасными для переименования. Я полагаю, вы знаете это и знаете, как использовать Proguard для файлов классов, поскольку вы специально об этом спрашивали. Если нет, прочтите руководство по proguard.
Что касается файлов war, вы можете извлечь файлы классов из war (или jar), разархивировав их. (да, война - это обычный zip-файл). Затем вы можете запустить их через Proguard и снова заархивировать. Вы можете использовать Winzip, распаковать или любую другую программу zip по вашему выбору. Вы можете даже сжать и разархивировать войну с JDK (jar -xvf tobe_extracted.war).
Это запутывание не влияет на другие файлы в войне, такие как файлы свойств, XML-файлы и тому подобное. Война не зашифрована. Ваше программное обеспечение может не работать после этого, потому что основанные на отражении вещи могут быть сломаны. Proguard не может знать, получат ли ваши фреймворки доступ к чему-либо с помощью их мощной магии отражения и действительно ли это безопасно переименовать.