Virbox SDK
2.1
|
许可管理用的导入头文件. 对应动态库: slm_runtime.dll/slm_runtime_dev.dll 对应静态库: slm_runtime_api.lib/slm_runtime_api_dev.lib 更多...
结构体 | |
struct | _ST_LED_CONTROL |
struct | _ST_INIT_PARAM |
struct | _ST_LOGIN_PARAM |
struct | _ST_LOCK_INFO |
struct | _ST_SESSION_INFO |
struct | _ST_SLM_LICENSE_INFO |
struct | _ST_FILE_INFO |
struct | _ST_FILE_INFO_LIST |
struct | _ST_DEV_INFO |
struct | _ST_ENUM_DEVICE |
struct | _ST_DEV_INFO_LIST |
struct | _ST_LICENSE_IDS |
类型定义 | |
typedef SS_UINT32(SSAPI * | SS_CALL_BACK )(SS_UINT32 message, void *wparam, void *lparam) |
typedef unsigned int | SLM_HANDLE_INDEX |
typedef enum _INFO_TYPE | INFO_TYPE |
typedef enum _LIC_USER_DATA_TYPE | LIC_USER_DATA_TYPE |
typedef enum _ENUM_DESC_TYPE | ENUM_DESV_TYPE |
typedef struct _ST_LED_CONTROL | ST_LED_CONTROL |
typedef struct _ST_INIT_PARAM | ST_INIT_PARAM |
typedef struct _ST_LOGIN_PARAM | ST_LOGIN_PARAM |
typedef struct _ST_LOCK_INFO | ST_LOCK_INFO |
typedef struct _ST_SESSION_INFO | ST_SESSION_INFO |
typedef struct _ST_SLM_LICENSE_INFO | ST_SLM_LICENSE_INFO |
typedef struct _ST_FILE_INFO | ST_FILE_INFO |
typedef struct _ST_FILE_INFO_LIST | ST_FILE_INFO_LIST |
typedef struct _ST_DEV_INFO | ST_DEV_INFO |
typedef struct _ST_ENUM_DEVICE | ST_ENUM_DEVICE |
typedef struct _ST_DEV_INFO_LIST | ST_DEV_INFO_LIST |
typedef struct _ST_LICENSE_IDS | ST_LICENSE_IDS |
枚举 | |
enum | _INFO_TYPE { LOCK_INFO = 1, SESSION_INFO = 2, LICENSE_INFO = 3, FILE_LIST = 4 } |
enum | _LIC_USER_DATA_TYPE { ROM = 0, RAW = 1, PUB = 2 } |
enum | _ENUM_DESC_TYPE { ENUM_DESC_LOCAL_DONGLE = 0, ENUM_DESC_REMOTE_DONGLE = 1, ENUM_DESC_CLOUD = 2, ENUM_DESC_SMART_OFFLINE = 3, ENUM_DESC_LOCAL_SLOCK = 4, ENUM_DESC_REMOTE_SLOCK = 5 } |
函数 | |
SS_UINT32 SSAPI | slm_init (IN ST_INIT_PARAM *pst_init) |
Runtime API 初始化函数,调用所有 Runtime API 必须先调用此函数进行初始化 更多... | |
SS_UINT32 SSAPI | slm_find_license (IN SS_UINT32 license_id, IN INFO_FORMAT_TYPE format, OUT char **license_desc) |
查找许可信息(仅对硬件锁有效) 更多... | |
SS_UINT32 SSAPI | slm_get_cloud_token (OUT SS_CHAR **access_token) |
枚举已登录的用户 token 更多... | |
SS_UINT32 SSAPI | slm_login (IN const ST_LOGIN_PARAM *license_param, IN INFO_FORMAT_TYPE param_format, OUT SLM_HANDLE_INDEX *slm_handle, IN OUT void *auth) |
安全登录许可,用 JSON 传递参数,并且检查时间(是否到期或者是否早于开始时间)、次数、并发数是否归零, 如果有计数器,则永久性减少对应的计数器,对于网络锁则临时增加网络并发计数器。 更多... | |
SS_UINT32 SSAPI | slm_logout (SLM_HANDLE_INDEX slm_handle) |
许可登出,并且释放许可句柄等资源 更多... | |
SS_UINT32 SSAPI | slm_keep_alive (SLM_HANDLE_INDEX slm_handle) |
保持登录会话心跳,避免变为“僵尸句柄”。 更多... | |
SS_UINT32 SSAPI | slm_encrypt (IN SLM_HANDLE_INDEX slm_handle, IN SS_BYTE *inbuffer, OUT SS_BYTE *outbuffer, IN SS_UINT32 len) |
许可加密,相同的许可ID相同的开发者加密结果相同 更多... | |
SS_UINT32 SSAPI | slm_decrypt (IN SLM_HANDLE_INDEX slm_handle, IN SS_BYTE *inbuffer, OUT SS_BYTE *outbuffer, IN SS_UINT32 len) |
许可解密,相同的许可ID相同的开发者加密结果相同 更多... | |
SS_UINT32 SSAPI | slm_user_data_getsize (IN SLM_HANDLE_INDEX slm_handle, IN LIC_USER_DATA_TYPE type, OUT SS_UINT32 *pmem_size) |
获得许可的用户数据区大小 更多... | |
SS_UINT32 SSAPI | slm_user_data_read (IN SLM_HANDLE_INDEX slm_handle, IN LIC_USER_DATA_TYPE type, OUT SS_BYTE *readbuf, IN SS_UINT32 offset, IN SS_UINT32 len) |
读许可数据,可以读取 #PUB、#RAW 和 ROM 更多... | |
SS_UINT32 SSAPI | slm_user_data_write (IN SLM_HANDLE_INDEX slm_handle, IN SS_BYTE *writebuf, IN SS_UINT32 offset, IN SS_UINT32 len) |
写许可的读写数据区 ,数据区操作之前请先确认锁内读写区的大小,可以使用 slm_user_data_getsize 获得 更多... | |
SS_UINT32 SSAPI | slm_pub_data_getsize (IN SLM_HANDLE_INDEX slm_handle, IN SS_UINT32 license_id, OUT SS_UINT32 *pmem_size) |
获得指定许可的公开区数据区大小,需要登录 0号许可 更多... | |
SS_UINT32 SSAPI | slm_pub_data_read (IN SLM_HANDLE_INDEX slm_handle, IN SS_UINT32 license_id, OUT SS_BYTE *readbuf, IN SS_UINT32 offset, IN SS_UINT32 len) |
读取许可公开区,需要登录 0号许可 更多... | |
SS_UINT32 SSAPI | slm_get_info (IN SLM_HANDLE_INDEX slm_handle, IN INFO_TYPE type, IN INFO_FORMAT_TYPE format, OUT char **result) |
获取已登录许可的状态信息,例如许可信息、硬件锁信息等 更多... | |
SS_UINT32 SSAPI | slm_execute_static (IN SLM_HANDLE_INDEX slm_handle, IN const char *exfname, IN SS_BYTE *inbuf, IN SS_UINT32 insize, OUT SS_BYTE *poutbuf, IN SS_UINT32 outsize, OUT SS_UINT32 *pretsize) |
开发者自定义算法,锁内可执行算法,锁内静态代码执行(仅支持硬件锁), 由开发者调用 D2CAPI 库中的 d2c_add_pkg 签发可执行代码接口生成,提前将可执行算法下载到锁内 更多... | |
SS_UINT32 SSAPI | slm_execute_dynamic (IN SLM_HANDLE_INDEX slm_handle, IN SS_BYTE *exf_buffer, IN SS_UINT32 exf_size, IN SS_BYTE *inbuf, IN SS_UINT32 insize, OUT SS_BYTE *poutbuf, IN SS_UINT32 outsize, OUT SS_UINT32 *pretsize) |
开发者自定义算法,锁内可执行算法,锁内动态执行代码(仅支持硬件锁),在应用程序运行过程中下载到锁内进行执行 更多... | |
SS_UINT32 SSAPI | slm_mem_alloc (IN SLM_HANDLE_INDEX slm_handle, IN SS_UINT32 size, OUT SS_UINT32 *mem_id) |
Virbox许可服务 内存托管内存申请 更多... | |
SS_UINT32 SSAPI | slm_mem_free (IN SLM_HANDLE_INDEX slm_handle, IN SS_UINT32 mem_id) |
释放托管内存 更多... | |
SS_UINT32 SSAPI | slm_mem_read (IN SLM_HANDLE_INDEX slm_handle, IN SS_UINT32 mem_id, IN SS_UINT32 offset, IN SS_UINT32 len, IN SS_BYTE *readbuff, OUT SS_UINT32 *readlen) |
Virbox许可服务 内存托管读 更多... | |
SS_UINT32 SSAPI | slm_mem_write (IN SLM_HANDLE_INDEX slm_handle, IN SS_UINT32 mem_id, IN SS_UINT32 offset, IN SS_UINT32 len, IN SS_BYTE *writebuff, OUT SS_UINT32 *numberofbyteswritten) |
Virbox许可服务 内存托管内存写入 更多... | |
SS_UINT32 SSAPI | slm_is_debug (IN void *auth) |
检测是否正在调试 更多... | |
SS_UINT32 SSAPI | slm_get_cert (IN SLM_HANDLE_INDEX slm_handle, IN CERT_TYPE cert_type, OUT SS_BYTE *cert, IN SS_UINT32 cert_size, OUT SS_UINT32 *cert_len) |
通过证书类型,获取已登录许可的设备证书 更多... | |
SS_UINT32 SSAPI | slm_get_device_cert (IN SLM_HANDLE_INDEX slm_handle, OUT SS_BYTE *device_cert, IN SS_UINT32 buff_size, OUT SS_UINT32 *return_size) |
获取已登录的加密锁证书 更多... | |
SS_UINT32 SSAPI | slm_sign_by_device (IN SLM_HANDLE_INDEX slm_handle, IN SS_BYTE *verify_data, IN SS_UINT32 verify_data_size, OUT SS_BYTE *signature, IN SS_UINT32 signature_buf_size, OUT SS_UINT32 *signature_size) |
设备正版验证(仅支持硬件锁) 更多... | |
SS_UINT32 SSAPI | slm_adjust_time_request (IN SLM_HANDLE_INDEX slm_handle, OUT SS_BYTE rand[SLM_FIXTIME_RAND_LENGTH], OUT SS_UINT32 *lock_time, IN OUT SS_UINT32 *pc_time) |
获取时间修复数据,用于生成时钟校准请求 更多... | |
SS_UINT32 SSAPI | slm_led_control (IN SLM_HANDLE_INDEX slm_handle, IN ST_LED_CONTROL *led_ctrl) |
闪烁指示灯 更多... | |
SS_UINT32 SSAPI | slm_get_version (OUT SS_UINT32 *api_version, OUT SS_UINT32 *ss_version) |
获得 Runtime 库 和 Virbox许可服务 的版本信息. 更多... | |
void SSAPI | slm_free (IN void *buffer) |
释放API内分配堆区域 更多... | |
SS_UINT32 SSAPI | slm_update (IN char *d2c_pkg, OUT char **error_msg) |
将D2C包进行升级,d2c包 由 D2CAPI 生成 更多... | |
SS_UINT32 SSAPI | slm_update_ex (IN SS_BYTE *lock_sn, IN char *d2c_pkg, OUT char **error_msg) |
将D2C包进行升级,需指定加密锁唯一序列号,d2c包 由 D2CAPI 生成 更多... | |
SS_UINT32 SSAPI | slm_d2c_update_inside (IN char *lock_sn, IN char *inside_file) |
锁内短码升级,需指定加密锁唯一序列号,需锁内可执行算法配合(仅支持硬件锁) 更多... | |
SS_UINT32 SSAPI | slm_enum_device (OUT char **device_info) |
枚举本地锁信息 更多... | |
SS_UINT32 SSAPI | slm_enum_device_ex (IN INFO_FORMAT_TYPE format, OUT void **device_info) |
枚举本地锁信息,支持按返回值类型获取 更多... | |
SS_UINT32 SSAPI | slm_enum_license_id (IN const char *device_info, OUT char **license_ids) |
枚举指定设备下所有许可ID 更多... | |
SS_UINT32 SSAPI | slm_enum_license_id_ex (IN ST_DEV_INFO *device_info, IN INFO_FORMAT_TYPE format, OUT void **license_ids) |
枚举指定设备下所有许可ID,支持按返回值类型获取 更多... | |
SS_UINT32 SSAPI | slm_get_license_info (IN const char *device_info, IN SS_UINT32 license_id, OUT char **license_info) |
获取指定设备下指定许可的全部信息 更多... | |
SS_UINT32 SSAPI | slm_get_license_info_ex (IN ST_DEV_INFO *device_info, IN SS_UINT32 license_id, IN INFO_FORMAT_TYPE format, OUT void **license_info) |
获取指定设备下指定许可的全部信息,支持按返回值类型获取 更多... | |
SS_UINT32 SSAPI | slm_check_module (IN SLM_HANDLE_INDEX slm_handle, IN SS_UINT32 module_id) |
检查模块 更多... | |
SS_UINT32 SSAPI | slm_snippet_execute (IN SLM_HANDLE_INDEX slm_handle, IN SS_BYTE *snippet_code, IN SS_UINT32 code_size, IN SS_BYTE *input, IN SS_UINT32 input_size, OUT SS_BYTE *output, IN SS_UINT32 outbuf_size, OUT SS_UINT32 *output_size) |
碎片代码执行(开发者不必关心) 更多... | |
SS_UINT32 SSAPI | slm_get_developer_id (OUT SS_BYTE developer_id[SLM_DEVELOPER_ID_SIZE]) |
获取 Runtime 库对应的开发商ID 更多... | |
SS_UINT32 SSAPI | slm_license_sign (IN SLM_HANDLE_INDEX slm_handle, IN SS_BYTE *sign_data, IN SS_UINT32 sign_length, OUT SS_BYTE *signature, IN SS_UINT32 max_buf_size, OUT SS_UINT32 *signature_length) |
使用已登录的云许可进行签名(仅支持云锁) 更多... | |
SS_UINT32 SSAPI | slm_license_verify (IN SS_BYTE *sign_data, IN SS_UINT32 sign_length, IN SS_BYTE *signature, IN SS_UINT32 signature_length, OUT char **sign_info) |
对云许可签名后的数据进行验签(仅支持云锁) 更多... | |
const SS_CHAR *SSAPI | slm_error_format (IN SS_UINT32 error_code, IN SS_UINT32 language_id) |
通过错误码获得错误信息 更多... | |
SS_UINT32 SSAPI | slm_cleanup (void) |
反初始化函数,与 slm_init 对应 更多... | |
SS_UINT32 SSAPI | slm_extensions_config (IN const char *config) |
扩展配置接口 更多... | |
许可管理用的导入头文件. 对应动态库: slm_runtime.dll/slm_runtime_dev.dll 对应静态库: slm_runtime_api.lib/slm_runtime_api_dev.lib
使用许可调用顺序:
第一步,调用slm_init函数进行全局初始化 第二步,调用slm_login函数登录许可(硬件许可,网络许可,云许可,软许可) 第三步,调用许可操作函数,例如slm_keepalive slm_encrypt slm_decrypt等操作 第四步,调用slm_logout函数,登出当前许可 第五步,程序退出时,调用slm_cleanup函数反初始化(可选调用)
在文件 ss_lm_runtime.h 中定义.
#define LANGUAGE_CHINESE_ASCII 0x0001 |
错误码查询返回语言类型ID:简体中文
在文件 ss_lm_runtime.h 第 203 行定义.
#define LANGUAGE_ENGLISH_ASCII 0x0002 |
错误码查询返回语言类型ID:英语
在文件 ss_lm_runtime.h 第 205 行定义.
#define LANGUAGE_TRADITIONAL_CHINESE_ASCII 0x0003 |
错误码查询返回语言类型ID:繁体中文
在文件 ss_lm_runtime.h 第 207 行定义.
#define LED_COLOR_BLUE 0 |
硬件锁闪灯颜色:蓝色
在文件 ss_lm_runtime.h 第 39 行定义.
#define LED_COLOR_RED 1 |
硬件锁闪灯颜色:红色
在文件 ss_lm_runtime.h 第 41 行定义.
#define LED_STATE_CLOSE 0 |
硬件锁闪灯控制:关闭
在文件 ss_lm_runtime.h 第 44 行定义.
#define LED_STATE_OPEN 1 |
硬件锁闪灯控制:打开
在文件 ss_lm_runtime.h 第 46 行定义.
#define LED_STATE_SHRINK 2 |
硬件锁闪灯控制:闪烁
在文件 ss_lm_runtime.h 第 48 行定义.
#define SLM_CALLBACK_VERSION02 0x02 |
SS_CALL_BACK的版本 (支持开发者API密码的版本)
在文件 ss_lm_runtime.h 第 98 行定义.
#define SLM_CLOUD_MAX_USER_GUID_SIZE 128 |
用户GUID最大长度(字符串)
在文件 ss_lm_runtime.h 第 145 行定义.
#define SLM_DEV_PASSWORD_LENGTH 16 |
开发者API密码长度(二进制字节)
在文件 ss_lm_runtime.h 第 142 行定义.
#define SLM_DEVELOPER_ID_SIZE 8 |
开发商ID长度(二进制字节)
在文件 ss_lm_runtime.h 第 127 行定义.
#define SLM_FILE_PRIVILEGE_FLAG_ENTRY_READ 0x10 |
硬件锁锁内文件属性:可读
在文件 ss_lm_runtime.h 第 167 行定义.
#define SLM_FILE_PRIVILEGE_FLAG_ENTRY_UPDATE 0x80 |
硬件锁锁内文件属性:深思可远程升级
在文件 ss_lm_runtime.h 第 173 行定义.
#define SLM_FILE_PRIVILEGE_FLAG_ENTRY_USE 0x40 |
硬件锁锁内文件属性:深思可使用(密钥文件)
在文件 ss_lm_runtime.h 第 171 行定义.
#define SLM_FILE_PRIVILEGE_FLAG_ENTRY_WRITE 0x20 |
硬件锁锁内文件属性:深思可写
在文件 ss_lm_runtime.h 第 169 行定义.
#define SLM_FILE_PRIVILEGE_FLAG_READ 0x01 |
硬件锁锁内文件属性:开发者可读
在文件 ss_lm_runtime.h 第 158 行定义.
#define SLM_FILE_PRIVILEGE_FLAG_UPDATE 0x08 |
硬件锁锁内文件属性:开发者可远程升级
在文件 ss_lm_runtime.h 第 164 行定义.
#define SLM_FILE_PRIVILEGE_FLAG_USE 0x04 |
硬件锁锁内文件属性:开发者可使用(密钥文件)
在文件 ss_lm_runtime.h 第 162 行定义.
#define SLM_FILE_PRIVILEGE_FLAG_WRITE 0x02 |
硬件锁锁内文件属性:开发者可写
在文件 ss_lm_runtime.h 第 160 行定义.
#define SLM_FILE_TYPE_BINARY 0 |
硬件锁锁内文件类型:数据文件
在文件 ss_lm_runtime.h 第 151 行定义.
#define SLM_FILE_TYPE_EXECUTIVE 1 |
硬件锁锁内文件类型:可执行文件文件
在文件 ss_lm_runtime.h 第 153 行定义.
#define SLM_FILE_TYPE_KEY 2 |
硬件锁锁内文件类型:密钥文件
在文件 ss_lm_runtime.h 第 155 行定义.
#define SLM_FIXTIME_RAND_LENGTH 8 |
时钟校准随机数种子长度
在文件 ss_lm_runtime.h 第 95 行定义.
#define SLM_GUID_LENGTH 16 |
一般的GUID长度,二进制
在文件 ss_lm_runtime.h 第 148 行定义.
#define SLM_INIT_FLAG_NOTIFY 0x01 |
初始化时设置,表示将收到 Virbox许可服务 的消息通知
在文件 ss_lm_runtime.h 第 210 行定义.
#define SLM_LOCK_SN_LENGTH 16 |
硬件锁设备芯片号的长度(二进制字节)
在文件 ss_lm_runtime.h 第 124 行定义.
#define SLM_LOGIN_FLAG_FIND_ALL 0x0001 |
许可登录控制:查找所有的锁,如果发现多个重名许可则不登录,提供选择,否则找到符合条件的锁直接登录(不建议使用此标志)
在文件 ss_lm_runtime.h 第 191 行定义.
#define SLM_LOGIN_FLAG_LOCKSN 0x0008 |
许可登录控制:指定锁号(芯片号)
在文件 ss_lm_runtime.h 第 195 行定义.
#define SLM_LOGIN_FLAG_SERVER 0x0010 |
许可登录控制:指定服务器
在文件 ss_lm_runtime.h 第 197 行定义.
#define SLM_LOGIN_FLAG_SNIPPET 0x0020 |
许可登录控制:指定碎片代码
在文件 ss_lm_runtime.h 第 199 行定义.
#define SLM_LOGIN_FLAG_VERSION 0x0004 |
许可登录控制:指定许可版本
在文件 ss_lm_runtime.h 第 193 行定义.
#define SLM_LOGIN_MODE_AUTO 0x0000 |
许可登录模式:自动选择
在文件 ss_lm_runtime.h 第 178 行定义.
#define SLM_LOGIN_MODE_CLOUD 0x0004 |
许可登录模式:指定登录云锁
在文件 ss_lm_runtime.h 第 184 行定义.
#define SLM_LOGIN_MODE_LOCAL_DONGLE 0x0001 |
许可登录模式:指定登录本地锁
在文件 ss_lm_runtime.h 第 180 行定义.
#define SLM_LOGIN_MODE_LOCAL_SLOCK 0x0008 |
许可登录模式:指定登录本地软锁
在文件 ss_lm_runtime.h 第 186 行定义.
#define SLM_LOGIN_MODE_REMOTE_DONGLE 0x0002 |
许可登录模式:指定登录网络锁
在文件 ss_lm_runtime.h 第 182 行定义.
#define SLM_LOGIN_MODE_REMOTE_SLOCK 0x0010 |
许可登录模式:指定登录远程软锁
在文件 ss_lm_runtime.h 第 188 行定义.
#define SLM_MAC_SIZE 6 |
MAC 地址长度
在文件 ss_lm_runtime.h 第 213 行定义.
#define SLM_MAX_ACCESS_TOKEN_LENGTH 64 |
指定登录云锁用户token最大长度(字符串)
在文件 ss_lm_runtime.h 第 133 行定义.
#define SLM_MAX_BIOS_INFO_SIZE 128 |
BIOS 信息最大长度
在文件 ss_lm_runtime.h 第 217 行定义.
#define SLM_MAX_CLOUD_SERVER_LENGTH 100 |
指定登录云锁服务器地址最大长度(字符串)
在文件 ss_lm_runtime.h 第 136 行定义.
#define SLM_MAX_CPU_INFO_SIZE 128 |
CPU 信息最大长度
在文件 ss_lm_runtime.h 第 215 行定义.
#define SLM_MAX_INPUT_SIZE 1758 |
代码执行,最大输入缓冲区大小(字节)
在文件 ss_lm_runtime.h 第 104 行定义.
#define SLM_MAX_OUTPUT_SIZE 1758 |
代码执行,最大输出缓冲区大小(字节)
在文件 ss_lm_runtime.h 第 106 行定义.
#define SLM_MAX_SERVER_NAME 32 |
指定登录网络锁服务器名称最大长度(字符串)
在文件 ss_lm_runtime.h 第 130 行定义.
#define SLM_MAX_SESSION_ID_SIZE 32 |
Session ID 的最大长度,字符串
在文件 ss_lm_runtime.h 第 219 行定义.
#define SLM_MAX_USER_CRYPT_SIZE 1520 |
加解密最大缓冲区最大长度(字节)
在文件 ss_lm_runtime.h 第 109 行定义.
#define SLM_MAX_USER_DATA_SIZE 2048 |
用户验证数据最大长度(字节)
在文件 ss_lm_runtime.h 第 112 行定义.
#define SLM_MAX_WRITE_SIZE 1904 |
用户数据区写入最大长度(字节)
在文件 ss_lm_runtime.h 第 115 行定义.
#define SLM_MEM_MAX_SIZE 2048 |
内存托管最大长度(字节)
在文件 ss_lm_runtime.h 第 101 行定义.
#define SLM_SNIPPET_SEED_LENGTH 32 |
碎片代码种子长度(二进制字节)
在文件 ss_lm_runtime.h 第 139 行定义.
#define SLM_VERIFY_DATA_SIZE 41 |
请求硬件锁设备私钥签名的数据大小,见slm_sign_by_device
在文件 ss_lm_runtime.h 第 121 行定义.
#define SLM_VERIFY_DEVICE_PREFIX "SENSELOCK" |
请求硬件锁设备私钥签名的数据前缀,见slm_sign_by_device
在文件 ss_lm_runtime.h 第 118 行定义.
#define SS_ANTI_ATTACH_FOUND 0x0203 |
检测到程序被调试器附加的行为,如通过Ollydbg、Windbg对程序进行附加调试
在文件 ss_lm_runtime.h 第 83 行定义.
#define SS_ANTI_CRC_ERROR 0x0206 |
检测到对模块数据的CRC验证失败,可能存在恶意分析行为,对进程中的模块设置断点或篡改等
在文件 ss_lm_runtime.h 第 89 行定义.
#define SS_ANTI_DEBUGGER_FOUND 0x0207 |
检测到软件运行环境中有调试器存在,如Ollydbg、Windbg
在文件 ss_lm_runtime.h 第 91 行定义.
#define SS_ANTI_EXCEPTION 0x0103 |
回调消息类型:异常
在文件 ss_lm_runtime.h 第 61 行定义.
#define SS_ANTI_IDLE 0x0104 |
回调消息类型:暂保留
在文件 ss_lm_runtime.h 第 63 行定义.
#define SS_ANTI_INFORMATION 0x0101 |
回调消息类型:信息提示
在文件 ss_lm_runtime.h 第 57 行定义.
#define SS_ANTI_MODULE_INVALID 0x0202 |
系统模块异常,可能存在劫持行为,如一些位于系统目录的动态库(hid.dll、lpk.dll)等,从错误的目录加载
在文件 ss_lm_runtime.h 第 81 行定义.
#define SS_ANTI_PATCH_INJECT 0x0201 |
检测到有补丁程序注入到目标程序中,一般指盗版程序的补丁动态库等文件出现在当前进程空间
在文件 ss_lm_runtime.h 第 79 行定义.
#define SS_ANTI_THREAD_ERROR 0x0205 |
检测到反调试线程运行状态异常,可能被恶意攻击,如线程被手动挂起等
在文件 ss_lm_runtime.h 第 87 行定义.
#define SS_ANTI_THREAD_INVALID 0x0204 |
意为:无效的线程。暂未定义,保留
在文件 ss_lm_runtime.h 第 85 行定义.
#define SS_ANTI_WARNING 0x0102 |
回调消息类型:警告(回调参数wparam代表警告类型)
在文件 ss_lm_runtime.h 第 59 行定义.
#define SS_MSG_LOCK_AVAILABLE 0x0202 |
回调消类型:锁可用(插入锁或 Virbox许可服务 启动时锁已初始化完成),回调参数wparam 代表锁号
在文件 ss_lm_runtime.h 第 70 行定义.
#define SS_MSG_LOCK_UNAVAILABLE 0x0203 |
回调消类型:锁无效(锁已拔出),回调参数wparam 代表锁号
在文件 ss_lm_runtime.h 第 72 行定义.
#define SS_MSG_SERVICE_START 0x0200 |
回调消类型:服务启动
在文件 ss_lm_runtime.h 第 66 行定义.
#define SS_MSG_SERVICE_STOP 0x0201 |
回调消类型:服务停止
在文件 ss_lm_runtime.h 第 68 行定义.
typedef enum _ENUM_DESC_TYPE ENUM_DESV_TYPE |
设备描述类型
typedef enum _INFO_TYPE INFO_TYPE |
获得锁信息类型枚举
typedef enum _LIC_USER_DATA_TYPE LIC_USER_DATA_TYPE |
许可数据区类型枚举
typedef unsigned int SLM_HANDLE_INDEX |
许可登录后的内存句柄,不需要客户维护内存,Virbox许可服务 替开发者维护内存,返回一个内存id,范围在0-N之间
在文件 ss_lm_runtime.h 第 223 行定义.
typedef SS_UINT32(SSAPI * SS_CALL_BACK)(SS_UINT32 message, void *wparam, void *lparam) |
Virbox许可服务 消息处理回调函数(当前版本 SLM_CALLBACK_VERSION02 ) ,其中lparam暂时没有使用
在文件 ss_lm_runtime.h 第 51 行定义.
typedef struct _ST_DEV_INFO ST_DEV_INFO |
设备信息结构
typedef struct _ST_DEV_INFO_LIST ST_DEV_INFO_LIST |
设备信息列表
typedef struct _ST_ENUM_DEVICE ST_ENUM_DEVICE |
设备描述结构
typedef struct _ST_FILE_INFO ST_FILE_INFO |
文件信息结构
typedef struct _ST_FILE_INFO_LIST ST_FILE_INFO_LIST |
文件信息结构列表
typedef struct _ST_INIT_PARAM ST_INIT_PARAM |
初始化参数
typedef struct _ST_LED_CONTROL ST_LED_CONTROL |
硬件锁闪灯控制结构
typedef struct _ST_LICENSE_IDS ST_LICENSE_IDS |
许可id列表
typedef struct _ST_LOCK_INFO ST_LOCK_INFO |
锁信息结构
typedef struct _ST_LOGIN_PARAM ST_LOGIN_PARAM |
许可Login 结构
typedef struct _ST_SESSION_INFO ST_SESSION_INFO |
会话信息结构体
typedef struct _ST_SLM_LICENSE_INFO ST_SLM_LICENSE_INFO |
许可信息结构
enum _ENUM_DESC_TYPE |
设备描述类型
在文件 ss_lm_runtime.h 第 250 行定义.
enum _INFO_TYPE |
获得锁信息类型枚举
枚举值 | |
---|---|
LOCK_INFO |
硬件锁锁信息 |
SESSION_INFO |
访问许可的会话信息 |
LICENSE_INFO |
当前登录的许可信息 |
FILE_LIST |
锁内文件列表 |
在文件 ss_lm_runtime.h 第 226 行定义.
enum _LIC_USER_DATA_TYPE |