Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Как заблочить комп, чтобы никто кроме вас не вошел |

06.02.2007, 18:35
|
|
Участник форума
Регистрация: 01.01.2006
Сообщений: 262
Провел на форуме: 1718386
Репутация:
686
|
|
Как заблочить комп, чтобы никто кроме вас не вошел
Первая моя статейка, чур строго не судить :)
Сути в ней немного, но может кому и пригодится.
Сначала небольшая предыстория.
Зашли с одногруппником в терминалку в универе, чтобы занять компы и через пару вернуться. Через пару увидеть какой-нибудь комп свободным было бы чем-то сверхъестественным. Вошли в систему, нажали Блокировку, ясно дав знать, что компьютеры заняты. Иногда этого достаточно, ну а иногда некоторые бессовестные юзеры чихают на то, что комп занят и хозяин через минуту может
вернуться, перезагружаются и входят под своим логином, при этом если в залоченном компе докачивался последний десяток мегабайт какой-то вкусной программы, которую хозяин залоченого компа надеялся увидеть скаченной по своему возвращению, конечно обламывался и программа уходила в небытие :)
После возвращения через пару, мой компьютер неким чудесным образом оставался залоченым, а за компом одногруппника сидел хитрый наглый юзер. Ну и чтобы такого впредь не случалось, решил я написать пару файлов, дабы предотвратить такие бессовестные поступки.
Конечно, от нажатия ресета ничего не спасет компьютер, и последний недокачанный мегабайт уже не докачается, но по крайней мере наглый юзер не сможет сесть за комп, и после возвращения за него сяду я.
Опять же, небольшая неприятность: великий safe mode обломает всю моя затею. Но смею заверить, что добрых 90 процентов (по крайней мере наших) юзеров о нем никогда не догадаются, и скорее всего поспешно отойдут от выключившегося на загрузке их конфига компьютера, чего доброго еще и испугавшись, что испортили машину :)
Так вот, плавно перехожу к сути метода. Все просто как дважды два. После небольших действий с моей стороны и залочения компа войду в систему только я (напоминаю, про safe mode забыли), а хитрый наглый юзер обломается: после того как он войдет в систему комп выключится. Проверял дома: даже если догадаться залезть в диспетчер задач и вырубить нехороший процесс, этого
просто-напросто не успеть.
Теперь то, что нам нужно. Вероятно, можно было сократить количество необходимых файлов, но поскольку c bat-файлами я пока знаком не слишком близко, потребуется 5 файлов.- Первый, и главный файл это sysdrv.vbs, известный в поисковиках как poweroff.vbs, Visual Basic скрипт для
вырубления форточек.
dim OpSysSet, obj
Set OpSysSet = GetObject("winmgmts:{impersonationLevel=impersonat e," & _
"(Shutdown)}//./root/cimv2").ExecQuery _
("SELECT * FROM Win32_OperatingSystem" &_
" WHERE Primary=true")
For Each obj In OpSysSet
obj.Win32Shutdown(8)
Next
- Далее файл sysdrv.bat, который вырубит комп, если вы зашли не под пользователем lamer (это ваш логин (не подумать никаких намеков, сам я под этим логином и тестировал дома))
echo off
if exist c:\docume~1\lamer\locals~1\temp (del c:\winnt\sysdrv.vbs) else call c:\winnt\sysdrv.vbs
Файл проверяет существование папки temp в вышеследующей директории.
Эта папка создается автоматически системой при входе пользователя lamer, если она не создана.
Как раз перед тем как залочить комп эта папку будет удалена, и если попробует войти не lamer, то, поскольку такой папки нет,
комп выключается. А если входит lamer, то папка temp создается еще до запуска этого bat файла, и тем самым скрипт выключения
компа удаляется.
- Чтобы подготовить компьютер к блокировке, нужно запустить файл Зафигачить.bat
следующего содержания
echo off
del c:\docume~1\lamer\locals~1\temp\*.* /q
if exist c:\docume~1\lamer\locals~1\temp (rmdir c:\docume~1\lamer\locals~1\temp)
call copy.exe
Таким образом, очищается и удаляется папка temp и
- вызывается следующий исполняемый файл copy.exe
Его код на MS Visual Studio 6.0
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
void main()
{
FILE *input,*output;
char ch;
input=fopen("sysdrv.bat","r");
output=fopen("C:/Documents and Settings/All Users/Главное меню/Программы/Автозагрузка/sysdrv.bat","w");
while ((fread(&ch,1,1,input))!=NULL)
fwrite(&ch,1,1,output);
fclose(input);
fclose(output);
input=fopen("sysdrv.vbs","r");
output=fopen("C:/WINNT/sysdrv.vbs","w");
while ((fread(&ch,1,1,input))!=NULL)
fwrite(&ch,1,1,output);
fclose(input);
fclose(output);
}
Он копирует sysdrv.bat в папку C:/Documents and Settings/All Users/Главное меню/Программы/Автозагрузка/,
на запись в которую права есть у всех пользователей, и скрипт sysdrv.vbs в папку винды (опять же, права есть).
- Ну и последний 5-ый файл Пофиксить.exe
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
void main()
{
unlink("C:/Documents and Settings/All Users/Главное меню/Программы/Автозагрузка/sysdrv.bat");
unlink("C:/WINNT/sysdrv.vbs");
}
Который удаляет использованные файлы. Хотя файл sysdrv.vbs уже должен был удалиться после входа пользователя lamer.
Теперь можно спокойно покидать компьютер в терминалке, предварительно нажав Зафигачить.bat и залочив комп, и с большой вероятностью можно сказать, что пока вы ни сядете за него, никто другой тоже там не посидит.
Респекты: гуглу за vbs скрипт :)
Последний раз редактировалось AdvLamer; 12.06.2007 в 01:31..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|