Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.12;
Скачать: CL | DM;

Вниз

Алгоритм ограничения числа запусков программы/времени работы   Найти похожие ветки 

 
kaZaNoVa ©   (2006-02-20 13:52) [0]

Покритикуйте алгоритм плиз :)

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

Преимущество - нельзя будет заранее сказать, где на конкретном компьютере хранится файл/ключ с датой-ограничением.

а считывать информацию можно, как поступают некоторые хитрые программы - не прямым запросом нужного файла (привет, Filemon :)) а например перебором в цикле поиска файлов в папке и т.д. - так что найти нужный файл будет очень непросто - что, имхо, сильно затруднит "обман" программы .. ;))

(будем считать, что сама программа упакована хорошим EXE-криптором, и её не представляется возможности отлаживать/дизаасембловать непрофессионалу ..)

так же,интересно, у кого какие есть идеи, как лучше организовывать подобную защиту ... ;)

заранее спасибо.


 
antonn ©   (2006-02-20 14:29) [1]


> (будем считать, что сама программа упакована хорошим
> EXE-криптором, и её не представляется возможности
> отлаживать/дизаасембловать непрофессионалу ..)

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


 
Reindeer Moss Eater ©   (2006-02-20 14:48) [2]

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

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


 
Reindeer Moss Eater ©   (2006-02-20 14:54) [3]

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

Ерунда это. Имя файла может быть очень случайным. Путь к файлу случайным уже не будет. А если и будет, то это только облегчит его поиск.
Забудь.


 
Курдль ©   (2006-02-20 14:57) [4]

Какие проблемы? Ставишь с программой оракл. Пароль ДБО похерь. Дальше - по вкусу.


 
kaZaNoVa ©   (2006-02-20 14:58) [5]

Reindeer Moss Eater ©   (20.02.06 14:54) [3]
а если держать файл в какой-нить системной паке?)) и  с переделанной датой , там тысячи файлов.. не ттак то просто будет найти нужный ..


 
Курдль ©   (2006-02-20 15:02) [6]


> kaZaNoVa ©   (20.02.06 14:58) [5]
> а если держать файл в какой-нить системной паке?))


Где бы ты что-то не держал, все равно перехватить факт записи в файл не сложно. А писать в файл придется - иначе как считать "кол-во запусков"?


 
начинающий ©   (2006-02-20 15:46) [7]

А Вы видели в диалоге "Установка и удаление программ" пишет напротив программы как часто её запускали последних 30 дней. Кто это подщитывает? Может, можно использовать эту статистику?


 
Игорь Шевченко ©   (2006-02-20 15:53) [8]

kaZaNoVa ©   (20.02.06 14:58) [5]

"всякого новорожденного младенца надо хорошенько высечь, приговаривая при этом: не пиши, не пиши, не пиши, дабы еще в младенчестве унять писательский зуд"
(с) А.П.Чехов


 
Слоник   (2006-02-20 15:54) [9]


> начинающий ©   (20.02.06 15:46) [7]
>
> А Вы видели в диалоге "Установка и удаление программ" пишет
> напротив программы как часто её запускали последних 30 дней.
>  Кто это подщитывает? Может, можно использовать эту статистику?
>

а у Вас это работает? у меня, к примеру, ежедневно/еженочно запускаемая/перезапускаемая VS там помечена как "иногда" используемая.


 
Jeer ©   (2006-02-20 15:55) [10]

Курдль ©   (20.02.06 15:02) [6]

> иначе как считать "кол-во запусков"?


Давать pop-up объявление пользователю для записи в ежедневник обычным карандашом ?


 
kaZaNoVa ©   (2006-02-20 15:58) [11]

Курдль ©   (20.02.06 15:02) [6]
А писать в файл придется - иначе как считать "кол-во запусков"?

необязательно :) можно закодировать в имени, и читая  список файлов в директории узнать .:)

начинающий ©   (20.02.06 15:46) [7]
интересная идея . ;)

Игорь Шевченко ©   (20.02.06 15:53) [8]
с чего-то же надо начинать :))


 
Lamer@fools.ua ©   (2006-02-20 16:02) [12]

>>kaZaNoVa ©   (20.02.06 14:58) [5]

>а если держать файл в какой-нить системной паке?))
Откуда уверенность, что будут права на запись в системную папку?


 
vidiv ©   (2006-02-20 16:07) [13]


> можно закодировать в имени

Может еще в поток записать. Имя потока - закодированное имя файла. Перечислить потоки файла, насколько я помню - нельзя.


 
Reindeer Moss Eater ©   (2006-02-20 16:12) [14]

Может еще в поток записать. Имя потока - закодированное имя файла. Перечислить потоки файла, насколько я помню - нельзя.

Устанавливаем программу на FAT и вся защита кончается.


 
Lamer@fools.ua ©   (2006-02-20 16:13) [15]

"Жаба хитра. Но маленький хрущ с винтом много хитрее её." ©


 
kaZaNoVa ©   (2006-02-20 16:13) [16]

vidiv ©   (20.02.06 16:07) [13]
хорошая идея .. :))  но тока потребуется NTFS, или провал защиты на корню..:(  


> насколько я помню - нельзя

имхо можно . .где-то даже был пример . (например WinRAR умеет копировать NTFS-потоки)

Lamer@fools.ua ©   (20.02.06 16:02) [12]
Откуда уверенность, что будут права на запись в системную папку?

большинство программ, при первоначальной установке требуют права админа, что естественно, а там и права  в системную папку будут ..


 
Reindeer Moss Eater ©   (2006-02-20 16:15) [17]

большинство программ, при первоначальной установке требуют права админа, что естественно, а там и права  в системную папку будут ..

И для работы защиты админские права попросить.
:)


 
Defunct ©   (2006-02-20 16:17) [18]

kaZaNoVa ©   (20.02.06 13:52)  

Сорить в реестре - нехорошо..
Предлагаю такой способ, годится только для ограничений по дате (без засорения реестра):

создать вспомогательный exeшник - загрузчик, который бы в ресурсах содержал код программы.
При первом запуске загрузчика поменять прошить "ключ" в дату создания каталога виндовс или program files или любого другого служебного каталога таким образом, чтобы проанализировав дату этого каталога в последствии можно было однозначно выделить учтойчивую однобитную сигнатуру - которая означает, что программа уже была установлена.

Далее - извлеч из собственных ресурсов тело программы - создать новый exe и добавить в него служебную информацию - дату создания в зашифрованном виде. После чего запустить созданную программу. Программа при первом запуске удалает либо вытирает из загрузчика ресурс с собственным телом. Ну а далее получается простой анализ даты прошитой в тело exeшника.


 
kaZaNoVa ©   (2006-02-20 16:18) [19]

Reindeer Moss Eater ©   (20.02.06 16:15) [17]
И для работы защиты админские права попросить.


ага, или прога гордо откажется работать, попутно проверяя что её не пытаются обмануть, если обнаружен подобный факт - то вызывать перезагрузку:))))


 
kaZaNoVa ©   (2006-02-20 16:19) [20]

Defunct ©   (20.02.06 16:17) [18]
интересная идея:))
еще бы предусмотреть возможность перевода системных часов ....


 
Defunct ©   (2006-02-20 16:21) [21]

Defunct ©   (20.02.06 16:17) [18]

такой способ (с модификацией даты) применялся в вирусе FT2 для грубого распознавания зараженных/незараженных файлов при просмотре каталогов findfirst/findnext.


 
Defunct ©   (2006-02-20 16:22) [22]

и для сокрытия истинной длины файлов (stealth механизм).


 
Игорь Шевченко ©   (2006-02-20 16:29) [23]

kaZaNoVa ©   (20.02.06 15:58) [11]


> с чего-то же надо начинать


Начни с написания полезных программ



Страницы: 1 вся ветка

Текущий архив: 2006.03.12;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.042 c
1-1139573384
DevBoy
2006-02-10 15:09
2006.03.12
Borland отказывается от дальнейшего развития Delphi!


2-1140530847
Korefey
2006-02-21 17:07
2006.03.12
преобразование числа в строку


15-1140438952
Cosinus
2006-02-20 15:35
2006.03.12
Windows Host Script и загрузка процессора.


1-1139388998
Дмитрий_Б
2006-02-08 11:56
2006.03.12
Текст в QR под углом 90 градусов


2-1140528763
DDS
2006-02-21 16:32
2006.03.12
Перемешивание!