Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173

Как узнать, что пользователь отмотал системное время назад

18.07.2012, 14:26. Показов 2415. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Подскажите самый простой способ узнать, что пользователь отмотал системное время назад. Доступа в интернет у пользователя нет. Доступа к реестру нет. Файл настроек программы пользователь может легко стереть.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.07.2012, 14:26
Ответы с готовыми решениями:

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

Как узнать что пользователь нажал на Button если батон создается во время выполнения программы
Здравствуйте подскажите пожалуйста как можно отследить событие нажатия на контрол button , если он создается динамически во время работы...

как создать переменную и в нее положить системное время и дату ,что-бы потом ее использовать в запросе
Доброго времяни суток !!! Помогите пожайлусто решить задачу ... Задание следущее: Работа салона красоты (запись клиентов идет по...

16
123 / 121 / 6
Регистрация: 21.12.2011
Сообщений: 348
18.07.2012, 14:57
Suppir, можно дату хранить в памяти. Периодически проверять и все.
0
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
18.07.2012, 15:01  [ТС]
Мне нужно, чтобы программа работала до конца 2012 года, а после - не запускалась.

В памяти хранить не получится, т.к. программу перезапускают. Т.е. нужно куда-то (но не в файл настроек и не в реестр) скидывать текущую дату и потом при последующем запуске проверять, не отмотали ли системное время назад.
0
123 / 121 / 6
Регистрация: 21.12.2011
Сообщений: 348
18.07.2012, 15:31
Suppir, ну я не знаю
пиши своему же ехешнику в атрибуты дату текущую... или делай скрытый системный файл. тяжелая у тебя ситуация
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
18.07.2012, 15:32
Цитата Сообщение от Suppir Посмотреть сообщение
нужно куда-то (но не в файл настроек и не в реестр) скидывать текущую дату
Если не в файл настроек и не в реестр, то вариантов не много - в другой файл, возможно зашифрованный. Больше просто некуда.
Но пользователь с административными привилегиями и его удалит без проблем.
0
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
18.07.2012, 15:51  [ТС]
Кстати, а если отмотать дату назад, то в директории windows все равно ведь останутся файлы с атрибутами нормальной даты.
0
123 / 121 / 6
Регистрация: 21.12.2011
Сообщений: 348
18.07.2012, 15:53
kolorotur, ну а если юзать атрибуты самого приложения? сделать хеш и кинуть в описание ехе"шника.
0
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
18.07.2012, 16:22  [ТС]
"кинуть в описание ехе"шника"

Как прочитать описание exe-шника на c#?
0
 Аватар для KristopherRobin
146 / 143 / 11
Регистрация: 11.09.2011
Сообщений: 419
18.07.2012, 16:29
сохраняй в бинарник, а если бинарник удален т.е. не найден при запуске - Application.Exit() или выкидывай исключение.
0
123 / 121 / 6
Регистрация: 21.12.2011
Сообщений: 348
18.07.2012, 16:30
Suppir, имхо, копать куда-то сюда
0
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
18.07.2012, 16:31  [ТС]
Цитата Сообщение от KristopherRobin Посмотреть сообщение
сохраняй в бинарник, а если бинарник удален т.е. не найден при запуске - Application.Exit() или выкидывай исключение.
да-да, я так и хочу сделать. А как добавить свойство "описание" для бинарника?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
18.07.2012, 16:52
Цитата Сообщение от Savvy Посмотреть сообщение
ну а если юзать атрибуты самого приложения? сделать хеш и кинуть в описание ехе"шника.
Так при проектировании подобных систем нужно всегда учитывать следующие две вещи:
1. У пользователя может быть полный доступ к системе.
2. Приложение может запускаться под учеткой с ограниченным доступом, где изменить экзешник не получится.

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

Цитата Сообщение от KristopherRobin Посмотреть сообщение
сохраняй в бинарник, а если бинарник удален т.е. не найден при запуске - Application.Exit() или выкидывай исключение.
А здесь другая сложность: как быть со свежей установкой?
Создавать файл при установке? Тогда он сотрется при деинсталляции приложения, то есть банальная переустановка сбросит пробный период.
Создавать файл при первом запуске? Тогда нужно как-то определить: первый это запуск или нет, то есть хранить на диске какую-то информацию. Тут уже упираемся в изначальный вопрос.

Если пользователь "чайник", то можно банально создавать зашифрованный файл с датой последнего запуска где-нибудь в недрах файловой системы.
С более продвинутым пользователем неизбежно возникнет ситуация "у меня административные права, а у приложения - ограниченные".
0
123 / 121 / 6
Регистрация: 21.12.2011
Сообщений: 348
18.07.2012, 16:57
может просто тупо пройтись по фс (например по системному диску) посмотреть на даты последнего обращения к файлам (1000штук например) сравнить эти даты с текущей и делать вывод... громоздко, но хранить ниче не надо
0
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
18.07.2012, 17:14  [ТС]
Программа идет в виде утилиты, инсталляции не требует. Сразу запускается экзешник.

Я думаю так:
1) при тиражировании программы в свойствах экзешника в хешированном виде записать дату тиражирования
2) при запуске программы нужно проверить, чтобы системное время было позже этой даты
- если все нормально, то программа запускается. При этом в переменную запоминается время, когда программа была запущена. При выходе их программы опять проверяется время - если оно больше, чем время при запуске, то все нормально. Пишем в атрибуты новую отметку о времени.

Только я сейчас не могу найти, как записать что-нибудь в атрибуты.
0
 Аватар для Yukikaze
352 / 331 / 49
Регистрация: 12.12.2011
Сообщений: 563
18.07.2012, 17:38
Первое, что пришло в голову, это сервер верификации, а точнее обычная проверка времени в интернете
Правда интернет становиться обязательным условием использования
0
123 / 121 / 6
Регистрация: 21.12.2011
Сообщений: 348
18.07.2012, 17:40
я ссылку давал чуть раньше

Цитата Сообщение от Savvy Посмотреть сообщение
Suppir, имхо, копать куда-то сюда
0
28 / 28 / 11
Регистрация: 08.08.2011
Сообщений: 1,173
18.07.2012, 17:47  [ТС]
"Первое, что пришло в голову, это сервер верификации, а точнее обычная проверка времени в интернете"

Это был бы идеальный вариант, но у многих пользователей нет интернета.
А если делать запись в реестр, то блокирует антивирус.

Savvy, спасибо, а то я проглядел ваше сообщение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.07.2012, 17:47
Помогаю со студенческими работами здесь

Как узнать что пользователь ушел со страницы ???
Как узнать что пользователь ушел со страницы ??? А то ждать таймаута сесии нехорошо ...

Как узнать что выбрал пользователь в AutoCompleteTextView
Доброго времени суток. Как узнать какую подсказку выбрал пользователь из AutoCompleteTextView ? И как сделать чтоб например если выбрал...

Как узнать что пользователь сделал в программе
Есть некоторая программа для работы с БД. Подскажите каким образом организовать слежку за пользователями этой программы? Т.е. нужно...

Как узнать что пользователь вышел со страницы?
Здраствуйте, смотрите мне нужно сделать так, чтобы имя определённой сессии забывалось при выходе с определённой страницы. Если...

Как узнать, что пользователь уже прочитал запись?
Всем привет! Сделал страницу новостей на сайте, теперь хочу сделать так, чтобы когда я добавлял новость, то надо выделять слово Новость в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru