Re[2]: обфускация с помощью proguard
От: tipoc  
Дата: 14.03.08 15:48
Оценка: 1 (1)
Здравствуйте, Donz, Вы писали:

D>Здравствуйте, tipoc, Вы писали:


T>>Подскажите как сделать обфускацию resource файлов в proguard.

T>>У меня есть jar-файл (моя программа), который я обфусцирую, и папка conf (в которой находятся txt-файлы, из которой программа считывает свои настройки). Jar файл proguard обфусцирует, а вот txt-файлы почему то нет (в txt-файлах имена настроек имеют вид: ru.mypackage.MyClass.title=MyProgram, т.е. по полному имени класса).
T>>Т.к. jar-файл у меня обфусцирован, а настройки нет. То программа не может считать настройки из этих файлов.
D>А зачем тебе обфускация? Скрыть код или уменьшить размер? Подозреваю, что в твоём случае обфускатор не нужен.
D>Логично, что ресурсы Proguard не будет обфусцировать, так как он предназначен только для ява-классов (вообще, конечно, можно сделать обфускатор с "умным" анализом, чтобы рефлешн или подобные ресурсы при этом оставались актуальными, но обычно это просто не нужно).
D>Посмотри раздел "Keep Options" в документации, там можно настроить сохранение названий полей.

Обфускацию произвожу для защиты кода. Но вопрос не в этом.

Proguard умеет обфусцировать ресурсы (взято отсюда http://proguard.sourceforge.net/manual/examples.html#resourcefiles ):

Processing resource files
If your application, applet, servlet, library, etc., contains resource files, it may be necessary to adapt their names and/or their contents when the application is obfuscated. The following two options can achieve this automatically:

-adaptresourcefilenames **.properties,**.gif,**.jpg
-adaptresourcefilecontents **.properties,META-INF/MANIFEST.MF

The -adaptresourcefilenames option in this case renames properties files and image files in the processed output, based on the obfuscated names of their corresponding class files (if any). The -adaptresourcefilecontents option looks for class names in properties files and in the manifest file, and replaces these names by the obfuscated names (if any). You'll probably want to adapt the filters to suit your application. Note that package names of resource files that don't have corresponding class files are not updated in the current implementation.

Просто у меня он это делать не хочет. Я и пытаюсь узнать почему.
обфускация с помощью proguard
От: tipoc  
Дата: 13.03.08 23:33
Оценка:
Подскажите как сделать обфускацию resource файлов в proguard.
У меня есть jar-файл (моя программа), который я обфусцирую, и папка conf (в которой находятся txt-файлы, из которой программа считывает свои настройки). Jar файл proguard обфусцирует, а вот txt-файлы почему то нет (в txt-файлах имена настроек имеют вид: ru.mypackage.MyClass.title=MyProgram, т.е. по полному имени класса).
Т.к. jar-файл у меня обфусцирован, а настройки нет. То программа не может считать настройки из этих файлов.
Пытаюсь делать что-то подобное (proguard запускаю через ant):
<proguard printmapping="proguard.map">
    <adaptresourcefilecontents filter="injars(*.txt)"/>
    <injar dir="my.jar"/>
    <injar dir="conf"/>
    <outjar dir="${builddir}/outjars"/>
    <libraryjar file="${java.home}/lib/rt.jar"/>
    .... (здесь еще настройки для proguard)
</proguard>
Re: обфускация с помощью proguard
От: Donz Россия http://donz-ru.livejournal.com
Дата: 14.03.08 11:23
Оценка:
Здравствуйте, tipoc, Вы писали:

T>Подскажите как сделать обфускацию resource файлов в proguard.

T>У меня есть jar-файл (моя программа), который я обфусцирую, и папка conf (в которой находятся txt-файлы, из которой программа считывает свои настройки). Jar файл proguard обфусцирует, а вот txt-файлы почему то нет (в txt-файлах имена настроек имеют вид: ru.mypackage.MyClass.title=MyProgram, т.е. по полному имени класса).
T>Т.к. jar-файл у меня обфусцирован, а настройки нет. То программа не может считать настройки из этих файлов.
А зачем тебе обфускация? Скрыть код или уменьшить размер? Подозреваю, что в твоём случае обфускатор не нужен.
Логично, что ресурсы Proguard не будет обфусцировать, так как он предназначен только для ява-классов (вообще, конечно, можно сделать обфускатор с "умным" анализом, чтобы рефлешн или подобные ресурсы при этом оставались актуальными, но обычно это просто не нужно).
Посмотри раздел "Keep Options" в документации, там можно настроить сохранение названий полей.
Re[3]: обфускация с помощью proguard
От: Donz Россия http://donz-ru.livejournal.com
Дата: 17.03.08 11:47
Оценка:
Здравствуйте, tipoc, Вы писали:

T>Proguard умеет обфусцировать ресурсы (взято отсюда http://proguard.sourceforge.net/manual/examples.html#resourcefiles ):


T>Просто у меня он это делать не хочет. Я и пытаюсь узнать почему.

Действительно, в четвёрке появилось, а я и не знал, спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.