shareware - подскажите!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GAL
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 69
Зарегистрирован: 05.11.2004 (Пт) 15:57

shareware - подскажите!

Сообщение GAL » 25.06.2005 (Сб) 10:14

Привет!
Я, конечно, понимаю что все защиты взламываются и все такое, у меня вопрос не по этому.
Я сделал так..
При первом запуске проги создается файл в который вписывется дата первого запуска, а потом при каждом запуске прога сравнивает текущую дату с той что записана в файл.
НО..
Этот файл просто лежит себе в папке с прогой и что стоит его открыть и ручками переправить дату.. :?
Вот собственно и вопрос - как с этим быть?
Поскажите.. :wink:

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 25.06.2005 (Сб) 11:23

Еслы бы на моём месте был тёмыч он сказалбы:
Поиск РУЛИТ!!!

но я, это я!

По пробуй в регист запиши пару щначений, парочку файлов создай! И пиши в них одинаковые значения. Желательно зашифровать, и для каждого файла(или ключа) использовать не один и тотже шифратор, а на один ключ(файл) свой шифратор.

Если одно из значений не совпало то прога вылетает.

Кстати такие защиты тоже взламываються! Протсым нажатием на часиках сниху справа, и изменением даты! Так что даты не есть хорошо! Лучше сделай так : ограничить возможности, а при покупке полной выслать рег ключ!

GAL
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 69
Зарегистрирован: 05.11.2004 (Пт) 15:57

Сообщение GAL » 25.06.2005 (Сб) 11:41

Спасибо. Идею подал, подумать есть о чем..

neic
Жираф
Жираф
 
Сообщения: 492
Зарегистрирован: 13.02.2005 (Вс) 23:44
Откуда: Сланцы

Сообщение neic » 25.06.2005 (Сб) 11:49

Всегда пожалуйста ;-)

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 25.06.2005 (Сб) 12:36

neic писал(а):.
.
.
.
Лучше сделай так : ограничить возможности, а при покупке полной выслать рег ключ!

:lol: Кстати рег ключи тож очень легко взламываються... дизасемблерами. Конечно рег-ключ это лучше чем проверка даты, если этот рег-ключ использовать как следует >>

1. Невкоем случае нельзя сразу проверять подлинность ключа прямо в том диалоге где его ввели (т.е показать: MsgBox "Ключ введен неверен!").

2. В программе, для черной хитрости, создать переменную которая так и бедет называться, например g_PrgRegistered As Boolean - и если она вдруг TRUE (не дай бог :twisted:), считай взломщик повелся на это (...а там при проверке можешь ему формат сделать, пол Wind'ы потереть, для ключа HKEY_LOCAL_MACHINE\Software сделать RegDeleteKey(), ну вообщем пофантазируй :lol: ).

3. Использовать замечательную фун-цию IsDebuggerPresent, которая скажет тебе TRUE если злой человек трассирует твой прогр.-код для того чтоб чего-нить свое дописать... при зн. True - можеш искуссно выполнить, нечего нещедя, функцию FatalAppExit, а ещё вырубить/стартануть ему комп с флагом EWX_FORCE, чтоб там у него нечё не зафиксироваллось в чем же дело.

4. Компилировать прогу тока в Псевдо коды (P-Code), тем самым мы добавим взломщику работы :lol: , в которой ему придеться, фильтровать программные функции и фукнкции которые отсутствуют в программе т.е имееют только ссылки на фун-ции в динамических библиотеках.
On Fatal Error Resume Next

Morpheus
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 25.06.2005 (Сб) 6:08
Откуда: Montreal

Сообщение Morpheus » 25.06.2005 (Сб) 14:44

ИМХО и дату в ини файл можно записать, главное в зашифрованом виде. и лучше разными шифрами в разных местах :)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 25.06.2005 (Сб) 14:48

Eduard писал(а):3. Использовать замечательную фун-цию IsDebuggerPresent, которая скажет тебе TRUE если злой человек трассирует твой прогр.-код для того чтоб чего-нить свое дописать...

Только в том случае, если "злой человек" этого захочет. Если не захочет - она вернёт FALSE.
Т.ч. это фиговая защита, мягко говоря.
Изображение

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 25.06.2005 (Сб) 14:51

Morpheus писал(а):ИМХО и дату в ини файл можно записать, главное в зашифрованом виде. и лучше разными шифрами в разных местах :)

Сказали же... все это делаеться простым способом: двойным кликом по часикам и смены даты :lol:
On Fatal Error Resume Next

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 25.06.2005 (Сб) 14:56

tyomitch писал(а):Только в том случае, если "злой человек" этого захочет. Если не захочет - она вернёт FALSE.
Т.ч. это фиговая защита, мягко говоря.

Да я честно говоря в курсе про эту защиту :roll: это так можно просто по умолчанию использовать её... Пока M$ лучше фун-цию. не придумали же...
On Fatal Error Resume Next

Гриша
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 20.06.2005 (Пн) 17:39

Сообщение Гриша » 25.06.2005 (Сб) 15:27

Да тут не надо так мучатся... Создаём шифрованный файл, в котором записываем дату и время запуска программы.. Так как по идее текущая дата всегда должна быть больше последней записанной, легко можно отследить изменение системного времени. Для надёжности можно создать два или три таких файла. А дальше - дело фантазии!
Код: Выделить всё
msgbox "Попробуй на...бать Де Билла Гейтса... А меня не выйдет!"
end

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

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 25.06.2005 (Сб) 15:32

Гриша писал(а):Да тут не надо так мучатся... Создаём шифрованный файл, в котором записываем дату и время запуска программы.. Так как по идее текущая дата всегда должна быть больше последней записанной, легко можно отследить изменение системного времени. Для надёжности можно создать два или три таких файла. А дальше - дело фантазии!
Код: Выделить всё
msgbox "Попробуй на...бать Де Билла Гейтса... А меня не выйдет!"
end

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

А чего стоит вернуть дату на тот день, кокда она установилась... это уж пуще пареной репы... и тут мимо :lol:
On Fatal Error Resume Next

Гриша
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 20.06.2005 (Пн) 17:39

Сообщение Гриша » 25.06.2005 (Сб) 15:47

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

GAL
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 69
Зарегистрирован: 05.11.2004 (Пт) 15:57

Сообщение GAL » 25.06.2005 (Сб) 16:20

Тогда давайте подробней о шифровании...
Как зашифровать?
Код, если можно, хочу ознакомиться.

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 25.06.2005 (Сб) 16:45

Гриша

RegMon, FileMon первые проги при исследовании, запускаються ДО инсталяции исследуемой программы :wink:
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 25.06.2005 (Сб) 18:37

2GAL да в зял и зашифровал в RC4, и ключ для дешифровки храни как синицу ока :lol:
On Fatal Error Resume Next

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 25.06.2005 (Сб) 18:51

Eduard писал(а):
tyomitch писал(а):Только в том случае, если "злой человек" этого захочет. Если не захочет - она вернёт FALSE.
Т.ч. это фиговая защита, мягко говоря.

Да я честно говоря в курсе про эту защиту :roll: это так можно просто по умолчанию использовать её... Пока M$ лучше фун-цию. не придумали же...

Эта функция существует в Win32API совсем не для защиты от отладчиков.
Изображение

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 25.06.2005 (Сб) 18:54

Кстати, народ. В то время как вы решаете, где спрятать дату регистрации, трезвомыслящий взломщик, поставит брейкпоинт на то место где Ваша программа определится, зарегена она или нет, а конкретно на то место где скажем она напечатает в заголовке "триал" или еще че нить :)
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 25.06.2005 (Сб) 18:55

tyomitch писал(а):Эта функция существует в Win32API совсем не для защиты от отладчиков.

нука поподробнее отсюда :roll:
On Fatal Error Resume Next

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 25.06.2005 (Сб) 19:27

Eduard писал(а):
tyomitch писал(а):Эта функция существует в Win32API совсем не для защиты от отладчиков.

нука поподробнее отсюда :roll:

RTFMSDN
Изображение

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 27.06.2005 (Пн) 15:03

Короче...

Трудозатраты на создание защиты как правило выше, чем трудозатраты на ее вскрытие. Если нужно скрыться от "тупых юзеров", ключа в реестре достаточно. Если от продвинутых - лучше и не пытаться :)

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 29.06.2005 (Ср) 7:26

uhm писал(а):Трудозатраты на создание защиты как правило выше, чем трудозатраты на ее вскрытие. Если нужно скрыться от "тупых юзеров", ключа в реестре достаточно. Если от продвинутых - лучше и не пытаться :)

... и что ты предлогаешь тада :roll:
On Fatal Error Resume Next

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 29.06.2005 (Ср) 10:12

а) Делать программу Freeware и надеяться на совестливых пользователей.

б) Сделать программу с встроенными напоминалками и тормозилками и надеяться на пользователей, которым они скоро надоедят.

в) Сделать минимальную защиту (типа ключа в реестре) и надеяться на тупых пользователей, которые не смогут ее сломать.

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 29.06.2005 (Ср) 11:11

uhm писал(а):а) Делать программу Freeware и надеяться на совестливых пользователей.

б) Сделать программу с встроенными напоминалками и тормозилками и надеяться на пользователей, которым они скоро надоедят.

в) Сделать минимальную защиту (типа ключа в реестре) и надеяться на тупых пользователей, которые не смогут ее сломать.

ну тада уж лучше делать в стиле Donate! :lol:
On Fatal Error Resume Next

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 29.06.2005 (Ср) 14:28

Если в стиле donate... тогда совсем не будут платить! Один мой знакомый - Илья Ульянов - автор многофункционального текстового редактора PolyEdit - в свое время переделал редактор в donationware-продукт. Через 1,5 года все вернулось на круги своя. Никто толком не давал денег на развитие программы, пришлось найти спонсора и переделать программу обратно под shareware. Кстати, защита там весьма неплохая. Ни разу не видел стоящего крэка и тем более - серийника.
Моду создают модоки, а распространяют модозвоны.

FolderTEMP
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 29.06.2005 (Ср) 18:06

Сообщение FolderTEMP » 29.06.2005 (Ср) 19:00

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

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 29.06.2005 (Ср) 19:10

Замечательный способ, только один недостаток: взламывается даже ребёнком без напряжения серого вещества.

Eduard
Бывалый
Бывалый
 
Сообщения: 254
Зарегистрирован: 31.08.2003 (Вс) 17:12
Откуда: Эстония

Сообщение Eduard » 29.06.2005 (Ср) 19:34

2FolderTEMP да ты выши посты читай, уже не одну сотню раз это предлагали... и не один раз это взламывали :lol:
On Fatal Error Resume Next


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 80

    TopList