//go:build (darwin || freebsd || linux || windows) && (386 || arm || mips || mipsle)

package yu_sys

import (
	_ "unsafe"
)

// VMProtectBegin 标识代码的保护区域开始的标记。对VMProtectBegin的调用必须放在受保护代码块的第一个命令（或过程或函数调用）之前，您可以在VMProtect中设置给定受保护块的编译类型。
//
//go:cgo_import_dynamic VMProtectBegin VMProtectBegin "VMProtectSDK32.dll"
//go:linkname VMProtectBegin VMProtectBegin
var VMProtectBegin Address

// VMProtectBeginVirtualization 标识具有预定义“虚拟化”编译类型的代码的保护区的开始的标记。在进一步使用VMProtect的过程中，无法更改此标记的编译类型。
//
//go:cgo_import_dynamic VMProtectBeginVirtualization VMProtectBeginVirtualization "VMProtectSDK32.dll"
//go:linkname VMProtectBeginVirtualization VMProtectBeginVirtualization
var VMProtectBeginVirtualization Address

// VMProtectBeginMutation 用预定义的“突变”编译类型标识代码保护区开始的标记。在进一步使用VMProtect的过程中，无法更改此标记的编译类型。
//
//go:cgo_import_dynamic VMProtectBeginMutation VMProtectBeginMutation "VMProtectSDK32.dll"
//go:linkname VMProtectBeginMutation VMProtectBeginMutation
var VMProtectBeginMutation Address

// VMProtectBeginUltra 用预定义的“ultra（虚拟化+突变）”编译类型标识代码保护区开始的标记。在进一步使用VMProtect的过程中，无法更改此标记的编译类型。
//
//go:cgo_import_dynamic VMProtectBeginUltra VMProtectBeginUltra "VMProtectSDK32.dll"
//go:linkname VMProtectBeginUltra VMProtectBeginUltra
var VMProtectBeginUltra Address

// VMProtectEnd 标识代码保护区结束的标记。对VMProtectEnd的调用必须放在受保护代码块的最后一个命令（过程或函数调用）之后。
//
//go:cgo_import_dynamic VMProtectEnd VMProtectEnd "VMProtectSDK32.dll"
//go:linkname VMProtectEnd VMProtectEnd
var VMProtectEnd Address
