Включить внешние файлы для получения переименования библиотек? - PullRequest
0 голосов
/ 27 ноября 2010

Используя yguard, я запутываю проект, и я хотел бы знать, ЕСЛИ возможно включить файлы вне здания, чтобы получать только библиотеки и функции новой схемы именования?

Например, я запутываюкласс com.MyClass.MyInternalClasses и за пределами моего проекта у меня есть файл mysql.java, а внутри mysql.java я использую некоторый класс из MyInternetClasses, но, поскольку я запутал его, имя было изменено на что-то другое, скажем, com.AB

Итак, что бы он сделал, прочитав этот java-файл и заменив имена всех запутанных имен, измененных на нем.

Или что будет лучшим подходом к нему?

1 Ответ

0 голосов
/ 28 ноября 2010

Обычно подход состоит в том, чтобы запутать основную часть вашего кода, но оставить открытые интерфейсы необфускацированными - вы указываете их, используя элемент keep .Таким образом, пользователь кода не должен знать о запутывании.Если вы обнаружите, что ваши публичные интерфейсы содержат код, который вы хотите запутать, то небольшая редизайн (использование небольшого делегирования или создание публичного минимального фасада) позволит вам отделить общедоступный от «секретного».

Альтернативой является использование элемента map , чтобы вручную указать переименование для интерфейсов, которые вы хотите использовать внешне, затем вы можете изменить вызывающий код для использования этих имен.Переименования, примененные yGUARD, регистрируются, так что вы можете извлечь имена оттуда - но это начинает становиться грязным.

...