mirror of
https://github.com/Alukym/VMProtect-Source.git
synced 2025-06-11 09:47:57 -05:00
Initial commit
This commit is contained in:
77
sdk/VMProtectSDK.bas
Normal file
77
sdk/VMProtectSDK.bas
Normal file
@ -0,0 +1,77 @@
|
||||
' protection
|
||||
Public Declare Sub VMProtectBegin Lib "VMProtectSDK32.dll" (ByVal Ptr As Long)
|
||||
Public Declare Sub VMProtectBeginVirtualization Lib "VMProtectSDK32.dll" (ByVal Ptr As Long)
|
||||
Public Declare Sub VMProtectBeginMutation Lib "VMProtectSDK32.dll" (ByVal Ptr As Long)
|
||||
Public Declare Sub VMProtectBeginUltra Lib "VMProtectSDK32.dll" (ByVal Ptr As Long)
|
||||
Public Declare Sub VMProtectBeginVirtualizationLockByKey Lib "VMProtectSDK32.dll" (ByVal Ptr As Long)
|
||||
Public Declare Sub VMProtectBeginUltraLockByKey Lib "VMProtectSDK32.dll" (ByVal Ptr As Long)
|
||||
Public Declare Sub VMProtectEnd Lib "VMProtectSDK32.dll" ()
|
||||
|
||||
' utils
|
||||
Public Declare Function VMProtectIsProtected Lib "VMProtectSDK32.dll" () As Boolean
|
||||
Public Declare Function VMProtectIsDebuggerPresent Lib "VMProtectSDK32.dll" (ByVal Value As Boolean) As Boolean
|
||||
Public Declare Function VMProtectIsVirtualMachinePresent Lib "VMProtectSDK32.dll" () As Boolean
|
||||
Public Declare Function VMProtectIsValidImageCRC Lib "VMProtectSDK32.dll" () As Boolean
|
||||
Public Declare Function VMProtectDecryptString Lib "VMProtectSDK32.dll" Alias "VMProtectDecryptStringW" (ByVal Ptr As Long) As Long
|
||||
Public Declare Function VMProtectFreeString Lib "VMProtectSDK32.dll" (ByVal Ptr As Long) As Boolean
|
||||
|
||||
' licensing
|
||||
Public Const SERIAL_STATE_FLAG_CORRUPTED = 1
|
||||
Public Const SERIAL_STATE_FLAG_INVALID = 2
|
||||
Public Const SERIAL_STATE_FLAG_BLACKLISTED = 4
|
||||
Public Const SERIAL_STATE_FLAG_DATE_EXPIRED = 8
|
||||
Public Const SERIAL_STATE_FLAG_RUNNING_TIME_OVER = 16
|
||||
Public Const SERIAL_STATE_FLAG_BAD_HWID = 32
|
||||
Public Const SERIAL_STATE_FLAG_MAX_BUILD_EXPIRED = 64
|
||||
|
||||
Public Type VMProtectDate
|
||||
wYear As Integer
|
||||
bMonth As Byte
|
||||
bDay As Byte
|
||||
End Type
|
||||
|
||||
Public Type VMProtectSerialNumberData
|
||||
nState As Long
|
||||
wUserName(1 To 256) As Integer
|
||||
wEMail(1 To 256) As Integer
|
||||
dtExpire As VMProtectDate
|
||||
dtMaxBuild As VMProtectDate
|
||||
bRunningTime As Long
|
||||
nUserDataLength As Byte
|
||||
bUserData(1 To 255) As Byte
|
||||
End Type
|
||||
|
||||
Public Declare Function VMProtectSetSerialNumber Lib "VMProtectSDK32.dll" (ByVal Serial As String) As Long
|
||||
Public Declare Function VMProtectGetSerialNumberState Lib "VMProtectSDK32.dll" () As Long
|
||||
Public Declare Function VMProtectGetSerialNumberData Lib "VMProtectSDK32.dll" (ByRef Data As VMProtectSerialNumberData, ByVal Size As Long) As Boolean
|
||||
Public Declare Function VMProtectGetCurrentHWID Lib "VMProtectSDK32.dll" (ByVal HWID As String, ByVal Size As Long) As Long
|
||||
|
||||
' activation
|
||||
Public Const ACTIVATION_OK = 0
|
||||
Public Const ACTIVATION_SMALL_BUFFER = 1
|
||||
Public Const ACTIVATION_NO_CONNECTION = 2
|
||||
Public Const ACTIVATION_BAD_REPLY = 3
|
||||
Public Const ACTIVATION_BANNED = 4
|
||||
Public Const ACTIVATION_CORRUPTED = 5
|
||||
Public Const ACTIVATION_BAD_CODE = 6
|
||||
Public Const ACTIVATION_ALREADY_USED = 7
|
||||
Public Const ACTIVATION_SERIAL_UNKNOWN = 8
|
||||
Public Const ACTIVATION_EXPIRED = 9
|
||||
Public Const ACTIVATION_NOT_AVAILABLE = 10
|
||||
|
||||
Public Declare Function VMProtectActivateLicense Lib "VMProtectSDK32.dll" (ByVal Code As String, ByVal Serial As String, ByVal Size As Long) As Long
|
||||
Public Declare Function VMProtectDeactivateLicense Lib "VMProtectSDK32.dll" (ByVal Serial As String) As Long
|
||||
Public Declare Function VMProtectGetOfflineActivationString Lib "VMProtectSDK32.dll" (ByVal Code As String, ByVal Buf As String, ByVal Size As Long) As Long
|
||||
Public Declare Function VMProtectGetOfflineDeactivationString Lib "VMProtectSDK32.dll" (ByVal Serial As String, ByVal Buf As String, ByVal Size As Long) As Long
|
||||
|
||||
' StrFromPtr
|
||||
Private Declare Function StrLen Lib "kernel32.dll" Alias "lstrlenW" (ByVal Str As Long) As Long
|
||||
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByVal Dest As Long, ByVal Source As Long, ByVal Length As Long)
|
||||
Public Function StrFromPtr(ByVal Ptr As Long) As String
|
||||
Dim res As String
|
||||
Dim chars As Long
|
||||
chars = StrLen(Ptr)
|
||||
res = String$(chars, 0)
|
||||
CopyMemory StrPtr(res), Ptr, chars * 2
|
||||
StrFromPtr = res
|
||||
End Function
|
Reference in New Issue
Block a user