Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.04.01;
Скачать: CL | DM;

Вниз

Помогите разобраться с реестром windows 7   Найти похожие ветки 

 
tj.nelson   (2011-12-13 18:43) [0]

Здравствуйте. Пишу программу по контролю времени за ПК. Прописал в автозагрузку - работает. Но программу можно легко обмануть путем загрузки из безопасного режима, и перевода время и даты.
Теперь прописываю в ключ HKLM\Software\Microsoft\Windows NT\CurrentVersion\winlogon Shell := Explorer.exe, c:\proga.exe
Проблема:
В ХР работает только так, на отично...
Но а в Windows 7, вместо записи в ветку HKLM\Software\Microsoft\Windows NT.... записывает автоматически в
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT...

Подскажите, как этого избежать и записать все таки в HKLM\Software\Microsoft\Windows NT\CurrentVersion\winlogon???
P.S. Я честно обьяснил намеренья моей программы. Не надо говорить что я вирусописатель! Я на стороне добра и света


 
Rouse_ ©   (2011-12-13 19:28) [1]


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

Это так-же легко проверить, если постоянно записывать текущее время. Если откатили назад, то текущая дата будет меньше чем запомненное ранее число.
ЗЫ: для реестра выставляй флаг при открытии KEY_WOW64_32KEY


 
Dennis I. Komarov ©   (2011-12-13 19:34) [2]

А разве винда не ведет журналы со всеми вытекающими?


 
Rouse_ ©   (2011-12-13 19:36) [3]


> А разве винда не ведет журналы со всеми вытекающими?

О переводе даты в биосе?


 
tj.nelson   (2011-12-13 19:50) [4]


> Это так-же легко проверить, если постоянно записывать текущее
> время. Если откатили назад, то текущая дата будет меньше
> чем запомненное ранее число.
> ЗЫ: для реестра выставляй флаг при открытии KEY_WOW64_32KEY
Если назад - легко, но а если вперед? ведь контроль  будет выключатся на суботу или воскресенье!
2. На флаг Reg.Access := KEY_WOW64_64KEY Delphi 7 ругается как неизвестный идентификатор!
Что делать? Есть вариант:
Столбец Value...
KEY_WOW64_64KEY = $0100 (delphi)
KEY_WOW64_32KEY = $0200 (delphi)
НО, где находится Столбец Value? После var, как простое приравнивание или как констата?


 
Rouse_ ©   (2011-12-13 19:59) [5]


> НО, где находится Столбец Value?

const KEY_WOW64_32KEY = $0200;


 
tj.nelson   (2011-12-13 20:07) [6]

Rouse_ спасибо, все работает! Ребят, спасибо всем!


 
Дмитрий Белькевич   (2011-12-13 20:31) [7]

В качестве идеи - если комп в сети периодически синхронизировать время с сервером времени. Ручками или стандартно.


 
Dennis I. Komarov ©   (2011-12-13 20:39) [8]


> Rouse_ ©   (13.12.11 19:36) [3]
>
> > А разве винда не ведет журналы со всеми вытекающими?
>
> О переводе даты в биосе?

ну...

> Пишу программу по контролю времени за ПК.

если тачка своя, то нечего там чужим делать, а если нет - "нечего" тут свои контроли разбрасывать...
А так - [7] самое оно, только не время синхрить, а серверу покрикивать "эээй, смотри... я работаю :)"


 
Rouse_ ©   (2011-12-13 20:46) [9]


> Dennis I. Komarov ©   (13.12.11 20:39) [8]
> ну...

На скока я помню - нет :)


 
Dennis I. Komarov ©   (2011-12-13 22:47) [10]


> Rouse_ ©   (13.12.11 20:46) [9]

А чего помнишь то? :)


 
Rouse_ ©   (2011-12-13 22:54) [11]


> Dennis I. Komarov ©   (13.12.11 22:47) [10]
> А чего помнишь то? :)

Пфф, даже затрудняюсь ответить на такую постановку вопроса... Ну ты в принципе не стесняйся - evt файл с записью о изменении даты через биос выложи :)


 
Dennis I. Komarov ©   (2011-12-13 23:02) [12]


> Rouse_ ©   (13.12.11 22:54) [11]

Ты [8] не дочитал.


 
Rouse_ ©   (2011-12-13 23:07) [13]


> Dennis I. Komarov ©   (13.12.11 23:02) [12]
> Ты [8] не дочитал.

Дочитал конечно :)
1. ""нечего" тут свои контроли разбрасывать" - если эти "контроли" есть часть обеспечения защиты от недобросовестного пользователя, то все легитимно как в плане архитектуры, так и в плане закона :)
2. Сети нет


 
Dennis I. Komarov ©   (2011-12-13 23:36) [14]

так что мешает закрыть доступ к BIOS? Запретить загрузку с др. носителей. Опечатать корпус... Хотя для контроля времени - перебор...

2. Пишем не отметки времени, а тики работы (с подписью результатов)


 
Rouse_ ©   (2011-12-13 23:45) [15]


> Dennis I. Komarov ©   (13.12.11 23:36) [14]
> так что мешает закрыть доступ к BIOS?

Эмм, я предполагаю что софтверным способом ничто не помешает :) Оп чем и спич...

> 2. Пишем не отметки времени, а тики работы

Ну раз речь зашла за биос - то это подразумевает ребут системы, ты о каких тиках речь ведешь? :)


 
Dennis I. Komarov ©   (2011-12-14 00:04) [16]


> ты о каких тиках речь ведешь?

о софтверных, т.е. работает софт и тик, тик, тик...


 
Rouse_ ©   (2011-12-14 00:09) [17]


> Dennis I. Komarov ©   (14.12.11 00:04) [16]
>
>
> > ты о каких тиках речь ведешь?
>
> о софтверных, т.е. работает софт и тик, тик, тик...

Оть эти оные тикать начинают как раз с начала ребута системы ;)


 
Dennis I. Komarov ©   (2011-12-14 00:37) [18]

от их счетаем, и подпись ставим, чтоб не ай-ай...


 
Dimka Maslov ©   (2011-12-14 16:36) [19]

Проверить факт перевода часов назад можно косвенно при помощи функции UuidCreateSequential. В GUID зашивается текущее время, серийный номер сетевой карты и некоторое число, суть которого не разглашается. Но как только время в компьютере было переведено назад (даже через биос) эта часть гуида (выделена жирным) увеличивается на единицу
{C55298E1-2657-11E1-9ED1-001CC0932ECC}


 
Rouse_ ©   (2011-12-14 16:48) [20]


> Dimka Maslov ©   (14.12.11 16:36) [19]

Прикольно, откуда о данной особенности узнал? :)


 
Dimka Maslov ©   (2011-12-14 16:52) [21]


> Прикольно, откуда о данной особенности узнал? :)


Не помню. Может сам допёр, когда изучал сущность гуидов. Может прочитал в книжке какой-то.


 
Inovet ©   (2011-12-14 16:53) [22]

> [19] Dimka Maslov ©   (14.12.11 16:36)
> эта часть гуида (выделена жирным) увеличивается на единицу
> {C55298E1-2657-11E1-9ED1-001CC0932ECC}

Интересно. А могут ведь и поменять алгоритм. И да, тоже интересно откуда узнал.


 
Inovet ©   (2011-12-14 16:56) [23]

А после чего должна увеличиться?
42EEE469-69CD-430B-AD63-319680BCADD9
0661DF09-D476-4D4A-BF2A-C67D6518D2DF
63E9B5E7-0206-44C9-BACB-32AA6D281279
66A45059-40BF-46FF-B3C3-9F9603E74F7C
4B66304D-2802-434F-B820-22C659CB0CF6
983DAF72-1C1A-4437-9404-0BE33ADFB3E8
AC8F1530-F0EB-43F1-94DF-510D50D5F344
D628EDEC-CECD-4F3D-98C0-410D8BDAF501
F0D2BA75-BB52-40A3-9219-C6A9F2872934
59A24FD9-4DA3-4D2E-A20D-731797F42219


 
Dimka Maslov ©   (2011-12-14 16:57) [24]


> А могут ведь и поменять алгоритм.


Могут и меняют, но для функции UuidCreate. А вот для UuidCreateSequential не меняют (пока)


 
Dimka Maslov ©   (2011-12-14 17:01) [25]


> Inovet ©   (14.12.11 16:56) [23]


UuidCreateSequentialи UuidCreate суть разные функции. Тем более всякие CreateGUID или нажатие Shift+Ctrl+G. Сама функция UuidCreateSequential в Delphi не прописана и требует динамической линковки RPCRT4.DLL


 
Inovet ©   (2011-12-14 17:07) [26]

> [25] Dimka Maslov ©   (14.12.11 17:01)
> Тем более всякие CreateGUID

Ага, я генерировал
CoCreateGuid


 
Dimka Maslov ©   (2011-12-14 17:28) [27]


> Ага, я генерировал
> CoCreateGuid


Точно не знаю, но по-моему CoCreateGUID внутри себя вызывает UuidCreate, которая вызывает UuidCreateSequential и извращает результат при помощи MD5 или чего-либо подобного.



Страницы: 1 вся ветка

Текущий архив: 2012.04.01;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.007 c
15-1323086195
vajo
2011-12-05 15:56
2012.04.01
Программа видеоредактирования


2-1323700171
Nikita_M
2011-12-12 18:29
2012.04.01
ComboBox в ячейке StringGrid


1-1290434672
DeadAlice
2010-11-22 17:04
2012.04.01
Печать на POS-принтер с определением состояния процесса


15-1323157523
Pit
2011-12-06 11:45
2012.04.01
Delphi 7, приложение падает, если включена оптимизация


15-1322245628
ClawClaw
2011-11-25 22:27
2012.04.01
Спортлото и математика