| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Обфускация или ... |
| Автор: Mate 5.2.2008, 09:56 | ||||
| Привет всем! Один мой знакомый говорит что он может открыт любую jar прогу. Я говорю что есть обфускация, а он удтверждает все таки он может открыт и посмотрет что там внутри. А есть ли какой нибуд способ чтоб он вообще не смог ничего читат? ЗЫ: оказывается обфускатор только пытается создать нечто вроде лабиринта. А мне надо нечто вроде ZendOptimiser в PHP который превратить например
|
| Автор: W0LF 5.2.2008, 10:59 | ||
| Нет, обфускаторы в джава таким не занимаются. Что делает обфускатор - он заменяет имена не публичных полей и классов на a,b,c...aa, ab... тем самым сбивая с толку при просмотре. На самом деле существуют деобфускаторы, которые заменяют a,b,c...aa, ab... на fieldA, fieldB(в случае метода metodA, metodB) тем самым облегчая процесс деобфускации программисту =) Ну а в общем - если декомпилился код нормально, то есть нет никаких траблов при декомпиляции, то деобфусцировать можно всегда, просто больше времени нужно будет, но это есть неправильно и программист должен понимать что на себя берет =) А вообще - это вопрос общей java, поэтому туда его и перенесу Добавлено через 4 минуты и 6 секунд
А может твой знакомый имел ввиду, что откроет джарик раром и посмотрит структуру классов и все? |
| Автор: DsKTY 5.2.2008, 14:03 | ||
вот тут подумал, а можно ли как-то специально делать так, что бы при декомпиляции возникали проблемы, тем самым защищая (хоть как-то) программу от взлома?? вообще из-за чего могут возникать такие проблемы?? |
| Автор: LSD 5.2.2008, 14:15 |
| Для J2SE есть компиляторы в native код, там декомпиляция намоного трудней. |
| Автор: Samuil 5.2.2008, 15:14 |
| LSD, Как я понял, если у меня есть source cod - сервлета, я могу при компиляции перевести его в native код и прочитать код будет несколько сложнее? Применимо ли ето для сервлета? |
| Автор: LSD 5.2.2008, 15:18 |
| Нет, для сервлета не применимо. Если только весь сервер приложений, как нибудь скомпилировать в native код (да и то придется помучаться). Но там это и не особо нужно, сервлет же не попадает к конечному пользователю. Надо просто защитить сервер. |
| Автор: Mate 5.2.2008, 17:28 | ||
Да нет WOLF Насчет сервлетов понятно что там серверная защыта хватит. Я имею ввиду когда сам jar файл под рукой, декомпилировал вот и получи непонятную абракадабру. |
| Автор: seth 6.2.2008, 11:08 |
| На самом деле обфускация предполагает не только переименование переменных а еще и изменение графа потоков управления что делает деобфускацию гораздо сложнее - только софт делающий запутывание кода я не видел |
| Автор: ecologist 6.2.2008, 11:17 |
| Да сломать можно любую программу - дело времени и усилий. Решение должно быть - насколько нужно закрывать свою. Если например это что-то широко продаваемое, то надо оценить группы людей, которые это будут покупать, цену легального софта, тот сервис, которого лишаются "нелегалы", возможные каналы распространения софта и прочая. |
| Автор: skif18 6.2.2008, 15:33 | ||
Можно будет но это будет в любом случае геморрой. |
| Автор: Mate 7.2.2008, 16:42 | ||
OK. Меняем слова JAR на CLASS. Прочитал я ответы и... значит я могу согласиться с моим знакомым? Или все таки solution найдеться |
| Автор: AntonSaburov 7.2.2008, 16:46 |
Скрыть код от дизассемблирования - не получится. Рано или поздно любой код можно раскрыть. |
| Автор: Бонифаций 8.2.2008, 02:21 | ||||
Что значит от взлома? имеется в вдиу что Ваш знакомый внесет изменения в классы и создаст свой jar? Ну подпишите свой jar.. пусть он с криптографией борется. |
| Автор: Mate 9.2.2008, 13:25 |
| Бонифаций как это делаеться, объясни please. |