Re[2]: Как правильно сделать 30ти дневную версию программы
От: Firstborn Латвия  
Дата: 30.06.05 13:53
Оценка: +1
Здравствуйте, SSSerg, Вы писали:

SSS>А нельзя писать в себя? В exe файл? с MZ заголовком?


Первый же антивирусник назовёт такой софт неизвестным науке мегавирусотрояночервём, замигает всеми красными лампочками, завоет всеми сиренами, и вот тут-то репутация софта и накроется медным тазом раз и навсегда...
Re[8]: Как правильно сделать 30ти дневную версию программы
От: FDSC Россия consp11.github.io блог
Дата: 30.06.05 14:46
Оценка:
Здравствуйте, MNZ, Вы писали:



MNZ>Теперь понятней?


Это и так понятно.
Немножно ерунду наверное я сказал.
Re[3]: Как правильно сделать 30ти дневную версию программы
От: FDSC Россия consp11.github.io блог
Дата: 30.06.05 14:48
Оценка:
Здравствуйте, SSSerg, Вы писали:

SSS>Здравствуйте, FDSC, Вы писали:

FDS>>По моему лучше делать контроль числа запусков или времени работы в программе. Пользователю приятнее и самому удобнее.
SSS>Тут такая ситуация что заказчик может ее не выключать более после первого запуска.
SSS>Я думал но тогда 30 запусков могут проходить больше года

Дак попробуй считать время работы программы! Впрочем, не знаю, стоит ли — получается, что 30-дневная копия, что время работы программы — одно и тоже.
Между прочим над этим ещё подумать надо.
Re[2]: Как правильно сделать 30ти дневную версию программы
От: FDSC Россия consp11.github.io блог
Дата: 30.06.05 14:52
Оценка:
Здравствуйте, SSSerg, Вы писали:

SSS>А нельзя писать в себя? В exe файл? с MZ заголовком?

SSS>Была бы отличная система опрделения первого запуска..
SSS>Хотя если конечно сам ехе-шник тоже юзер не поменяет...

Вся проблема в том, куда можно записать файл так, что бы пользователь его не мог стереть.
Что-нибудь вроде этого подойдёт C:\Windows\System32\SuDrv.vxd ?

С антивирусами проблемы особой, наверное, не будет. Но exe файл явно находится в той же директории, что и он сам — стереть директорию и всё.
Re[3]: Как правильно сделать 30ти дневную версию программы
От: wellwell Австралия https://www.softperfect.com
Дата: 30.06.05 15:06
Оценка:
"FDSC" <42583@users.rsdn.ru> wrote in message news:1250053@news.rsdn.ru...
> Здравствуйте, SSSerg, Вы писали:
> Вся проблема в том, куда можно записать файл так, что бы пользователь его не мог стереть.
> Что-нибудь вроде этого подойдёт C:\Windows\System32\SuDrv.vxd ?

Есть еще интересный метод (только для NT+ и програм запускаемых как сервис). Создается в реестре ключ с правами NO ACCESS и владельцем ключа делается пользователь SYSTEM. Такой ключ нельзя удалить обычным регедитом. Хотя от продвинутых юзеров это увы не поможет.
Posted via RSDN NNTP Server 1.9
Re[4]: Как правильно сделать 30ти дневную версию программы
От: FDSC Россия consp11.github.io блог
Дата: 30.06.05 17:31
Оценка:
Здравствуйте, wellwell, Вы писали:

>> Здравствуйте, SSSerg, Вы писали:

>> Вся проблема в том, куда можно записать файл так, что бы пользователь его не мог стереть.
>> Что-нибудь вроде этого подойдёт C:\Windows\System32\SuDrv.vxd ?

W>Есть еще интересный метод (только для NT+ и програм запускаемых как сервис). Создается в реестре ключ с правами NO ACCESS и владельцем ключа делается пользователь SYSTEM. Такой ключ нельзя удалить обычным регедитом. Хотя от продвинутых юзеров это увы не поможет.


Тут ка раз обсуждаем, как без реестра обойтись.
Re[5]: Как правильно сделать 30ти дневную версию программы
От: devic Fast Version Control System
Дата: 30.06.05 17:40
Оценка:
я думаю просто демки делать, которые будут работать до определенного срока.
К примеру юзер скачал демку, а она работает до 1 сентября 2005. Если он поставит ее 29 августа, то и работать будет 2 дня
Re[6]: Как правильно сделать 30ти дневную версию программы
От: wellwell Австралия https://www.softperfect.com
Дата: 30.06.05 18:33
Оценка:
"devic" <37574@users.rsdn.ru> wrote in message news:1250280@news.rsdn.ru...
> я думаю просто демки делать, которые будут работать до определенного срока.
> К примеру юзер скачал демку, а она работает до 1 сентября 2005. Если он поставит ее 29 августа, то и работать будет 2 дня

Это отламывется не сложнее, достаточно найти вызов GetSystem(Local)Time и дело в шляпе, программа будет вечная.
Posted via RSDN NNTP Server 1.9
Re: Как правильно сделать 30ти дневную версию программы
От: aleckstein Россия  
Дата: 30.06.05 20:03
Оценка: +1
Здравствуйте, SSSerg, Вы писали:

SSS>Необходимо что бы программа отработала на компьютере не более 30 дней.

SSS>Варианты с проверкой системного времени — отпадают в силу легкого его иземенения..
SSS>Вопросы
SSS>- как замерять (есть задумка с интернет синхронизацией)
SSS>- где и как лучше хранить дату начала использования программы?


Самый, на мой взглад, безопасный способ хранения — выдавать тридцати дневные ключи лицензии с твоего Интернет сервера (если у тебя есть такая возможность). На сервере можно генерировать ключ, например, такого содержания (в форме ini):

[key]
Created=2005-06-30 (17:41) UTC
Expires=2006-07-29 (17:41) UTC

[Signature]
Value=F63818C832FD730AD9794F13B8C26F53811DB1C85B5300F1BBA7B06B1A0C0B1F15E6394F985B

Где Value раздела Signature будет цифровой подписью, созданной с помощью закрытого ключа, хранящегося на сервере, к параметрам Created и Expires. В программе останется проверить верность подписи с помощью открытого ключа.

Все это несколько надежней чем реестр, откуда данные можно легко удалить (в нашей ситуации прога не запустится без ключа). Правда придется внедрять криптографию; нужно позаботиться о том, чтобы никто не мог подменить открытый ключ (для этого его можно сохранить в исполняемый файл, и при запуске файла проверять его целостность чем-нибудь вроде CSR32, MD5 или SHA1). Закрытый ключ на сервере нужно защитить от воровства, да и к тому же от проверок перевода часов тебя это тоже не освободит, зато таким образом можно легко создать систему выдачи лицензий, как триал, так и целостных. В общем, решать тебе ибо это очень трудоемкая работа, но по-моему она стоит того. А идея с реестром очень бональна и к тому же его легко отследть с помощью программ типа RegMon.

PS
Если есть деньги (около 100 вечно зеленых) покупай ASProtect (http://www.aspack.com/ может и ру — не помню) и не парься: в этой программе есть все (она использует механизмы, подобные описанным выше). Защиту обеспечит надежную.


PPS
Горькой правдой будней остается то, что прогу скорее всего всеравно поломают — главное чтобы не каждый дилетант и середнечек в области крякинга смог это сделать.
acta non est fabula — представление не окончено
Re[7]: Как правильно сделать 30ти дневную версию программы
От: devic Fast Version Control System
Дата: 30.06.05 20:31
Оценка:
Здравствуйте, wellwell, Вы писали:

W>"devic" <37574@users.rsdn.ru> wrote in message news:1250280@news.rsdn.ru...

>> я думаю просто демки делать, которые будут работать до определенного срока.
>> К примеру юзер скачал демку, а она работает до 1 сентября 2005. Если он поставит ее 29 августа, то и работать будет 2 дня

W>Это отламывется не сложнее, достаточно найти вызов GetSystem(Local)Time и дело в шляпе, программа будет вечная.


а вот и нет

1. Можно не только вызов делать, а к примеру смотреть дату какого нибудь файла.
2. Смотреть с разных мест по определенным событиям. Юзер отркыл, закрыл, написал, нажал и т.д.

ну а самое главное, демка на то и демка, в ней нету каких-нибудь важных операций.
Не типа ЕСЛИ РЕГАНА ТОГДА ИНАЧЕ, а кода нету там вообще. Ломать нечего


Так, что мое мнение это самый лучший вариант.
Re[8]: Как правильно сделать 30ти дневную версию программы
От: wellwell Австралия https://www.softperfect.com
Дата: 30.06.05 21:26
Оценка:
"devic" <37574@users.rsdn.ru> wrote in message news:1250425@news.rsdn.ru...
> 1. Можно не только вызов делать, а к примеру смотреть дату какого нибудь файла.

Ага, у меня вот тут как раз файл лежит, создан в 2010 году

> 2. Смотреть с разных мест по определенным событиям. Юзер отркыл, закрыл, написал, нажал и т.д.

> ну а самое главное, демка на то и демка, в ней нету каких-нибудь важных операций.

Тоже вариант (и тоже ненадежный .
Posted via RSDN NNTP Server 1.9
Re[9]: Как правильно сделать 30ти дневную версию программы
От: devic Fast Version Control System
Дата: 30.06.05 21:42
Оценка:
W>Ага, у меня вот тут как раз файл лежит, создан в 2010 году

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

W>Тоже вариант (и тоже ненадежный .


Надежнее я не вижу, поэтому так я и собираюсь делать для себя, чего советую и автору топика.
Re[4]: Как правильно сделать 30ти дневную версию программы
От: pearlie Россия https://kochetkov.github.io
Дата: 01.07.05 04:07
Оценка:
wellwell пишет:
> Есть еще интересный метод (только для NT+ и програм запускаемых как
сервис). Создается в реестре ключ с правами NO ACCESS и владельцем ключа
делается пользователь SYSTEM. Такой ключ нельзя удалить обычным
регедитом. Хотя от продвинутых юзеров это увы не поможет.

at <время_запуска> /interactive regedt32.exe

и все...
Posted via RSDN NNTP Server 1.9

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re: Как правильно сделать 30ти дневную версию программы
От: Relayer http://www.strongbit.com
Дата: 01.07.05 21:30
Оценка:
Здравствуйте, SSSerg, Вы писали:

SSS>Необходимо что бы программа отработала на компьютере не более 30 дней.

SSS>Варианты с проверкой системного времени — отпадают в силу легкого его иземенения..

а ты подумай над Windows и WinAPI. там есть такая уйма мест где можно глянуть время а дальше все просто — чтото с чемто не совпало — GPF или молча закрываемся.
с интернетом связываться не рекомендую ... фаерволы и тп.

with best protection
Andre Belokon
http://www.strongbit.com
Re[3]: Как правильно сделать 30ти дневную версию программы
От: SSSerg  
Дата: 05.07.05 12:33
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте, SSSerg, Вы писали:


SSS>>Забыл добавить...программа 16 битная. Пишу на MSVC v1.5

SSS>>О реестрах можно только мечтать — только ini файлы...

А>Простите, а какой у вас там сейчас год?


Год то наш.. просто проект староват..
... << RSDN@Home 1.1.3 stable >>
Re: Как правильно сделать 30ти дневную версию программы
От: SSSerg  
Дата: 05.07.05 12:33
Оценка:
Здравствуйте, SSSerg, Вы писали:

SSS>Необходимо что бы программа отработала на компьютере не более 30 дней.

SSS>Варианты с проверкой системного времени — отпадают в силу легкого его иземенения..
SSS>Вопросы
SSS>- как замерять (есть задумка с интернет синхронизацией)
SSS>- где и как лучше хранить дату начала использования программы?

Я сделал так.
1) Отвязался от системного времени. — использую интернет сервера..
2) При первом (надеюсь первом ) запуске прога создает файлик DLL в SYSTEM
Туда пишется всякая отвлекаюшая информация из заголовка обычной dll.В середине
пишется шифрованная дата начала запуска.
3) При запуске программа сравнивает текущее интернет время с начальным.
Минус в том что если юзер просечет файл...
... << RSDN@Home 1.1.3 stable >>
Re[8]: Как правильно сделать 30ти дневную версию программы
От: Lepsik Гондурас https://www.kirdyk.club/
Дата: 18.08.05 05:03
Оценка: -1
MNZ>Так в том и смысл. Константные строки в программе можно посмотреть, открыв исполняемый файл в том же блокноте. Шифрование приведёт к тому, что сделать это будет невозможно, но не более того. В реестр-то всё записывается в прежнем, расшифрованном виде. Я имею в виду, имена веток реестра в функции API передаются расшифрованными. Более того, сам факт записи в реестр по прежнему присутствует. А такие утилиты как RegMon позволяют проследить, какие ветки реестра открывало, читало, изменяло, записывало и удаляло приложение. И хоть зашифруйся. Теперь понятней?

можно же писать не в одну а в несколько сотен. Чисто чтобы ручками было это трудно сделать. причем как в свои сознаыые так и в существующие.
Re[2]: Как правильно сделать 30ти дневную версию программы
От: undef_define Украина  
Дата: 18.08.05 07:47
Оценка: 4 (1)
Здравствуйте, SSSerg, Вы писали:

SSS>Здравствуйте, SSSerg, Вы писали:


SSS>>Необходимо что бы программа отработала на компьютере не более 30 дней.

SSS>>Варианты с проверкой системного времени — отпадают в силу легкого его иземенения..
SSS>>Вопросы
SSS>>- как замерять (есть задумка с интернет синхронизацией)
SSS>>- где и как лучше хранить дату начала использования программы?
..........

SSS>Минус в том что если юзер просечет файл...


FileMon, можно просто IDA....
....упаковщик нужен все равно, или хотя бы самомодифицирующийся код для всех сохранений и проверок, так что бы выполнялись 5-10 ASM комманд, и тут же стирались (если 1 проверка при запуске) или упаковывались обратно.
Делать придется в три этапа:

1. Макросики на C, что т вроде:

#define START asm { \
jmp $+6}\
__emmit__ {0x01,0x02,0x03,0x04,0x05,0x06} — это вроде как сигнатура + место для твоего кода мутанта
+ 2й define для пометки конца

2. Планируем мутируемый код так, чтобы всяких goto и return из него не было, иначе пары начало/конец завалишь.

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

...да, не знаю как под Вынь-16, а под Вынь-32 на сегмент кода этого нада еще разрешение на запись толи ручками exe выставь, то-ли VirtualProtect вызывай...
....это конечно не подробное руководство, но думаю обрисовал примерно, желательно блоков таких поболее и покороче...
...хотя снова же не совершенно это, IDA давно их ловит, потому что все простое и эффективное есть в коммерческих пакерах...
Re: Как правильно сделать 30ти дневную версию программы
От: Колян  
Дата: 18.08.05 09:11
Оценка: +1
Здравствуйте, SSSerg, Вы писали:

SSS>Необходимо что бы программа отработала на компьютере не более 30 дней.

SSS>Варианты с проверкой системного времени — отпадают в силу легкого его иземенения..
SSS>Вопросы
SSS>- как замерять (есть задумка с интернет синхронизацией)
SSS>- где и как лучше хранить дату начала использования программы?

Мысль пришла...
Как бороться будете, если у меня всегда есть чистая винда под VMWare и в любой момент я смогу ваш триал установить заново и юзать?
Re[2]: Как правильно сделать 30ти дневную версию программы
От: jit  
Дата: 18.08.05 09:30
Оценка: +1 :)))
Здравствуйте, Колян, Вы писали:

К>Мысль пришла...

К>Как бороться будете, если у меня всегда есть чистая винда под VMWare и в любой момент я смогу ваш триал установить заново и юзать?

с такими как Вы бороться бесполезно
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.