Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Ограничение даты работы своей dll.

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Необходимо по ''коммерческим мотивам'' ограничить дату работы своей dll.
 
Простые варианты:
1. В блоке инициализации получать дату (системное время)
Код:
SYSTEMTIME st;
GetLocalTime(&st);
dll и проверять при каждом запуске не достигли ли какого-то, например, месяца, типа if (st.wMonth >= 5) // May  
2. Сохранять втихаря в реестре количество запусков, а потом не давать жить дальше... Но там regmon эти всякие штуки секет...    
 
У кого есть ''заготовки'' и идеи?

----------
Мы знаем: время растяжимо. Оно зависит от того,
Какого рода содержимым Вы заполняете его. (C. Маршак)

Всего записей: 7855 | Зарегистр. 15-07-2003 | Отправлено: 20:20 24-03-2005 | Исправлено: mihas83, 00:04 25-03-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
системную дату я бы не проверял. Есть много любителей переводить дату. Я бы брал её по датам файлов. Если текущая дата меньше даты установки винды или твоей проги (а лучше оба условия) - бьём тревогу. Но лучше мутную - типа "Беды на винту!!!".

Цитата:
а потом не давать жить дальше...

оформил бы как обращение к какой-либо превигилированой функции - винда ругнёт и сама закроет прогу - дёшево и со вкусом

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 20:39 24-03-2005
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim, делал что-то подобное?
Здесь не надо ''мстить''.
Достаточно сказать, что ''фаза испытаний закончилась''...

Всего записей: 7855 | Зарегистр. 15-07-2003 | Отправлено: 21:51 24-03-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ну тогда просто ругаться при старте MessageBox'ом

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 22:21 24-03-2005
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim

Цитата:
ну тогда просто ругаться при старте MessageBox'ом

Taк что-то такое простенькое есть уже:

Код:
BOOL APIENTRY DllMain( HANDLE hModule, DWORD  ul_reason_for_call,  
                       LPVOID lpReserved)
{
char strTime[13];
SYSTEMTIME st;
GetLocalTime(&st);
 
if (st.wMonth >= 5) // May  
{
     MessageBox(..., "Time expired.");
   return FALSE;
}

но хочется ''поделикатнее''...  

Всего записей: 7855 | Зарегистр. 15-07-2003 | Отправлено: 23:15 24-03-2005
MoKC0DeR



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mihas83
Как ты думаешь сколько времени надо чтоб "отменить" это ограничение ? минуты 2, максимум. Подходи более комплексно. Получай дату несколькими способами - на пряму, по средством создания файла, обращением к реестру. Отсекай всякие fileman и регмоны .Проверяй окннные классы, заголовки окон (пусть просто но юных кацкеров отвадит). Можно подйти по конкретнее проверять запуск всячиских мониторов по патчингу таблицы вызовов (не помню как она называет, та что транслирует int 2eh) и т.п. главное как можно сложнее и неординарнее.

Всего записей: 510 | Зарегистр. 31-03-2004 | Отправлено: 10:18 25-03-2005
SashKa



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Может я и не прав (я не большой спец по Windows) но почему бы в тихаря не писать лог-файл расположенный где-нить в Windows/system32 там около 2тыс файлов. Одним больше, одним меньше. А в лог писать не обязательно дату можно, а к примеру число отработанных дней. Тогда переводит пользователь часы не переводит - не имеет значения. (если только они не будут каждый день выставлять одну и ту же дату, но зато можно ограничить число запусков в день). А файлу-лога можно дать расширение например ну скажем dll. А еще наверное логу нужно менять дату последнего изменения/создания, а то найдут, если знают где искать.

Всего записей: 130 | Зарегистр. 20-04-2004 | Отправлено: 10:37 25-03-2005
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MoKC0DeR

Цитата:
Отсекай всякие fileman и регмоны .Проверяй окннные классы, заголовки окон (пусть просто но юных кацкеров отвадит).

смешно - достаточно сделать снимки системы до и после (тот же ashampoo uninstaller) или вообще переустановить приложения с пом. того же деинсталлятора
mihas83
задача поставлена не полностью: от какого уровня пользователей нужна защита. Серьезного cracker'a такая защита не остановит, а для ламера и то что есть сойдет.
Для тестирования можно давать не полный набор функциональности или с утечками или с постоянным окошком о том что это тестовая программа. В своем варианте я делал утечки и ограничивал функциональность. В любом случае серьезная защита стоит времени и денег - а оно Вам надо?
 
Добавлено:
SashKa
filemonitor или любой деинсталлятор, кроме того это плохой стиль - если каждая программа там свой лог кидать будет, том вообще каша случится

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 10:44 25-03-2005 | Исправлено: WiseAlex, 10:48 25-03-2005
Pentium133



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Грубо говоря любую защиту можно сломать. Главное сделать так чтобы затраты на взлом превышали цену програмы.
Ограничение даты работы своей dll? Таким же методо что и EXE. А методов много. Ручками и быстро надежный не сделаешь. А готовые решения это ASProtect, EXECryptor.
 
SashKa
Есть проги которые отлавливают любые изменения файловой системы. Запускаешь такую прогу, потом нужную тебе и смотришь какие файлы изменились

Всего записей: 126 | Зарегистр. 21-09-2004 | Отправлено: 10:47 25-03-2005
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MoKC0DeR

Цитата:
Как ты думаешь сколько времени надо чтоб "отменить" это ограничение ? минуты 2, максимум

Ну вот и расскажи как ты за минуты 2 это сделаешь?
 SashKa

Цитата:
почему бы в тихаря не писать лог-файл расположенный где-нить в Windows/system32 там около 2тыс файлов.

Формально по безопасности это практически тоже, что и 2-ой способ в моем первом посте...  
WiseAlex

Цитата:
от какого уровня пользователей нужна защита. Серьезного cracker'a такая защита не остановит, а для ламера и то что есть сойдет.

Согласен.
На другой стороне - заказчик, которого есть основания заподозрить в затяжке оплаты проделанной работы. Ему даем как программу так и железо к ней (механическая часть).
Беда в том, что у него есть тоже программисты. Их уровня не знаю...  
Pentium133

Цитата:
Грубо говоря любую защиту можно сломать.  

Спора нет...  

Цитата:
Ручками и быстро надежный не сделаешь. А готовые решения это ASProtect, EXECryptor.  

Тогда и HASP можна повесить...

----------
Мы знаем: время растяжимо. Оно зависит от того,
Какого рода содержимым Вы заполняете его. (C. Маршак)

Всего записей: 7855 | Зарегистр. 15-07-2003 | Отправлено: 11:14 25-03-2005 | Исправлено: mihas83, 11:20 25-03-2005
Pentium133



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:

Цитата:
Ручками и быстро надежный не сделаешь. А готовые решения это ASProtect, EXECryptor.

 
Тогда и HASP можна повесить...
 

 
Я серьезно. Это же простые вещи. Пол часа разбираться. И через 15 минут уже можно что-то нормальное сделать.

Всего записей: 126 | Зарегистр. 21-09-2004 | Отправлено: 11:18 25-03-2005
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Pentium133

Цитата:
Пол часа разбираться. И через 15 минут уже можно что-то нормальное сделать.  

У тебя есть опыт в ASProtect, EXECryptor?
Где копал?
А я HASPами защищаюсь, но сейчас - не тот уровень...  

Всего записей: 7855 | Зарегистр. 15-07-2003 | Отправлено: 11:23 25-03-2005
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mihas83

Цитата:
На другой стороне - заказчик, которого есть основания заподозрить в затяжке оплаты проделанной работы.

можно сочетать ограничение функциональности, утечки, ограничение по времени работы самой программы (например 10минут) + какой-нибудь протект (AsProtect и ему подобные) для затруднения ковыряния в программе - все зависит от стоимости заказа (ПО+железо) и стоимости взлома. Кроме того нужно учитывать людскую лень - часто им проще заплатить вашей конторе, чем искать крэкеров на стороне и платить им. Обычные программисты редко являются очень хорошими крэкерами, т.к. основное время уделяют не этому.

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 11:27 25-03-2005
Pentium133



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
У тебя есть опыт в ASProtect, EXECryptor?  
Где копал?

А чего там копать. Открываешь примеры идущие в комплекте. Да доку посмотреть.

Всего записей: 126 | Зарегистр. 21-09-2004 | Отправлено: 11:34 25-03-2005
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WiseAlex

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

На это и рассчитываю...

Цитата:
Обычные программисты редко являются очень хорошими крэкерами, т.к. основное время уделяют не этому.

Снова солидарен.

Цитата:
можно сочетать ограничение функциональности

На этом этапе не хотелось бы.
Pentium133

Цитата:
Открываешь примеры идущие в комплекте.  

Кинь ссылки, если под рукой.

Всего записей: 7855 | Зарегистр. 15-07-2003 | Отправлено: 11:44 25-03-2005
Pentium133



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Кинь ссылки, если под рукой.  

Под рукой нет. Поиском быстро найдешь.

Всего записей: 126 | Зарегистр. 21-09-2004 | Отправлено: 11:47 25-03-2005
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
mihas83

Цитата:
Обычные программисты редко являются очень хорошими крэкерами, т.к. основное время уделяют не этому.

в принципе да. Но очень хорошие програмисты (которые начали программировать когда о винде ещё неговорили) обычно являются хорошими хакерами. Хакер всегда лучше кракера, так как для первого важен процесс взлома, а для второго деньги
 
о защите. Когдато я сделал защиту - ребята мучились долго. Когда показал исходный код - несколько дней разгребали. Защита работает очень хитро. Проверяем дату хитрым способом. Если она правильна, то запоминаем 0, иначе 1. Гдето ниже (у меня это была прорисовка картинки) в каком-то динамическом массиве, когда я прохожу по нему, я добавляю это значение. Происходит (при неверной дате) лишняя итерация цикла и как следствие - выход за пределы массива. Если массивы динамически создаются и удаляются, то AV гарантирован. ПРитом если масивы постоянно создаются/удаляются, то ошибка будет возникать в самом разном месте
 
идея думаю понятна. Прога может отработать, а может такие глюки давать, что обалдеть.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 12:58 25-03-2005
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OdesitVadim

Цитата:
Хакер всегда лучше кракера, так как для первого важен процесс взлома, а для второго деньги  

Аксиома.

Всего записей: 7855 | Зарегистр. 15-07-2003 | Отправлено: 13:04 25-03-2005
WiseAlex



Софтовых дел М...
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
можно посмотреть и на armadillo (VisualAssist упакован им).

Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 13:07 25-03-2005
mihas83



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WiseAlex

Цитата:
можно посмотреть и на armadillo (VisualAssist упакован им).

Уточни мысль.

Всего записей: 7855 | Зарегистр. 15-07-2003 | Отправлено: 13:15 25-03-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Ограничение даты работы своей dll.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru