Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 28 • Страница 1 из 21  2  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 14.11.2004
Откуда: Екатеринбург
Надеюсь, хоть кто-то знает. Как взять время в С++ не Винды, а инета. То есть , чтобы юзер не смог обмануть и переставить у себя. Одна идея есть: обновить с помощью синххронизатора Винды , а потом взять простым GetCurrentTime и все. Но как конкретно это сделать. А может иным спосом. Короче пока не знаю. Напишите, очень интересно.

_________________
AMD >> Intel



Партнер
 

Member
Статус: Не в сети
Регистрация: 30.01.2003
Откуда: Москва
Обмануть можно в любом случае - если отключить инет ;) А так - можно вызвать команду net time /set (см. справку самой команды net).


 

Member
Статус: Не в сети
Регистрация: 14.11.2004
Откуда: Екатеринбург
Дело в том , что прога для инета.

_________________
AMD >> Intel


 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
Паук
стандартной функции нету, поэтому придется писать взаимодействие по TCP/IP с сервером, с гарантированно "правильным" временем...

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


 

Member
Статус: Не в сети
Регистрация: 14.11.2004
Откуда: Екатеринбург
Root Стандартной, может и нет (к сожалению справки не ма), но идея у меня такая: использовать автоматизацию.
автоматизация - это возможность управлять поведением других программ (серверов автоматизации) или их элементов из своей программы (контроллера). Вставить в Си++ синхронизатор Винды, обновить, и взять время. Только вот где лежит ????.OLB , который отвечает за синхронизатор. Можно найти сайт, где время настоящее отображается и считать строку, вот только надо сам сайт найти.
Asteroid , так бы и писал, что точно не знаешь.
ЗЫ. Может найдется человек, который все нормально напишет или нет? Хотелось бы :).

_________________
AMD >> Intel


 

Member
Статус: Не в сети
Регистрация: 23.05.2004
Откуда: SOL Star Empire
мож я брежу но если синхронизировать время из биоса или взять из биоса?

_________________
I think, not.


 

Member
Статус: Не в сети
Регистрация: 14.11.2004
Откуда: Екатеринбург
Freeman , брешишь. :)

Добавлено спустя 2 минуты, 44 секунды:
В винде время как раз от туда.

_________________
AMD >> Intel


 

Member
Статус: Не в сети
Регистрация: 23.05.2004
Откуда: SOL Star Empire
Паук да но юзеры же не полезут изменять время в биосе а именят его в винде, а в биосе останеться правильное врем

_________________
I think, not.


 

Member
Статус: Не в сети
Регистрация: 20.03.2004
Откуда: Минск
Freeman_only
Оно автоматом, кажись, и там меняется...


 

Member
Статус: Не в сети
Регистрация: 14.11.2004
Откуда: Екатеринбург
Ну вы даете!!!:) Оно конечно же меняется и там и там (хоть где меняй).

_________________
AMD >> Intel


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
Мне кажется, ты усложняешь задачу. Все проще. :)
Приведи пример действия юзера, я попробую придумать простой способ защиты.


 

Member
Статус: Не в сети
Регистрация: 04.01.2004
Откуда: 31
Паук писал(а):
А может иным спосом.

Попробуй вызывать системное
net time \\<сервер> /set /yes
где <сервер> - машина, с которой синхронизируется время. Можно указать список серверов

У нас в домене выполняется батник следующего вида:
net time /domain:office /set /yes


 

Member
Статус: Не в сети
Регистрация: 14.11.2004
Откуда: Екатеринбург
S.Q.Lapp Батник - то хорошо.... А кстати. Как запустить exe файл при помощи Си++ (в смысле команда какая). Вопрос может быть дурацкий , но чего-то я не нашел как это сделать (хотя наверное это просто, так же как с Play ...)
serj Программа смотрит сколько время и выполняет определенные действия :) хитрожоп... пользователь может переставить время и программа отсрочит свои дествия . Вот и все.

Добавлено спустя 12 минут, 42 секунды:
Хочу сказать, что раньше , да и сейчас я писал алгоритмы (всякие : вроде работы с графами и другими головоломными уклонами), а сейчас есть необходимость узнать побольше про оболочки и так далее. Вот и появились вопросы (в книгах не все написано).

_________________
AMD >> Intel


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
Паук писал(а):
Программа смотрит сколько время и выполняет определенные действия

Средство борьбы - периодически проверять время. Раз программа 'смотрит', то она висит запущенной. Тогда в чем проблема? :)

Если не понял, поясню: юзер меняет время, например на 10 минут. Твоя программа считывает время (ну или просто висит на таймере или берет системные тики, не суть) каждую секунду. У тебя выходит, что в один отсчет было ХХ.ХХ.ХХ, а в следующий YY.YY.YY - явный разрыв. Т.е. юзер именно полез и именно поменял. А дальше - 'твои действия'. (можно и нафиг послать :) )
Тут важно корректировать свое внутреннее время, а не системное - тогда юзер не узнает о бессмысленности своих действий.
Менять время в BIOS полезет далеко не каждый, да и то - если будет знать.
Перестановка на день/меся/год назад вообще отлавливается с 'пол пинка', для этого и системное время/дата не столь важны. Самый тупой вариант - пиши куда-нибудь (в реестр например) время последнего запуска программы. При смене на большое время изменяют только один или два параметра. Никто не будет менять и день и месяц и год и время. ;)
Надеюсь, я отвечал по вопросу? ... или ты другое имел в виду?
Интернет есть не у всех и привязка к нему .... не есть здорово.


 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
Паук
см. MSDN по функциям _exec* и _spawn*

serj
Цитата:
Менять время в BIOS полезет далеко не каждый, да и то - если будет знать.

а как насчет того, что виндовое время = БИОСному? Тупая винда же не разрыв между своим временем и временем машины сохраняет ;)
Более того - программа Паука для отслеживания изменений времени должна либо быть постоянно запущена (анрильно), либо действительно сохранять время последнего запуска, но в последнем случае она не сможет отследить некоторые варианты. Разве что сохранять тики с запуска системы, но в таком случае мы пролетаем при изменении юзером времени+перезагрузка системы ;)

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


 

Advanced member
Статус: Не в сети
Регистрация: 10.04.2003
Откуда: Москва
сделать DLL не составит ни какого труда. Т.о.
Root писал(а):
должна либо быть постоянно запущена (анрильно)
снимается 'как класс'.
Если вопрос стоит именно с 'переводом времени назад', отлавить это можно очень устойчиво. Признаков масса.


 

Member
Статус: Не в сети
Регистрация: 03.08.2005
Откуда: Минск
Да и к тому же ее можно просто запустить как службу, не факт что юзер догадается ее отключить


 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
Цитата:
запустить как службу

Цитата:
сделать DLL не составит ни какого труда

пра-а-а-ативные ;) уйду от вас ;)

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


 

Member
Статус: Не в сети
Регистрация: 14.11.2004
Откуда: Екатеринбург
Короче. Ух! Накопилось. Отвечаю, что-ли?:) .
Яserj Ты конечно хорошо придумал "", я так и думал ,что ты так ответишь (так бы многие ответили) не в упрек. Но если юзер изменял время , допустим, из-за того ,что биос сбрасывал и решил нормальное поставить, а я его "ты че! руки от времени" (причем меняет и месяц и все такое), а может ему надо на час сдвинуть (с летенего на зимнее), тогда получится ,что прога типа вируса.
Хочу повторится, что прога для инета.
Моя прога работает в скрытом режиме (даже нет в systray). Не вирус, но наблюдатель (ничего плохого, только польза). Прописывается сама в реестре и работает с запуском винды.
Конечно можно сделать так :
если время 00:00 || 00:05 , значит скорее всего был сброшен биос (первая дыра проги)
если время сдвинуто лишь на час, то переход с зимнего на летнее (смотреть еще и число и месяц) (вторая дырка)
и еще всяких условий, но если юзер решил поменять например для Reget Deluxe не зарегестрированного, чтобы побыстрее тот загрузился, а моя программа мешает? Нехорошо. В любом случае , я неким образом мешаю правам пользователя.

Добавлено спустя 3 минуты, 22 секунды:
PS. На час с зимнего сдвигает сам виндовс, но прога все равно выдаст пару крепких слов.

Добавлено спустя 9 минут, 25 секунд:
serj Может ты как-то по-другому хочешь. ПредLOGай.
У вас может возникнуть вопрос:как программа может приносить пользу если не дает юзеру обмануть себя, ведь получается , что она его контролирует или что-то еще! Но нет.! Юзер может переставить время и забыть, и тогда прога хрен ему

Добавлено спустя 2 минуты, 40 секунд:
Кстати. Только заметил! Внизу у этого сайта есть независимое время! Можно , РЕАЛЬНО, считывать его отсюды.:).

Добавлено спустя 2 минуты:
Забудьте абзац : "У вас может возникнуть вопрос:как программа может приносить пользу если не дает юзеру обмануть себя, ведь получается , что она его контролирует или что-то еще! Но нет.! Юзер может переставить время и забыть, и тогда прога хрен ему ....", прога не закончена и когда закончу все скажу.

_________________
AMD >> Intel


 

Member
Статус: Не в сети
Регистрация: 05.01.2005
serj
serj писал(а):
Средство борьбы - периодически проверять время. Раз программа 'смотрит', то она висит запущенной. Тогда в чем проблема?

serj писал(а):
Тут важно корректировать свое внутреннее время, а не системное - тогда юзер не узнает о бессмысленности своих действий.

serj писал(а):
Самый тупой вариант - пиши куда-нибудь (в реестр например) время последнего запуска программы. При смене на большое время изменяют только один или два параметра. Никто не будет менять и день и месяц и год и время.


Ну, не все так просто. ;)
Как-то делал прогу, вот кусок Readme :)

Цитата:
...
Пакет предназначен для запуска других приложений в измененном
системном времени с последующим автоматическим восстановлением
реального системного времени.
...

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


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 28 • Страница 1 из 21  2  >
-

Часовой пояс: UTC + 3 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan