Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как закрыть информацию? / 19 сообщений из 19, страница 1 из 1
21.12.2006, 14:00:33
    #34216024
azz
azz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
Мне надо в БД сохранить дату до которой программа оплачена. ДБ - Access, поэтому несмотря на пароль думаю не для кого не будет проблемой забратся вовнутрь.

Поэтому единственная идея - дату шифровать. А ключ поделить на несколько частей и раскидать по классам. Это реально? Это дает хоть какуюнибудь защиту. И самое главное - Как это сделать? Или есть может быть какиенибудь лучшие варианты о которых я не подумал?

П.С. Кстати я уже знаю что яву все равно сламают, что для комметческой программы надо было выбрать чтонибудь другое и что обфокусаторы не помогут. Я просто хочю сделать процесс взлома максимально трудным.
...
Рейтинг: 0 / 0
21.12.2006, 14:16:02
    #34216083
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
Используй алгоритмы с открытым и закрытым ключами, RSA, кажется. Тогда будет определенная гарантия что базу Access без взлома Java кода не сломают. А если закрытый ключ вынести за Java програму, чтобы его постоянно приходилось вводить. Тогда и вообще не взломают.
...
Рейтинг: 0 / 0
21.12.2006, 14:44:12
    #34216175
azz
azz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
Вывести за приделы к сожалению нет возможности...
А нелзя ли поконкретней? С примером?
...
Рейтинг: 0 / 0
21.12.2006, 14:50:43
    #34216201
carper
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
azzМне надо в БД сохранить дату до которой программа оплачена. ДБ - Access, поэтому несмотря на пароль думаю не для кого не будет проблемой забратся вовнутрь.

Поэтому единственная идея - дату шифровать.

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

А ключ никто ломать и не будет. Зачем связываться с расшифровкой, если гораздо проще отследить (и поправить) места проверки валидности даты?

Обфускаторы, как Вы проницательно заметили в этом помощники плохие.
По секрету, я не могу с ходу назвать, из распространенных, тот язык, который поможет вам в осуществлении "защиты" такого рода и при этом продержится много дольше JAVA.

Если хотите сдавать ПО в аренду или завязывайтесь на серьезные покупные методы защиты с аппаратными ключами или пишите действительно коммерческие программы, которые никто не ломает, потому что они никак и не защищены, а все равно покупают. Догадайтесь почему?
...
Рейтинг: 0 / 0
21.12.2006, 14:59:06
    #34216238
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
azzВывести за приделы к сожалению нет возможности...
А нелзя ли поконкретней? С примером?
Пример: есть некая часто используемая программой функция типа вычисления кривизны площади квадратного пятиугольника в вакууме :) Пишем ее на С++ в отдельной библиотеке, которая проверяет валидность даты и в случае невалидной даты возвращает полную чушь. Подключаемся через JNI к библиотеке и используем нативный метод.
...
Рейтинг: 0 / 0
21.12.2006, 15:06:46
    #34216265
Евгений Путилин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
ЗашедшийПодключаемся через JNI к библиотеке и используем нативный метод.
А потом меняем в java коде нативную функцию на ненативную и все работает на ура.
...
Рейтинг: 0 / 0
21.12.2006, 15:16:32
    #34216302
azz
azz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
Ладна... Упращю постоновку вопроса...
Я понял что если зачатят . то сламают. Мне надо обеспечить защиту хоть на какомто уровне.. Потому что я понял что сламать порол на Access все же проще чем лезть в код ... И главнае . мне щас надо закончить прогу быстро. Пожалуйста, просто пример кода который я вы смог драг-дропом к себе перенести.. Или ссылку на такой код.

П.С Может у кого опыт есть - насколко С# лучше в этом смысле чем Java
...
Рейтинг: 0 / 0
21.12.2006, 15:18:00
    #34216308
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
Евгений Путилин ЗашедшийПодключаемся через JNI к библиотеке и используем нативный метод.
А потом меняем в java коде нативную функцию на ненативную и все работает на ура.
Каким образом? Продизассемблив сишную библиотеку и попытавшись понять, что оно вообще делает? Или Вы гений и на глазок определите по трем входным числам с плав.запятой и одному выходному целочисленному, к примеру, что это за функция? Тогда Вам в Нобелевский комитет, физики будут чрезвычайно рады такому уникуму. Сделал 10 опытов, посмотрел - и сбацал на глазок матмодель :)
...
Рейтинг: 0 / 0
21.12.2006, 17:10:22
    #34216776
azz
azz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
Шаги:
1. Какнибудь похитрей смешать 3 небольшие строки.
2. Получить из них ключ.
3. Зашифровать им Дату...(Которую сначала надо будет в строку перевести)
4. Сохранить в ДБ
5. Прочесть из ДБ
6. Снова создать ключ
7. Расшифровать
8. Создать из страки дату

Наибольший интерес вызывают пункты 1.2.3.7
Помогите кто чем может.. Побыстрее....
...
Рейтинг: 0 / 0
21.12.2006, 17:24:16
    #34216835
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
Если программу планируется запускать на кол-ве мест больше 1, то можно еще сделать для солидности сервер лицензий, который будет при запуске делать кучу проверок, а также проверять в ходе работы :)
...
Рейтинг: 0 / 0
21.12.2006, 17:32:22
    #34216867
azz
azz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
Рубята.. Я понимаю что тут большенство людей опытней и умней меня .. Но пожалуйста, если не трудна просто ответте на мой вопрос. Любые предлажения писать сервера или классы в нативном коде - потеря вашего времени. У меня есть только 2 дня....
...
Рейтинг: 0 / 0
21.12.2006, 17:35:59
    #34216889
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
azzРубята.. Я понимаю что тут большенство людей опытней и умней меня .. Но пожалуйста, если не трудна просто ответте на мой вопрос. Любые предлажения писать сервера или классы в нативном коде - потеря вашего времени. У меня есть только 2 дня....
Мне вот что интересно - надо ли вообще защищать написанную Вами программу? Судя по вопросам ничего особо ценного в ней все равно нет... может, не париться и сделать фриварной?
...
Рейтинг: 0 / 0
21.12.2006, 17:46:37
    #34216930
azz
azz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
Блин.... Ктонибудь может ПРОСТО ОТВЕТИТЬ НА ВОПРОС!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
21.12.2006, 18:07:24
    #34217000
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
>1. Какнибудь похитрей смешать 3 небольшие строки.
Например, перевести в массив байтов и поXOR-ить
>2. Получить из них ключ.
Полученный массив и будет ключом
>3. Зашифровать им Дату...(Которую сначала надо будет в строку перевести)
Если не хочешь заморачиваться с использованием провайдеров криптографии и т.п. - используй готовый симметричный алгоритм BlowFish, ссылка - внизу. Конвертация даты - использованием SimpleDateFormat. Вся информация - в JavaDoc.
>4. Сохранить в ДБ
>5. Прочесть из ДБ
сам :)
>6. Снова создать ключ
Аналогично п.1-2
>7. Расшифровать
>8. Создать из страки дату
см. п.3
Ссылка на готовую реализацию Blowfish:
http://www.javable.com/columns/crypto/algorythms/01/
...
Рейтинг: 0 / 0
21.12.2006, 18:10:10
    #34217005
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
Вот еще реализации криптоалгоритмов:
http://www.hotpixel.net/software.html
Тебе, наверное, подойдет BlowfishJ 2.20. Там как раз есть шифрование строк.
...
Рейтинг: 0 / 0
22.12.2006, 12:45:24
    #34218561
azz
azz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
Блин. Только щас до меня доперло что какую бы защиту на программу я не ставил её все равно элементарно выкусить из программы после декомпелирования и никакие обфокусаторы не помогут...
Просто автоматом возвращать тру. Шифруй - не шифруй.
Что делать....

А .Net так же легко ламаетса или нет?
...
Рейтинг: 0 / 0
22.12.2006, 12:50:17
    #34218590
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
azzБлин. Только щас до меня доперло что какую бы защиту на программу я не ставил её все равно элементарно выкусить из программы после декомпелирования и никакие обфокусаторы не помогут...
Просто автоматом возвращать тру. Шифруй - не шифруй.
Что делать....

А .Net так же легко ламаетса или нет?
Так же. Уже выше писал - перенеси несколько сложных и часто используемых вычислительных функций во внешнюю библиотеку на С и проверяй наличие ключа там. Нет ключа - не работают функции - не работает программа. И никакие декомпиляции явского кода не помогут, потому что проверяется не тру-фолс, а производятся именно вычисления.
...
Рейтинг: 0 / 0
22.12.2006, 15:01:11
    #34219072
BlackWall
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
С таким же успехом можно обрубить кусок кода, работающий в этой самой библиотеке, т.е. его вызов (через JNI). Разве что там будет находиться и бизнес логика. Думаю, с таким подходом о кроссплатформенности можешь забыть.
...
Рейтинг: 0 / 0
22.12.2006, 15:13:48
    #34219130
Зашедший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как закрыть информацию?
BlackWallС таким же успехом можно обрубить кусок кода, работающий в этой самой библиотеке, т.е. его вызов (через JNI). Разве что там будет находиться и бизнес логика. Думаю, с таким подходом о кроссплатформенности можешь забыть.
Именно про бизнес-логику и говорю. Возможно, какие-то простые, быстрые и редко, но гарантированно используемые методы. Кстати, на этом построено много внешних ключей защиты. В принципе для сохранения кроссплатформенности при таком подходе выбор небольшой - либо делать аппаратный ключ, либо создавать сервер, обращение к которому необходимо выполнять. Все прочие случаи действительно приведут к необходимости иметь несколько библиотек под разные ОС. Ну а куда деваться...
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как закрыть информацию? / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]