|

分享源码
界面截图: |
- |
是否带模块: |
- |
备注说明: |
- |
今天玩到了变体型 就好奇他的结构,找遍全网资料还是挺少的,自己留个笔记吧!
变体分析 ()变量名 | 类 型 | 静态 | 数组 | 备 注 | _VAR | 变体型 | | | _Addr | 整数型 | | | _Addr_1 | 整数型 | | | _VAR_TYPE | 整数型 | | |
_VAR. 赋值 (“abc啊123”, ) _Addr = 取数据_通用型 (_VAR )_VAR_TYPE = 指针到整数 (_Addr + 0 )调试输出 (“数据类型: ” + 变体_取类型 (_VAR_TYPE )) 调试输出 (“Addr + 0”, _VAR_TYPE ) 调试输出 (“Addr + 2”, 指针到整数 (_Addr + 2 )) 调试输出 (“Addr + 4”, 指针到整数 (_Addr + 4 )) _Addr_1 = 指针到整数 (_Addr + 8 ) 调试输出 (“Addr + 8”, _Addr_1 ) 如果真 (_VAR_TYPE = 8 ) 调试输出 (“文本W:”, 指针到字节集 (_Addr_1, 7 × 2 + 2 )) 调试输出 (“Addr + 12”, 指针到整数 (_Addr + 12))
如果真 (_VAR_TYPE > 8192 ) 调试输出 (“------------------------------ 变体数组结构 尺寸为24字节 ------------------------”) 调试输出 (“Addr_1 + 0”, 指针到整数 (_Addr_1 + 0 )) 调试输出 (“Addr_1 + 4”, 指针到整数 (_Addr_1 + 4 )) 调试输出 (“Addr_1 + 8”, 指针到整数 (_Addr_1 + 8 )) 调试输出 (“Addr_1 + 12”, 指针到整数 (_Addr_1 + 12 )) 调试输出 (“Addr_1 + 12 - 成员1”, 指针到字节集 (指针到整数 (指针到整数 (_Addr_1 + 12 ) + 0 ), 2 + 2 )) 调试输出 (“Addr_1 + 12 - 成员2”, 指针到字节集 (指针到整数 (指针到整数 (_Addr_1 + 12 ) + 4 ), 2 + 2 )) 调试输出 (“Addr_1 + 16”, 指针到整数 (_Addr_1 + 16 )) 调试输出 (“Addr_1 + 20”, 指针到整数 (_Addr_1 + 20 ))  变量名 | 类 型 | 静态 | 数组 | 备 注 | _Code | 整数型 | | | _Msg | 文本型 | | |
如果 (Code ≥ 8192 ) _Msg = “ - 数组” _Code = Code % 8192  _Code = Code  判断 (_Code = 0 ) _Msg = “Empty” + _Msg 判断 (_Code = 1 ) _Msg = “Null” + _Msg 判断 (_Code = 2 ) _Msg = “整数型” + _Msg 判断 (_Code = 3 ) _Msg = “长整数型” + _Msg 判断 (_Code = 4 ) _Msg = “小数型” + _Msg 判断 (_Code = 5 ) _Msg = “双精度小数型” + _Msg 判断 (_Code = 6 ) _Msg = “货币型” + _Msg 判断 (_Code = 7 ) _Msg = “时间日期型” + _Msg 判断 (_Code = 8 ) _Msg = “文本型” + _Msg 判断 (_Code = 9 ) _Msg = “对象” + _Msg 判断 (_Code = 10 ) _Msg = “错误” + _Msg 判断 (_Code = 11 ) _Msg = “逻辑型” + _Msg 判断 (_Code = 12 ) _Msg = “变体型” + _Msg 判断 (_Code = 13 ) _Msg = “对象” + _Msg 判断 (_Code = 17 ) _Msg = “字节型” + _Msg  _Msg = “未知”返回 (_Msg)置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })返回 (0 )
补充内容 (2019-11-1 23:28):
宽字节文本可以用 Unicode宽文本 转 Ansi文本 解码 如 U2A({79,0,0,0}) |
评分
-
查看全部评分
|