![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
serghd |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 5.10.2009 Репутация: нет Всего: нет |
Мой друг 6 лет пишет на с++ и абсолютно уверен в том, что системы клиент-сервер на с++ писать удобнее и, главное, надёжнее, чем на JAVA. Разве можно "извлеч" скомпиленый ява-код программы на клиентской машине? Какие вообще дыры могут быть на стороне JAVA?
Сам я в принципе только из-за клиент-серверных приложений и решил изучать JAVA - надоели браузеры (4 года был на php+js+mysql и т.п.) и "недо"-ООП до ужаса. Под мобилки неинтересно (мне кажется почему-то, что не окупаемый это труд), апплеты почти полностью вытеснены флешем, остаются консольные и десктопные приложения. Короче говоря, для меня важно знать надёжность и целесообразность софта клиент-сервера на JAVA, кому не в лом, отпишитесь пожалуйста. Это сообщение отредактировал(а) serghd - 13.10.2009, 10:59 |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Ну а что писать то
![]() Холивар разводить очередной ? Скажу одно - в Минске Java очень востребована, хорошие программисты, получают хорошие деньги ![]() Востребовано: - Игры на мобилы; - Веб проекты; - Гуи проекты; - Флекс проекты (очень быстро развиваются и набирают обороты) Поясню сразу, что проекты в основном большие, долгосрочные, корпаративные. Добавлено через 58 секунд Ах да, про надежность - вполне можно сделать java код защищенным ![]() |
|||
|
||||
Temdegon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.10.2008 Где: Minsk Репутация: 7 Всего: 9 |
Если под надежностью имеется ввиду отказоустойчивость, отсутствие фатальных ошибок и утечек ресурсов, то тут многое зависит от скила программиста, но в java с этим в десятки раз проще.
Если писать "хэллоу ворды" и "echo-серверы" из книжки, то проблем в С++ никаких. Но если дело доходит до сложных многопоточных серверов, тот тут уже надо иметь нехилый опыт и сильно постараться, что бы на C++ все работало как надо. С профилированием кода в С++ опять же все гораздо сложнее. А если задача стоит написать относительно переносимый сервер, то тут уж точно на C++ поседеть можно, когда проект использует десяток библиотек, каждая из которых за собой тащит еще столько же зависимостей, и каждая имеет всякие причуды под разными осями. Хотя я давно этим не интересовался, и мое мнение может быть ошибочным. Та же Qt снимает много проблем с переносимостью. Если под надежностью подразумевать безопасность, то ИМХО, ситуация такая: да, компиленный java-код легко декомпилируется, но это мало что меняет. Те кто считают, что написали прогу на Cи, скомпилили native-код, и они защищены, никогда не пользовались SoftICE, декомпиляторами и дизассемблерами. Для решения проблем безопасности, обоих языках используют обфускацию кода, и это достаточно эффективно. Ну и опять же, серверное ПО защищено уже потому, что лежит на сервере. А вопросы безопасности протоколов шифрования и передачи данных вообще мало касаются языка программирования. А клиентскую часть особо-то и защищать незачем. Ты же JavaScript не шифруешь, чтоб не дай бог не взломали хэкеры, а пишешь все ядро на PHP, который просто валяется на сервере в открытом виде (ну или каким-нить Zend-энкодером прикрыт). К слову, пару месяцев назад решил "фо фан" взломать одну триальную прогу, написанную на C# (те же яйца, что и с Java, декомпилируется без проблем). Код программы естественно был обработан обфускатором. Но меня это не смущало - "Что я проверку серийника найти и отключить не смогу?". Да, на выходе декомпилятора я получил что-то похожее на исходный код, и это "что-то" явно было написано на C#. Но в реале, этот был не код, а каша из переменных вида z12y, вывернутых на изнанку проверок, развернутых циклов, разбитых на куски строк и прочих радостей исследования обфусцированного кода. Хотя я точно знал, в каком участке кода начинались проверки, это мне мало помогло. В общем, я просидел за этим винегретом 4 часа и сдался =). Ну и как известно, идеальной защиты для клиентских приложений пока еще не придумали. Те же игрушки, защищенные старфорсом, успешно ломаются, и бывает что кряки выходят даже раньше релиза игры. Всякие навесные защиты, типа ASProtect, EnigmaProtector, Armadillo то же взламывают - если не кейген напишут, то уж exе точно пропатчат. Ну а срок триала программ, защищенных этими протекторами так вообще продлевается в домашних условиях за считанные минуты. И ведь казалось бы, почему не напишут "идеальную защиту"? Ведь все на их стороне: нэйтив код, определенная ос, определенная аппаратная платформа. Хочешь драйверы уровня ядра для своей защиты пиши, хочешь шифруй библиотеки, практически неограниченный доступ к железу, а все равно никак! А потому, что наши процессоры и наши ОС - это та же JVM, только более низкого уровня, которую можно отладить. Они уже много чего умеют, но вот защищать исполняемый код от костлявых пальцев и красных, от бессоных ночей, глаз пока не приспособлены. |
|||
|
||||
serghd |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 5.10.2009 Репутация: нет Всего: нет |
Я знаю, что можно например используя excelsior. Но результирующий объём приложения (в неск. раз больше "оригинала") меня совсем не впечатлил... Так всё-таки исходный код явы значит не защищён... И я думаю эта тема не может относиться к холивару, т.к. затеяна не в целях навязывания друг другу своих убеждений. Шутка ли - потратить не один год на обучение и опыт, а потом в этом разочароваться. Да, в инете достаточно сравнений java vs c++ на разных уровнях - и производительности и простоты написания (при достижении одинаковой цели). Но лично мне ява важна в основном со стороны веб-приложений и клиент-сервера (GUI естесственно, по крайней мере клиент). Каким же тогда образом можно извлеч оригинальный код из jar-архива? Может кто-нибудь пробовал? И что такое флекс-проекты, какое-то новшество? Это сообщение отредактировал(а) serghd - 13.10.2009, 10:35 |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Ведь Temdegon, очень все грамотно описал. Я скажу в двух словах: Идеальной защиты нету. Что говорить, если ломаются гигантские программы, которыми пользуется весь мир (Фотошоп, Автокад, Виндовс) Думаете разработчики этого софта не разрабатываю защиту ? Все относительно в этом мире. В Java код защищен не хуже, чем в С# или С++. |
|||
|
||||
serger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 1 Всего: 5 |
А зачем защищать код в client-server? и от кого?
-------------------- упс! |
|||
|
||||
serghd |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 5.10.2009 Репутация: нет Всего: нет |
код клиента, от хакеров. Допустим игра "покер", там будет много конкурентов и все заходят найти дыры в протоколе или ещё где-нибудь
Это сообщение отредактировал(а) serghd - 13.10.2009, 10:41 |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
Клиентский код защитить очень трудно (JS вообще никак не реально защитить) А серверный код хранится на сервере, поэтому есть маленькая вероятность, что его не вскроют.
|
|||
|
||||
serghd |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 5.10.2009 Репутация: нет Всего: нет |
Да причём здесь яваскрипт вообще? Браузеры тут не в тему совершенно и знаю прекрасно что его не защитить. Я говорю о ява-проге-клиенте, которая работает удалённо с серваком. Впрочем, Temdegon всё описал достаточно понятно и убедительно, в этом я с вами согласен. Это сообщение отредактировал(а) serghd - 13.10.2009, 10:57 |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 47 Всего: 159 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "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. |