![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
RUVATA |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
Всем доброго времени суток...
Существует ли возможность защитить готовую программу от просмотра ее исходников, элементов дизайна, да и вообще содержимого JAR? Один из методов, я так понял - компиляция в exe, но при этом существенно страдают объемы так как тудой вкладываются необходимые классы JDK(полностью или частично, трансформируясь в dll) ...если это небольшое приложение - то сие его существенно отягощает, + узримое мной на страницах, где эта тем обсуждается, мнение, что это еще и замедляет приложение. Но так, опять таки, народ пытается сбежать от привязанности к JVM... А я например не против... мне просто необходимо защитить исходники... я не хочу тягать с собой пол JDK... клиент без проблем его себе установит. Как на этот счет... ? Это сообщение отредактировал(а) RUVATA - 19.10.2010, 19:06 |
|||
|
||||
jGorets |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 11.7.2010 Репутация: нет Всего: нет |
не показывай ее не кому =) я тут думаю, а чем тебе джар файлы не угодили? разве там есть *.java, или ты с джарника можешь проект собрать (без дезасемблера)? вообще джава - язык ориентированый на и-нэт приложения, с облачным типом работы =) тогда точно некто нече не увидит. А в остальном - вроде защина не плохая. Это сообщение отредактировал(а) jGorets - 19.10.2010, 23:37 |
|||
|
||||
danilka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 15.1.2010 Репутация: нет Всего: нет |
Бред не "не плохая" а никакая Автор, смотри тут |
|||
|
||||
Zlatogorov |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 18.12.2007 Где: BW,Stuttgart Репутация: нет Всего: 1 |
jGorets,
Да прям таки защищена, фронтэнд раскрывает на раз. И причём тут облака ? С проблемой защиты столкнулись сами пару лет назад, нормального решения так и не нашли. |
|||
|
||||
Connie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 1 Всего: 9 |
RUVATA, jar - по сути своей простой zip архив, в нем лежат class файлы, которые легко декмопилятором преобразовать в java файлы. При этом обратном преобразовании возможно восстановятся не все имена переменных. Но восстановить логику приложения будет не сложно.
Один раз я потерял исходники своего приложения и потом восстановил его декомпилятором из jar файла. Ничего разобрался ![]() Частично может помочь обусфокация. Она запутывает имена классов, методов и т.п. Однако имена методов стандартных классов изменены не будут ![]() ![]() Можно подписать свое приложение. Но это не поможет уберечь программу от просмотра, это защитит ее от пересборки кем то другим и выдачи ее за то, исходное приложение. Вот как то так. |
|||
|
||||
RUVATA |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
Мня не сильно беспокоят авторские права, программа настолько специфическая, что ее алгоритмы вряд-ли пригодяться в каком-ни-будь другом решении.
Меня беспокоит проблемма - ее модификации "особо умными"... "кулц хацкеров" конечно среди них нет, но опытные програмисты имеются... и они я думаю разберуться... Самое главное у них есть стимул это сделать... а самое обидное, что у них на то есть привелегии в сети, где данное приложение должно функционировать, и проконтролировать э-т будет довольно сложно... Жаль... полностью солидарен ![]() то есть мне продолжать поиски в этом направлении видимо не стоит? ... А как насчет потери в быстродействии, при компиляции в код x86 (exe) ... Действительно ли это так? Размеры вобщем-то не такая уж и проблемма при современной скорости и объемах "хардов"... а вот скорость функционала, - другое дело. Это сообщение отредактировал(а) RUVATA - 20.10.2010, 11:15 |
|||
|
||||
Zlatogorov |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 18.12.2007 Где: BW,Stuttgart Репутация: нет Всего: 1 |
RUVATA,
год не смотрел, может что и появилось, но врядли, как тут уже говорилось единственно приемлемый способ - это использовать обсфукацию, ну и прочие заморочки, только надо учесть что потом самому же и саппортить такой код ![]() |
|||
|
||||
RUVATA |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
ну, так сказать: "вопрос закрыт не решенным" - в силу отцутствии такового...
Очень жаль, думается мне это один из тех аспектов который есть существенный недостаток технологии, хотя это и не умоляет её достоинства, но все таки пагубно для привлечения новой аудитории программистов к Java... т.к. вопрос безопасности, становятся все актуальнее и актуальнее... и "исходникии на ладони" вряд-ли устраивает разработчика, более ни мение серьезного приложения... или приложения простого, но с "серьезными" функциями, как в моем случае, придется вновь обратить свой взляд на "дотнет" и его ASP. Это сообщение отредактировал(а) RUVATA - 20.10.2010, 14:53 |
|||
|
||||
Zlatogorov |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 18.12.2007 Где: BW,Stuttgart Репутация: нет Всего: 1 |
RUVATA,
Да не всё так печально, исполняемый код и в других можно поломать. Всё что один человек сделал другой поломать сможет ![]() И это не вопрос безопасности, а скорее всего вопрос собственности. Добавьте модуль лицензирования в свой софт. |
|||
|
||||
RUVATA |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
программа которую я планировал закончить, на Java дерзкий проект, по заказу начальства... Это хитрая система определения присутствия пользователей на рабочем месте и их внимательности (специфика работы, от их вниамтельности и опетаивности пинмеамых ими решений много зависит... Среди тех кто подвергнется воздействию такой системы, есть опытные прграммисты... если им удается понять алгоритм, а тем более изменить данное приложение, а они скорее всего будут пробовать, это мы уже проходили, то все это мертвоми припарки... вот... |
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 3 Всего: 46 |
вообще не понимаю значения (или какой то нужности) защиты кода!
программирование дошло до такого уровня, при котором не нужно быть программистом, что бы написать что то. RUVATA, вашу программу любой программист за полдня напишет. зачем ее защищать? |
|||
|
||||
danilka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 15.1.2010 Репутация: нет Всего: нет |
Как защититься от изменения кода уже писали выше. А от того, что опытные программисты смогут понять алгоритм толку мало, так как они не смогут его обойти если в нем нет дыр. |
|||
|
||||
mantracoder |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 3.8.2007 Репутация: 1 Всего: 1 |
Ничего не ломаемого нет в принципе. Вы можете принять лишь комплекс мер по сдерживанию:
1) Обфускация, как уже было сказано выше. 2) Подпись .jar файлов сертификатом. 3) Упаковка jar-ов в .exe файл, при этом упаковывать JVM туда вовсе не обязательно, .jar файлы хранятся как ресурсы контейнерной .exe программы, которая ищет JVM в системе, а дальше все по обычному сценарию. Небольшое замедление возможно только при старте приложения, да и то вы вряд ли заметите разницу. Ищите упаковщик exe4j, весьма достойный софт. 4) Зарегистрировать авторские права и приложить лицензионное соглашение, запрещающее любую модификацию исходного кода продукта. Это сообщение отредактировал(а) mantracoder - 20.10.2010, 18:51 |
|||
|
||||
RUVATA |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 24.8.2010 Репутация: нет Всего: нет |
согласен и с danilka и с mantracoder как ни странно, но в моем случае - мне существенно не хватает опыта и знаний, я не совсем-то и программист, в прямом понимании этого рода деятельности. Я вряд ли смогу учесть даже большую часть аспектов безопасности кода. Дизайнер-интерфейсов, и разработка ориг.элементов управления - редко пересекаются с безопасностью ![]() PS: "В идеале - те, от кого я собираюсь защищаться - должны были реализовывать эту идею, это вобщем-то их работа, но по понятным причинам, доверить ее им нельзя" mantracoder, будем пробовать, спасибо. |
|||
|
||||
Connie |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 1 Всего: 9 |
Загнать декомпилированный в дебаггер и там поглядеть изменения переменных, ну и поставить заглушку в нужном месте.
Но тогда проще издать приказ по предприятию, в котором запретить уходить с рабочего места и быть всегда внимательным. Ну результат будет одинаков, а затрат меньше ![]() |
||||||||
|
|||||||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |