|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
как защитить свой exe файл от копирования?
Здравствуйте уважаемые форумчане!
Подскажите, пожалуйста, как защитить свою программку от несанкционированного копирования. Т.е. готовый exe-файл устанавливается пользователю на компьютер. Как сделать так, чтобы при копировании на другой комп этот файл не работал, не запускался? Прописывание в реестре windows использую. Хотелось защитить посложнее. Понимаю, что все можно взломать, но как защитить хотя бы так, чтобы пришлось помучиться или поискать специалиста, который умеет. И еще такой вопрос - возможно ли как-то "распаковать" exe-файл и просмотреть кодинг? Как и с помощью чего это делается? Возможно ли внести коррективы в такой файл, чтобы он заработал по-новой? Подскажите какую литературу почитать по этому вопросу. Большое спасибо. |
#2
|
|||
|
|||
Делай привязку к железу
|
#3
|
|||
|
|||
А все остальные ответы на http://cracklab.ru
|
#4
|
|||
|
|||
а если делать привязку к железу, получается нужно заранее знать конфигурацию того оборудования куда будет установлена прога? подскажите, пожалуйста, функции (для тех кто в танке). Программка написана на Дельфи.
Насколько это надежно? а то начет вопроса возможно ли как-то "распаковать" exe-файл и просмотреть кодинг? Как и с помощью чего это делается? Возможно ли внести коррективы в такой файл, чтобы он заработал по-новой? несовсем понятно - возможно или нет? Недавно была ситуация: в файле стояло ограничение на использование до определенной даты - взломали. Мне интересно как это сделали? Получается что в экзешник залезли и продлили дату или можно как-то по-другому? Системная дата нормальная, т.е. ее не переставляют. Спасибо за ответы. А можно ли еще сделать как-нибудь так, чтобы при попытке взлома экзешника он развалился и его невозможно было собрать? А что можете сказать по поводу контрольной суммы? Помогает? Насколько? Последний раз редактировалось Только учусь, 15.08.2009 в 12:05. |
#5
|
|||
|
|||
Привязка к жесткому диску...
Код:
Function TfmMain.Get_C_Tom_Number: dword; var SerialNum : dword; a, b : dword; Buffer : array [0..255] of char; begin if GetVolumeInformation('c:\', Buffer, SizeOf(Buffer), @SerialNum, a, b, nil, 0) then result:=SerialNum; end; |
#6
|
|||
|
|||
Akzes, спасибо!!!
А насколько это надежно? а то никто так и не ответил. Я так понимаю если есть возможность распаковки экзешников (дешифрации, кажется), то как ни крути, к чему не подвязывай - распакуют, подставят нужный номер и усё. Или все-таки при сборе такого файла обратно он будет работать некорректно? Последний раз редактировалось Только учусь, 15.08.2009 в 12:19. |
#7
|
|||
|
|||
Запомни - взомать можно все...
вопрос - за сколько времени... эта защита не против хакеров, а против обывателей (обычных пользователей)... |
#8
|
|||
|
|||
Да, понимаю. Хотелось бы чтоб побольше времени потратили если уж возьмутся. Была мысля продать свою программку, а вот как защитить посложнее не знаю.
От простых обывателей и прописи в реестре достаточно. Авторские права - ну есть, зарегистрирована прога, а толку? судиться? хотелось бы чтоб помучились подольше. Может что подскажете? Спасибо. Последний раз редактировалось Только учусь, 15.08.2009 в 13:52. |
#9
|
|||
|
|||
ты видел хоть одну платную программу, для которой не было бы кряка...
я нет... так что делай привязку как я тебе предложил, и все будет ок... насчет надежности, смотря каким шифром возпользуешься... у меня ключики до сих пор на прогу покупают... значит взломать - затратней, чем купить... |
#10
|
|||
|
|||
Цитата:
а каким шифром можно воспользоваться для большей надежности? Подскажи, я полный дуб в этом Цитата:
клево! я тоже хочу научиться. Спасибо, что не игнорируешь. |
#11
|
|||
|
|||
|
#12
|
|||
|
|||
поробую разобраться.
подскажи, пожалуйста, а что с этим делать дальше? извини, не догоняю я вообще этой темы первый раз касаюсь, понятия не имею что к чему. Спасибо еще раз что тратишь на меня свое время. Последний раз редактировалось Только учусь, 15.08.2009 в 18:23. |
#13
|
|||
|
|||
дальше тебе необходимо внимательно посмотреть на код в юните, который я тебе посоветовал...
там ты найдешь две очень интересные функции: Код:
function EncryptData(sData, sPassword: string): string; function DecryptData(sData, sPassword: string): string; вторая дешифрует строку sData обратным обазом... теперь как это использовать в своей проге: я написал тебе код процедуры которая возвращает серийник винта... теперь можно сделать авторизационную страничку где будет проверка, запускалось ли это приложение... проверка на словах заключается в следующем: - происходит запуск, считывается серийник и шифруется - зашифрованный сравнивается с эталоном (например в БД, хранится номер того винта, откуда приложение было скопировано) - если они не совпадают то значит, оно уже зарегистрировано - если нет то предлагаем зарегистрироваться далее надеюсь уж сам сообразишь... программы ведь пишешь значит и защиту сделаешь... удачи... |
#14
|
|||
|
|||
Akzes, цены тебе нет!
Теоретически пока понятно, сегодня/завтра приступлю к написанию кода. Цитата:
Эталон - это получается зашифрованный серийник? Или при проверке дешифруем? Извини, если что не так спрашиваю... |
#15
|
|||
|
|||
ты спрашивал про защиту, значит, твое приложение кто то просто копирует и пользуется, если он копирует с того компа где уже зарегистрирована твоя программа, то в базе данных уже есть зашифрованный серийник, соответсвенно перенеся твою прогу на свой комп этот нарушитель авторских прав, запускает ее, а твоя прога берет и получает серийник уже нового винта шифрует и сравнивает с зашифрованным значением хранящимся в базе, если они не совпадают, то нарушителю предлагается зарегить прогу(купить у тебя)...
вот и вся защита... взломать сложнее, чем купить я те честно скажу... что за софт, ты пишешь? |