Могу ли я запутать имена классов в JAR? - PullRequest
1 голос
/ 01 марта 2012

У меня есть JAR-файл, содержащий классы с чувствительными именами, которые в идеале я бы хотел, чтобы клиенты не видели программное обеспечение. Насколько я понимаю, файл JAR - это, по сути, просто ZIP-файл, содержащий один файл байт-кода JVM для каждого класса, названный соответствующим образом, поэтому ничто не помешает нашему клиенту открыть файл JAR в утилите ZIP и прочитать имена всех классы.

Если не считать переименования наших исходных классов в "NoneOfYourBusinessClass1" и т. Д., Есть ли какие-либо инструменты, которые могут автоматически запутывать содержимое встроенных JAR-файлов без необходимости изменения исходного кода?

Ответы [ 2 ]

5 голосов
/ 01 марта 2012

ProGuard - довольно хороший обфускатор.Вам не нужно изменять какой-либо исходный код, а также можно выполнить несколько других действий, например удалить неиспользуемые классы, чтобы уменьшить общий размер банки.

Google выбрал его для включения в Android SDKуменьшить размер приложений Android.

3 голосов
/ 01 марта 2012

Есть обфускаторы с открытым исходным кодом - proguard, например

и многие коммерческие тоже.

...