Protector de procesos [BSOD]
Publicado: 07 Mar 2014, 17:53
Buenas indetectables aquí les dejo una función bastante comentada que se encarga de proteger el proceso que nosotros le especifiquemos con un BSOD (Blue Screen Of Death). La función necesita permisos de administrador para elevar privilegios.
Funcional en W7 x32, en x64 no probé ya que son pocas las ganas de provocar un BSOD en mi PC.
Link: [Enlace externo eliminado para invitados]
Pass: Indetectables.net
Saludos
Funcional en W7 x32, en x64 no probé ya que son pocas las ganas de provocar un BSOD en mi PC.
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.8.1
Author: Naker90
Script Function:
Protege el proceso especificado con un BSOD (Blue Screen of Death)
Funcional en W7 x32
La funcion necesita permisos de administrador para elevar privilegios y asignar la proteccion al proceso
Ejemplo:
ProtectProcess_BSOD('Anotador Naker90.exe') => El proceso del anotador quedaria protegido con BSOD
#ce ----------------------------------------------------------------------------
#RequireAdmin
#include <Security.au3>
Func ProtectProcess_BSOD($sProcessName)
Const $sPriority = 29
Const $sProcess_All_Access = 0x1F0FFF
Const $sTokenAdjustPrivileges = 0x20
Const $sTokenQuery = 0x0008
;Obtenemos el PID del proceso (Si el PID es 0 damos el mensaje y salimos, de lo contrario continuamos con el code)
Local $sPID = ProcessExists($sProcessName)
if $sPID = 0 then
MsgBox(64, 'ERROR', 'No Existe ningun procesos en ejecucion con ese nombre')
Exit
Else
;Elvemos privilegios para poder asignar la proteccion al proceso
;Abrimos el acceso al Token con OpenThreadTokenEx aignandole los derechos de TokenAdjustPrivileges y TokenQuery
Local $sOpenThreadToken = _Security__OpenThreadTokenEx (BitOR($sTokenAdjustPrivileges, $sTokenQuery))
;Habilitamos el privilegio
_Security__SetPrivilege($sOpenThreadToken, 'SeDebugPrivilege', True)
;Cerramos el handle del acceso
DllCall('Kernel32.dll', 'int', 'CloseHandle', 'handle', $sOpenThreadToken)
;Obtenemos el handle del proceso que queremos proteger con la API OpenProcess
Local $sHandle = DllCall('Kernel32.dll', 'handle', 'OpenProcess', 'dword', $sProcess_All_Access, 'bool', True, 'dword', $sPID)
;Creamos la estructura que le vamos a pasar despues a NtSetInformationProcess y le asignamos el valor "True"
Local $sStruct = DllStructCreate('bool BSOD')
DllStructSetData($sStruct, 'BSOD', True)
;Le asignamos la proteccion al proceso con NtSetInformationProcess
DllCall('Ntdll.dll', 'int', 'NtSetInformationProcess', 'handle', $sHandle[0], 'int', $sPriority, 'int', DllStructGetPtr($sStruct), 'int', 4)
;Cerramos el handle que abrimos antes con OpenProcess
DllCall('Kernel32.dll', 'int', 'CloseHandle', 'handle', $sHandle[0])
EndIf
EndFunc
También les dejo un binario por si quieren testear.Link: [Enlace externo eliminado para invitados]
Pass: Indetectables.net
Saludos