Как заблокировать изменение системной даты?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Capone
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 18.09.2004 (Сб) 17:34

Как заблокировать изменение системной даты?

Сообщение Capone » 06.10.2004 (Ср) 15:33

Как заблокировать изменение системной даты в Win98, чтобы также ее нельзя было изменить командой DATE? Помогите придумать решение.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.10.2004 (Ср) 15:36

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

-=TsA=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 142
Зарегистрирован: 21.09.2004 (Вт) 14:32
Откуда: Татарстан, Заинск

Сообщение -=TsA=- » 06.10.2004 (Ср) 15:36

А для чего нужно?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.10.2004 (Ср) 15:43

GSerg, ошибешься :)
Правильный ответ "савсэм никак" :)
Lasciate ogni speranza, voi ch'entrate.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.10.2004 (Ср) 16:00

Думаю, ошибётесь :-)
Написать досовского резидента, замещающего Int 21h Function 2Dh.
Изображение

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 06.10.2004 (Ср) 17:00

В .NET есть событие по этому поводу...
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 06.10.2004 (Ср) 17:32

Ага. Windows посылает сообщение WM_TIMECHANGE при смене системного времени. А дальше ручками восстанавливаем.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 06.10.2004 (Ср) 17:34

2tyomitch:
Резидентная программа на VB :shock: :shock: Заменяющая прерывания :shock:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.10.2004 (Ср) 19:05

ANDLL писал(а):2tyomitch:
Резидентная программа на VB :shock: :shock: Заменяющая прерывания :shock:
Да ещё и досовская... Вообще чудеса, да? ;-)
Изображение

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 06.10.2004 (Ср) 19:34

Хотя... Если то, что я знаю о резидентных программах - правда, то достаточно записать адрес своей процедуры в таблицу прирываний :?
И все будет работать :)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.10.2004 (Ср) 20:07

Будет-то будет, но адрес должен быть 16:16-битный. Откуда такому адресу взяться в виндовой программе?
А вообще, на VBDOS, пожалуй, реально. Он считается VB?
Последний раз редактировалось tyomitch 06.10.2004 (Ср) 20:11, всего редактировалось 1 раз.
Изображение

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 06.10.2004 (Ср) 20:10

А нельзя так 32=16+16. Т.е. HiWord - это позиция(смещение), а LoWord это смещение(позиция). По идее смысл тот же самый. Надо попробовать...
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.10.2004 (Ср) 20:13

Не удастся точно. Своей таблицы прерываний, как у досовского окна в Win32, у 32-битного приложения нет, а чтобы изменить системную, нужно выполняться в режиме ядра. Да в системной и Int 21h нету, поди :-)
Изображение

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 07.10.2004 (Чт) 7:19

Да может еще и драйвер на VB написать и в Ring-0 перейти. :) Вообщем лучший вариант:
Windows посылает сообщение WM_TIMECHANGE при смене системного времени. А дальше ручками восстанавливаем.
الفيجوال بيسك الرابح

kif
Постоялец
Постоялец
 
Сообщения: 736
Зарегистрирован: 10.12.2001 (Пн) 18:06
Откуда: Украина, Одесса

Сообщение kif » 07.10.2004 (Чт) 8:43

Если машина в домене, используй синхронизацию времени, если не, то читай с другой машины время с 13 порта

Может быть так.
Братья и сестры, что вы делаете???
Ведь вы же братья и сестры.

Shurrik
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 110
Зарегистрирован: 20.05.2004 (Чт) 5:35
Откуда: Керчь, Крым

Сообщение Shurrik » 10.10.2004 (Вс) 10:50

У меня возникала подобная идея на запрет изменения даты. Думал создать свою прогу в автозагрузке, которая по своему таймеру, например каждую минуту проверяет системное время и если разница гораздо больше минута восстанавливает ее предыдущее значение + минута. Но против этого есть способ, изменить дату и выключить комп.
Колесо: Хочешь жить? Умей вертеться.

PATRIOT_kz
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 105
Зарегистрирован: 14.09.2004 (Вт) 21:09
Откуда: Павлодар, Казахстан

Сообщение PATRIOT_kz » 10.10.2004 (Вс) 18:29

А если написать программу-сервис, которая бы следила за прерываниями и событиями типа 'WM_TIMECHANGE' ???
Press any key . . .

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 10.10.2004 (Вс) 18:32

Не уверен, что программа-сервис может следить за прирываниями.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 10.10.2004 (Вс) 18:36

Есть кривой способ:
1: каждую секунду в переменную NewTime записывать время
2: если оно не удовлетворяет условию (NewTime = OldTime + #00:00:01#), то присвоить Time = OldTime + #00:00:01#
3: если все нормально, OldTime = NewTime
4: GoTo 1

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2056
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 10.10.2004 (Вс) 20:29

2 all: Челы, вы чё совсем озверели ?? Уже и дату запрещать менять.

У меня в инсте запрет был на всё, но хоть на инет доступ был открыт. Терь его закрыли. Я озверев ломанул систему.

Сначала через смену пароля в реестре на Radmin, а в этом году через AVPcc. (AVP Control Center).

Вывод - Чем больше человеку запрещать на компе, тем больше вариант того, что юзер озверев взломает всё и вся. !

Простой пример: Windows и Linux.
Кого больше ломают ?

Конечно вы скажите, что Windows просто больше используют чем Пынгвина. Но тут я готов поспорить... Другая тема...

Так что челы делайте выводы... :wink:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.10.2004 (Вс) 20:33

A.A.Z. писал(а):Есть кривой способ:
1: каждую секунду в переменную NewTime записывать время
2: если оно не удовлетворяет условию (NewTime = OldTime + #00:00:01#), то присвоить Time = OldTime + #00:00:01#
3: если все нормально, OldTime = NewTime
4: GoTo 1

А потом пресловутый Касперский загрузит проц на 100%, событие будет происходить не каждую секунду, а один раз в 10, и вся эта система полетит...
Нет, так не дело.

Я вам честно говорю: на Win98 досовский резидент - самое лучшее решение. А на WinNT можно просто в правах пользователя запретить время менять.

А вы чего-то разошлись: прерывания, сервисы, чёрти-что...
Изображение

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 10.10.2004 (Вс) 20:45

1. Резидент и прирывания - вещи взаимные.
2. C-шная операция & возвращает ВИРТУАЛЬНЫЙ адрес чего-то там. А в таблице прирываний должен быть ФИЗИЧЕСКИЙ адрес. Как, tyomitch, вы предлагаете обойти эту проблему?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 10.10.2004 (Вс) 21:22

ANDLL писал(а):1. Резидент и прирывания - вещи взаимные.

"Карл Маркс и Фридрих Энгельс - не муж и жена, и не четыре разных человека; а Слава КПСС - вообще не человек" (с) :lol:

ANDLL писал(а):2. C-шная операция & возвращает ВИРТУАЛЬНЫЙ адрес чего-то там. А в таблице прирываний должен быть ФИЗИЧЕСКИЙ адрес. Как, tyomitch, вы предлагаете обойти эту проблему?

Предлагаю на время забыть о Win32 и написать на досовском bc, например, этот резидент.
Я думал, что очевидно, что досовскую прогу на VB не написать ;-)
Изображение

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 11.10.2004 (Пн) 6:55

Так:
если мы пишем досовсукю программу то у нее будет своя таблица прерывании, не связанная с системной.

Да и вообще WM_TIMECHANGE: forever
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.10.2004 (Пн) 13:44

ANDLL писал(а):Так:
если мы пишем досовсукю программу то у нее будет своя таблица прерывании, не связанная с системной.

В Win98 - можно влезть в системную безо всяких хлопот, если загрузиться до Винды. Да и после этого резидент активен всё время, пока висит его окно, и будет продолжать обрабатывать Int 21h даже в других окнах.

ANDLL писал(а):Да и вообще WM_TIMECHANGE: forever

Это-то да, но ты ведь не знаешь правильное время, на которое его нужно менять, если его изменили? Так что всё-таки так не выйдет.
Изображение

neprden
Обычный пользователь
Обычный пользователь
 
Сообщения: 64
Зарегистрирован: 04.10.2003 (Сб) 19:37

Сообщение neprden » 15.10.2004 (Пт) 12:27

А ловушки на вызов SetSystemTime ?
правда на с придется поковырять

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 15.10.2004 (Пт) 12:54

neprden писал(а):А ловушки на вызов SetSystemTime ?
правда на с придется поковырять


Ага,а я те, за такой пример на VB, бутылку текиллы отвалил бы....
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 15.10.2004 (Пт) 13:00

А мне отвалишь?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 15.10.2004 (Пт) 17:52

ANDLL писал(а):А мне отвалишь?
А у тебя есть такой пример? 8-|
Изображение


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 12

    TopList