DEP (Data Execution Prevention) ist ein Feature, das mit WinXPSP2 eingeführt wurde. Es soll das Ausführen von Schadcode dahingehend behindern, dass bestimmte Speicherblöcke unzugänglich gemacht werden. Einige Anwendungen schneiden aber manchmal den geschützten Speicherbereich und crashen dann einfach. Mit dieser Funktion kann DEP abgeschaltet (und auch wieder angeschaltet) werden.
Spoiler anzeigen
ConsoleWrite("!> Enable: " & SetProcessDEPPolicy(1) & @CRLF)
ConsoleWrite("!> Disable: " & SetProcessDEPPolicy(0) & @CRLF) ; Einmal eingeschaltet, lässt es sich nicht deaktivieren.
; #FUNCTION# ====================================================================================================================
; Name ..........: SetProcessDEPPolicy
; Description ...: Enables or disables DEP for the current AutoIt3 process.
; Syntax ........: SetProcessDEPPolicy($iBool)
; Parameters ....: $iBool - 0 or 1
; Return values .: Kernel32 Errorcode:
; 0 = Fail
; 1 = Success
; Author ........: minx
; ===============================================================================================================================
Func SetProcessDEPPolicy($iBool)
$iReturn = DllCall("Kernel32.dll", "long", "SetProcessDEPPolicy", "long", $iBool)
Return $iReturn[0]
EndFunc