Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание защиты программы. 
:(
    Опции темы
W4FhLF
Дата 11.12.2009, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

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



xvr, а какое щас железо в ключиках? Писать целиком "жизненно важную часть" под ключ (там же ARM вроде всегда были) это тоже весьма трудозатратно. И не факт, что потом этот алгоритм будет удовлетворять требованиям. Это если сравнивать с ВМ на CPU. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
xvr
Дата 11.12.2009, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(W4FhLF @ 11.12.2009,  09:54)
xvr, а какое щас железо в ключиках? 

Какое поставят, то и будет  smile 
Цитата

Писать целиком "жизненно важную часть" под ключ (там же ARM вроде всегда были) это тоже весьма трудозатратно. 
Угу
Цитата

И не факт, что потом этот алгоритм будет удовлетворять требованиям. Это если сравнивать с ВМ на CPU.
Я же не предлагаю делать спецвычислители в ключиках для ускорения расчетов. Вопрос был про 100% надежную защиту программы. Такой ключик - это способ '100% надежной защиты', а не способ ускорения работы  smile 

PM MAIL   Вверх
DrHex
Дата 11.12.2009, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 2.5.2009

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



все зависит то что хочет автор, если знает заранее ключ компьютера(например ид железа) то надо будет сделать что то типо архива с паролям(ну и конечно что паролем будет именно этот ключ, а когда программа стартует то читает текущие значения ид(винчестера) сравнимает с оригинальным по CRC32 к примеру и если подходит то начинает расспаковку), но с другой стороны как узнать ключ заранее???
Конечно можно сделать саможификацию инсталяции, но если сохранят на диск то тут маленький трабыл, хотя.... 
Вообще это исскуство где нужна фантация...
--------------------
google.com и это все.
PM MAIL   Вверх
xvr
Дата 11.12.2009, 12:47 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(DrHex @ 11.12.2009,  12:02)
все зависит то что хочет автор, если знает заранее ключ компьютера ... то надо будет сделать что то ... но с другой стороны ... Конечно можно сделать ... то тут маленький трабыл, хотя.... 
Вообще это исскуство где нужна фантация...

 smile 
В одном маленьком королевстве жил-был король, который очень любил воевать. И очень он любил разное оружие и защиту от него. 
И пришел как то к нему изобретатель, и сказал:
- О великий король, я изобрел пушку, которая может пробить любую броню! Вот ее чертежи, - с этими словами он полез в карман, достал чертежи и вручил их королю.
Обрадовался король, велел выдать изобретателю 1000 золотых. А изобретатель достал из 2го кармана пачку чертежей и продолжил:
- А еще я изобрел броню, которую не может пробить эта пушка!
Обрадовался король, велел выдать изобретателю еще 1000 золотых. А изобретатель полез в 3й карман, достал еще пачку чертежей, и продолжил:
- А еще я изобрел пушку, которая может пробить эту броню.
Задумался король, но все же велел дать изобретателю еще 1000 золотых. А изобретатель достал из 4го кармана еще одну пачку чертежей, и сказал:
- А еще я изобрел бро...
Тут король велел страже схватить изобретатели и пересчитать, сколько у него карманов. 
- 145 штук, - пересчитала стража.
И велел король выдать изобретателю 145000 золотых, а затем немедленно казнить. 
После чего запретил заниматься изобретательством в своем королевстве под страхом смертной казни.

PM MAIL   Вверх
29Victor29
Дата 22.12.2009, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 22.12.2009

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



Подскажите пожалуйста, где можно найти информацию для написания драйвера для USB-устройств ( можно под DOS , лучше на C/C++ , хотя буду рад любому предложенному Вами варианту ). 
ЗАРАНИЕ БЛАГОДАРЮ ВСЕХ ОТКЛИКНУВШИХСЯ!!!
PM MAIL   Вверх
rthsobakas
Дата 25.12.2009, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 562
Регистрация: 20.9.2007

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



я извиняюсь что тут вмешиваюсь. Я все не читал тока начало. А что если исользовать параметры  железа(тока не говорить никому какого) как ключи при шифровании rsa. То есть прога делает откртый , закрытый ключ, потом расшифровывает прогу в память. Как -нибудь так..  smile 
PM   Вверх
kolobok0
Дата 28.12.2009, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 24.12.2008

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



Цитата(rthsobakas @ 25.12.2009,  21:06)
..А что если исользовать параметры  железа(тока не говорить никому какого) как ключи при шифровании rsa....

1) взять отпечаток ключа под дебагером - два пальца об асфальт.
2) в защите есть парадокс.
  а) защита нужна для коммерческого софта - иначе теряется смысл.
  б) слишком полная и правильная защита отрицательно влияет на распространение софта.

посему помимо защиты, не забывайте дать халяву народу.
а защиту стройте не только на софтверном уровне, но и юзайте железо. оптимальней - ключи.
ещё круче - логическую защиту. это когда взломав софтверную илижелезячную - понимаешь что потратил время впустую smile


удачи Вам
(круглый)
ЗЫ
По поводу расшифровывания программы - см. цербер (дос)
была когда то такая софтинка для защиты.
уход от отладки, изменение среды работы, дешифровка программы на старте.
брешь - защита чужих программ smile

PM MAIL   Вверх
BEOWOLF
Дата 1.2.2010, 02:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 24.8.2007

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



Цитата(17dufa @ 10.12.2009,  14:00)
когда в универе делали подобную лабу привязывались к ID процессора, ID жесткого диска (не тома, а именно диска) или MAC адресу сетевухи. Если будет малейшее желание сломать такую защиту - действительно сломают, ломают даже HASP ключи smile 
*MAC сетевухи в винде, наскока мне известно, вообще мона поменять (при перезагрузке он приравнивается реальному, но во время сеанса можно поменять и все следующие запросы MAC в этом сеансе будут возвращать измененное значение). 
Какие конкретно API использовали - уже не помню, гугл в помощь.

Да забудьте вы наконец о защите программ через ID винчестера, видеокарты и прочего железа, сколько можно писать, что эта защита - полная туфта? Поясню, почему.
Во-первых, вы договариваетесь с клиентом насчёт софта, а не обязываете его привязаться к железу. Может он захочет проапгрейдить камп, или поработать с программой дома/наработе. А может установит программу на внешний винчестер, один на всех.
Во-вторых, группе пользователей ничто не мешает установить VMWare, и спокойно пользоваться несколькими копиями программы якобы под одним и тем же железом. Именно так все и поступают в подобных случаях.
Что делать? Самый лучший вариант - когда пользователь запускает программу, то копия логинится на вашем сервере, когда закрывает программу - logout. И таким образом, лицензионные соглашения всегда будут выполняться - залогиненой сможет быть только то количество копий, о котором договаривались, и не больше, ну а запускаться они смогут с того железа, с которого удобно smile 
PM MAIL   Вверх
Abyx
Дата 4.2.2010, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 601
Регистрация: 3.11.2009

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



BEOWOLF, не везде есть и может быть интернет.
PM MAIL   Вверх
Cтpaнник
Дата 7.2.2010, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(BEOWOLF @  1.2.2010,  02:59 Найти цитируемый пост)
Самый лучший вариант - когда пользователь запускает программу, то копия логинится на вашем сервере, когда закрывает программу - logout.

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

PM MAIL   Вверх
CasperSC
Дата 27.3.2010, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 27.11.2009

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



Цитата(Cтpaнник @  7.2.2010,  15:58 Найти цитируемый пост)
С соответствующими юридическими последствиями для разработчика, разумеется.

А что за это ещё и какие-то последствия могут быть? Ты же не крадёшь конфиденциальную информацию, да ещё и в соглашении можно указать, что программа, соединяется с интернетом. Ну или при проверке новой версии, можно логиниться. Dotfuscator нормально защищает сам код программы?
PM MAIL   Вверх
Yogurt
Дата 11.2.2011, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.8.2009

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



У меня в программе есть функция, которая берёт имя компьютера, шифрует его, и записывает в идентификационный файл. Но сама программа разблокируется только после нажатия определённой последовательности букв на клавиатуре. Нажатия перехватывает PreTranslateMessage. Затем вышеуказанная функция, и затем человек работает уже без меня
Тут единственная проблема, что удалённо программу не поставишь
PM MAIL   Вверх
Akella
Дата 11.2.2011, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


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

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



Цитата(Yogurt @  11.2.2011,  13:53 Найти цитируемый пост)
У меня в программе есть функция, которая берёт имя компьютера, шифрует его, и записывает в идентификационный файл.

А если пользователь изменил имя компьютера? Всё? Переактивация?
PM MAIL   Вверх
Yogurt
Дата 14.2.2011, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 27.8.2009

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



Я за всю жизнь не разу не менял имя просто так. Это делается только при переустановке ОС. При это, естественно, придётся переустанавливать всё ПО.

Я опирался на начала темы, человек пишет, что сам устанавливает. Если все кнопки заблокированы, и разблокируются только после нажатия подряд определённой комбинации. После этого программа работает уже сама, запускается сколько угодно раз без участия разработчика

Код

BOOL CAAADlg::PreTranslateMessage(MSG* pMsg) 
{
    if (pMsg->message == WM_CHAR)
    {
        password += (TCHAR)pMsg->wParam;
        if(password.GetLength() > 10)
            password = password.Right(10);

        if(password.Right(5) == L"jlvby" || password.Right(5) == L"одмин" ||
            password.Right(5) == L"JLVBY" || password.Right(5) == L"ОДМИН")
        {
            //this->GetDlgItem(IDC_BUTTON_SUPEREXPRESS)->EnableWindow(true);        
            this->GetDlgItem(IDC_BUTTON_PARAMETERS_DB)->EnableWindow(true);        
        }

        if(password.Right(8) == L"register")
        {
            FulfilRegistration();
        }

        return 1;
    }
    return CDialog::PreTranslateMessage(pMsg);
}


Это сообщение отредактировал(а) Yogurt - 14.2.2011, 16:35
PM MAIL   Вверх
xvr
Дата 14.2.2011, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(Yogurt @  14.2.2011,  14:23 Найти цитируемый пост)
Я за всю жизнь не разу не менял имя просто так. Это делается только при переустановке ОС.
Это замечательно делается и без переустановки ОС.  
Цитата(Yogurt @  14.2.2011,  14:23 Найти цитируемый пост)
При это, естественно, придётся переустанавливать всё ПО.

Так что - не аргумент  smile 

PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Технологии защиты программного обеспечения | Следующая тема »


 




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


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

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