Форум: "Прочее";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
ВнизАлгоритм ограничения числа запусков программы/времени работы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.02 c