|
|
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
Мне надо в БД сохранить дату до которой программа оплачена. ДБ - Access, поэтому несмотря на пароль думаю не для кого не будет проблемой забратся вовнутрь. Поэтому единственная идея - дату шифровать. А ключ поделить на несколько частей и раскидать по классам. Это реально? Это дает хоть какуюнибудь защиту. И самое главное - Как это сделать? Или есть может быть какиенибудь лучшие варианты о которых я не подумал? П.С. Кстати я уже знаю что яву все равно сламают, что для комметческой программы надо было выбрать чтонибудь другое и что обфокусаторы не помогут. Я просто хочю сделать процесс взлома максимально трудным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 14:00:33 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
Используй алгоритмы с открытым и закрытым ключами, RSA, кажется. Тогда будет определенная гарантия что базу Access без взлома Java кода не сломают. А если закрытый ключ вынести за Java програму, чтобы его постоянно приходилось вводить. Тогда и вообще не взломают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 14:16:02 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
Вывести за приделы к сожалению нет возможности... А нелзя ли поконкретней? С примером? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 14:44:12 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
azzМне надо в БД сохранить дату до которой программа оплачена. ДБ - Access, поэтому несмотря на пароль думаю не для кого не будет проблемой забратся вовнутрь. Поэтому единственная идея - дату шифровать. П.С. Кстати я уже знаю что яву все равно сламают, что для комметческой программы надо было выбрать чтонибудь другое и что обфокусаторы не помогут. Я просто хочю сделать процесс взлома максимально трудным. А ключ никто ломать и не будет. Зачем связываться с расшифровкой, если гораздо проще отследить (и поправить) места проверки валидности даты? Обфускаторы, как Вы проницательно заметили в этом помощники плохие. По секрету, я не могу с ходу назвать, из распространенных, тот язык, который поможет вам в осуществлении "защиты" такого рода и при этом продержится много дольше JAVA. Если хотите сдавать ПО в аренду или завязывайтесь на серьезные покупные методы защиты с аппаратными ключами или пишите действительно коммерческие программы, которые никто не ломает, потому что они никак и не защищены, а все равно покупают. Догадайтесь почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 14:50:43 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
azzВывести за приделы к сожалению нет возможности... А нелзя ли поконкретней? С примером? Пример: есть некая часто используемая программой функция типа вычисления кривизны площади квадратного пятиугольника в вакууме :) Пишем ее на С++ в отдельной библиотеке, которая проверяет валидность даты и в случае невалидной даты возвращает полную чушь. Подключаемся через JNI к библиотеке и используем нативный метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 14:59:06 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
ЗашедшийПодключаемся через JNI к библиотеке и используем нативный метод. А потом меняем в java коде нативную функцию на ненативную и все работает на ура. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 15:06:46 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
Ладна... Упращю постоновку вопроса... Я понял что если зачатят . то сламают. Мне надо обеспечить защиту хоть на какомто уровне.. Потому что я понял что сламать порол на Access все же проще чем лезть в код ... И главнае . мне щас надо закончить прогу быстро. Пожалуйста, просто пример кода который я вы смог драг-дропом к себе перенести.. Или ссылку на такой код. П.С Может у кого опыт есть - насколко С# лучше в этом смысле чем Java ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 15:16:32 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
Евгений Путилин ЗашедшийПодключаемся через JNI к библиотеке и используем нативный метод. А потом меняем в java коде нативную функцию на ненативную и все работает на ура. Каким образом? Продизассемблив сишную библиотеку и попытавшись понять, что оно вообще делает? Или Вы гений и на глазок определите по трем входным числам с плав.запятой и одному выходному целочисленному, к примеру, что это за функция? Тогда Вам в Нобелевский комитет, физики будут чрезвычайно рады такому уникуму. Сделал 10 опытов, посмотрел - и сбацал на глазок матмодель :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 15:18:00 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
Шаги: 1. Какнибудь похитрей смешать 3 небольшие строки. 2. Получить из них ключ. 3. Зашифровать им Дату...(Которую сначала надо будет в строку перевести) 4. Сохранить в ДБ 5. Прочесть из ДБ 6. Снова создать ключ 7. Расшифровать 8. Создать из страки дату Наибольший интерес вызывают пункты 1.2.3.7 Помогите кто чем может.. Побыстрее.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 17:10:22 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
Если программу планируется запускать на кол-ве мест больше 1, то можно еще сделать для солидности сервер лицензий, который будет при запуске делать кучу проверок, а также проверять в ходе работы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 17:24:16 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
Рубята.. Я понимаю что тут большенство людей опытней и умней меня .. Но пожалуйста, если не трудна просто ответте на мой вопрос. Любые предлажения писать сервера или классы в нативном коде - потеря вашего времени. У меня есть только 2 дня.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 17:32:22 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
azzРубята.. Я понимаю что тут большенство людей опытней и умней меня .. Но пожалуйста, если не трудна просто ответте на мой вопрос. Любые предлажения писать сервера или классы в нативном коде - потеря вашего времени. У меня есть только 2 дня.... Мне вот что интересно - надо ли вообще защищать написанную Вами программу? Судя по вопросам ничего особо ценного в ней все равно нет... может, не париться и сделать фриварной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 17:35:59 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
Блин.... Ктонибудь может ПРОСТО ОТВЕТИТЬ НА ВОПРОС!!!!!!!!!!!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 17:46:37 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
>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/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 18:07:24 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
Вот еще реализации криптоалгоритмов: http://www.hotpixel.net/software.html Тебе, наверное, подойдет BlowfishJ 2.20. Там как раз есть шифрование строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2006, 18:10:10 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
Блин. Только щас до меня доперло что какую бы защиту на программу я не ставил её все равно элементарно выкусить из программы после декомпелирования и никакие обфокусаторы не помогут... Просто автоматом возвращать тру. Шифруй - не шифруй. Что делать.... А .Net так же легко ламаетса или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 12:45:24 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
azzБлин. Только щас до меня доперло что какую бы защиту на программу я не ставил её все равно элементарно выкусить из программы после декомпелирования и никакие обфокусаторы не помогут... Просто автоматом возвращать тру. Шифруй - не шифруй. Что делать.... А .Net так же легко ламаетса или нет? Так же. Уже выше писал - перенеси несколько сложных и часто используемых вычислительных функций во внешнюю библиотеку на С и проверяй наличие ключа там. Нет ключа - не работают функции - не работает программа. И никакие декомпиляции явского кода не помогут, потому что проверяется не тру-фолс, а производятся именно вычисления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 12:50:17 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
С таким же успехом можно обрубить кусок кода, работающий в этой самой библиотеке, т.е. его вызов (через JNI). Разве что там будет находиться и бизнес логика. Думаю, с таким подходом о кроссплатформенности можешь забыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 15:01:11 |
|
||
|
Как закрыть информацию?
|
|||
|---|---|---|---|
|
#18+
BlackWallС таким же успехом можно обрубить кусок кода, работающий в этой самой библиотеке, т.е. его вызов (через JNI). Разве что там будет находиться и бизнес логика. Думаю, с таким подходом о кроссплатформенности можешь забыть. Именно про бизнес-логику и говорю. Возможно, какие-то простые, быстрые и редко, но гарантированно используемые методы. Кстати, на этом построено много внешних ключей защиты. В принципе для сохранения кроссплатформенности при таком подходе выбор небольшой - либо делать аппаратный ключ, либо создавать сервер, обращение к которому необходимо выполнять. Все прочие случаи действительно приведут к необходимости иметь несколько библиотек под разные ОС. Ну а куда деваться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.12.2006, 15:13:48 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34218561&tid=2147131]: |
0ms |
get settings: |
23ms |
get forum list: |
25ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
83ms |
get topic data: |
24ms |
get forum data: |
6ms |
get page messages: |
98ms |
get tp. blocked users: |
2ms |
| others: | 312ms |
| total: | 587ms |

| 0 / 0 |
