сделать стартовой   добавить в избранное
Auto Electronic Parts Catalogs.ru

электронные каталоги запчастей



paper

Ещё раз о защите программ ограничением времени работы (TecDoc и другие).

Несмотря на то, что ограничение времени работы программ является очень не эффективным способом защиты, использовать его не перестают, по всей видимости, это связано с простотой программной реализации. Но насколько просто это реализуется, настолько же просто и обходится.
В данном случае нам поможет встроенный в Windows язык сценариев JScript (можно использовать и VBScript), то есть для работы данных программ не потребуется ничего кроме Windows-системы (Windows 95, 98, NT с SP4 или Win 2000). Ниже приведён листинг программы, можете набрать его в Notepad-е и сохранить с расширением js (назвать файл можно как угодно), это будет готовый к использованию сценарий на JScript.
Кому совсем лен набрать руками десяток строчек скрипта, может взять здесь оба скрипта в архиве.

var d, s, command, dos_com, option, appl;
appl = "epc.exe";
d = new Date();
s = d.getDate() + ".";
s += (d.getMonth()+1) + ".";
option = s + "2000";
s += d.getFullYear();
var WshShell = WScript.CreateObject("WScript.Shell");
command = "%COMSPEC% /c ";
dos_com = "date ";
WshShell.Run (command + dos_com + option, 0);
WshShell.Run (appl);
for (i = 0; i < 5000000; i++) {
i = i;
}
option = s;
WshShell.Run (command + dos_com + option, 0);

После чего скрипт необходимо скопировать в директорию, где расположена программа, которую необходимо запускать с другой датой. В переменной appl указывается приложение, которое необходимо запустить (в нашем случае это HONDA, соответственно epc.exe), полный путь указывать не надо, скрипт подставит его автоматически, исходя из собственного месторасположения, далее в строке option = s + "2000"; вместо 2000 указываем необходимый нам год. Скрипт будет переводить дату (только год, обычно этого более чем достаточно), запускать указанное приложение и возвращать через некоторое время текущий год. Для задержки используется пустой цикл, если у вас старый компьютер и программы запускаются медленно, то можно увеличить значение 5000000, а если очень мощный, то и уменьшить. Так как многие программы проверяют дату только при запуске, то задержки в 2-5 секунд обычно хватает, и она не нарушает нормальную работу на компьютере.
Специалисты могут спросить, почему для задержки не используется WScript.Sleep (5000);, потому что WSH работать будет не на всех компьютерах.

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

var d, s, command, dos_com, option, appl;
appl = "FicheFinder99.exe";
d = new Date();
s = d.getDate() + ".";
s += (d.getMonth()+1) + ".";
option = s + "1999";
s += d.getFullYear();
var WshShell = WScript.CreateObject("WScript.Shell");
command = "%COMSPEC% /c ";
dos_com = "date ";
WshShell.Run (command + dos_com + option, 0);
WshShell.Run (appl, 1, true);
option = s;
WshShell.Run (command + dos_com + option, 0);

В данном случае пока запущенно приложение FicheFinder99.exe на компьютере будет 1999 год, как только приложение будет закрыто, будет восстановлен текущий год. Соответственно не составит труда, скопировав скрипт в директорию программы изменить ярлык программы таким образом, чтобы он запускал не саму программу, а наш скрипт.

В случае с TecDoc, устанавливать программу необходимо будет с годом соответствующим версии или более ранним и в скрипте указать год, при котором была произведена установка TecDoc, чем более ранний год выберите, тем дольше проработает программа. Если у вас на машине уже стояла программа TecDoc и благополучно заткнулась, то её придётся сначала полностью удалить. Сначала через Uninstall, потом запустить редактор реестра REGEDIT (Пуск->Выполнить->REGEDIT) и выполнить поиск (F3) по "TCD32" ну и естественно удалить все, что найдёте относящееся к TecDoc.

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

Вот и всё, мнения и комментарии по поводу статьи можно присылать по адресу указанному ниже.

Duzer (duzer99@mail.ru)

электронные каталоги запчастей - www.AutoEPC.ru © 2000-2011 - Вопросы? Комментарии? - Конфиденциальность данных - Доставка
Яндекс.Метрика
Правильный CSS!   Valid HTML 4.01 Transitional   Rambler's Top100