Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Защита строковых данных в компилированных классах. 
:(
    Опции темы
Platon
Дата 7.12.2008, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 16
Всего: 40



Здравствуйте, уважаемые.

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

Существует ли какая-нибудь практика защиты таких данных? Или как вы боретесь с подобным явлением? Или, если совсем не боретесь, выслушиваю идеи smile

Сам я думаю: тут дело будет завязано на шифровании строк на стадии исходного кода и компиляции, возможно вынос в отдельный файл, и механизма дешифрования на стадии работы программы.
PM MAIL ICQ   Вверх
LSD
Дата 8.12.2008, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Выносишь все критичные данные в ресурсы и шифруешь их. Ключ шифрования хардкодишь в классы. Или даже раскидываешь его по разным классам и функциям и собираешь в рантайме.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
MisterCleric
Дата 8.12.2008, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 5
Всего: 38



А еще можно критические данные, которые желаешь зашифровать, вообще положить в базу. И там зашифровать тоже можешь. а дальше естественно по ключу. Ключ можешь выдать вместе с лицензией на свое приложение


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
Vasay
Дата 8.12.2008, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 11
Всего: 73



В любом случае - кому надо взломает. 

Хотите более менее надежную защиту - выносите логику на сервер. 


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Platon
Дата 11.12.2008, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 16
Всего: 40



Vasay, натолкнуло на определенные мысли smile спасибо.

Только если не логику хранить на сервере, а данные? Данные в конкретном случае имеют большой вес. Стабильный сервер взломщикам тоже не по корману, а если по корману - с хостерами легко эту тему перетереть. Я правильно рассуждаю?

Добавлено @ 16:40
Хотя я себе уже представляю подделку.
Декомпилируют программу, изменяют адрес сервера на localhost.
Делают на локалхосте иммитационный сервер с базой данных и все данные остаются/запрашиваются с локалхоста.

Это сообщение отредактировал(а) Platon - 11.12.2008, 16:43
PM MAIL ICQ   Вверх
SoulKeeper
Дата 11.12.2008, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 375
Регистрация: 14.1.2007
Где: Ukraine, Lviv.

Репутация: 11
Всего: 15



А чем плохо хранение логики на сервере?

Это сообщение отредактировал(а) SoulKeeper - 11.12.2008, 17:07
PM MAIL   Вверх
AxNe0
Дата 11.12.2008, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 24.4.2006
Где: St. Petersburg

Репутация: 4
Всего: 5



Цитата(Platon @  7.12.2008,  16:22 Найти цитируемый пост)
А именно, если открыть класс даже в обычном редакторе, то можно заметь некоторые текстовые данные.

а разве в джаве нет встроенной защиты от подобных махинаций?


--------------------
SCJP 6, SCBCD 5, OCEWSD 6
blog
PM ICQ Skype   Вверх
Zlatogorov
Дата 12.12.2008, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 18.12.2007
Где: BW,Stuttgart

Репутация: нет
Всего: 1



Тоже заморачивались с защитой софта как такогового, адекватного решения не нашли. Написал dll которая привязывает к железу и требует лицензию, на том и порешили.
Разбрасывание ключа по классам  мало что даст, просто процесс взлома удлиннится минут на 20-30.
PM MAIL ICQ   Вверх
Platon
Дата 15.12.2008, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1801
Регистрация: 25.4.2006

Репутация: 16
Всего: 40



SoulKeeper, довольно затратно поддерживать 3к+ клиентов, тем более в кустарных условиях.

AxNe0, увы нет.


Zlatogorov, про привязку к железу тоже думал. Ничего если в ПМ пообщаемся?

Только я думаю, при декомпиляции даже привязка к железу не поможет :(
PM MAIL ICQ   Вверх
Vasay
Дата 15.12.2008, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 11
Всего: 73



Цитата

Только я думаю, при декомпиляции даже привязка к железу не поможет :( 


Это точно.

Цитата

довольно затратно поддерживать 3к+ клиентов, тем более в кустарных условиях.


Вопрос в том какую часть логики вынести на сервер. Можно несколько простых, но важных операций, Без которых работа программы невозможна. 


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0780 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.