遊び心で作ってみました。ZwProtectVirtualMemoryにつながるコードを直に呼び出します。
できるか分からんで、実行せんでええで。
#module
#uselib "kernel32.dll"
#func VirtualProtect "VirtualProtect"
#deffunc _xdim var v1, int p1
prm = -1, varptr(v1), p1*4, $40, varptr(ret)
prm = callfunc(prm, varptr(VirtualProtect)-113, 5)
return ret
#global
; 引数に2倍して返すプログラム
test = $8bec8b55,$e0d10845,$c3c9
; 実行許可するで
_xdim test, length(test)
prm = 10
mes callfunc(prm, varptr(test), 1)
WinAPIの粗が見えてきますな。