|
| lstrcpyn_指针_长整数型 | 整数型 | | |
| kernel32.dll | |
| lstrcpyn | |
| 目标 | 长整数型 | | | | 源 | 长整数型 | | | | 长度 | 整数型 | | |
|
| lstrcpyn_指针_短整数型 | 整数型 | | |
| kernel32.dll | |
| lstrcpyn | |
| 目标 | 短整数型 | | | | 源 | 短整数型 | | | | 长度 | 整数型 | | |
|
| lstrcpyn_指针_整数型 | 整数型 | | |
| kernel32.dll | |
| lstrcpyn | |
| 目标 | 整数型 | | | | 源 | 整数型 | | | | 长度 | 整数型 | | |
|
| lstrcpyn_指针_小数型 | 整数型 | | |
| kernel32.dll | |
| lstrcpyn | |
| 目标 | 小数型 | | | | 源 | 小数型 | | | | 长度 | 整数型 | | |
|
| HeapAlloc_空白字节集 | 整数型 | | |
| kernel32.dll | |
| HeapAlloc | |
| 堆栈句柄 | 整数型 | | | | 标志 | 整数型 | | | | 分配大小 | 整数型 | | |
|
| GetProcessHeap_空白字节集 | 整数型 | | |
| kernel32.dll | |
| GetProcessHeap | |
|
| lstrcpyn_指针_字节集 | 整数型 | | |
| kernel32.dll | |
| lstrcpyn | |
| 欲取其指针 | 字节集 | | | | 欲取其指针 | 字节集 | | | | 保留 | 整数型 | | |
|
| RtlMoveMemory_int2Bytes_指针_字节集 | 整数型 | | |
| kernel32.dll | |
| RtlMoveMemory | |
| Destination | 字节集 | | | | 字节集指针 | 整数型 | | | | 数据长度 | 整数型 | | |
|
| RtlMoveMemory_指针_文本型 | | | |
| | |
| RtlMoveMemory | |
| Destination | 整数型 | | | | Source | 整数型 | | | | Length | 整数型 | | |
|
| lstrlenA_指针_文本型 | 整数型 | | |
| kernel32.dll | |
| lstrlenA | |
| lpString | 整数型 | | |
|
| lstrcpyn_指针_文本型 | 整数型 | | |
| kernel32.dll | |
| lstrcpyn | |
| 目标 | 文本型 | | | | 源 | 文本型 | | | | 长度 | 整数型 | | |
|
| IsBadStringPtrA_指针_是否有效 | 整数型 | | |
| kernel32.dll | |
| IsBadStringPtrA | |
| 指针 | 整数型 | | | | ucchMax | 整数型 | | | 置入代码 ({ 139, 69, 8, 3, 69, 12, 255, 0 })置入代码 ({ 139, 69, 8, 43, 69, 12, 255, 8 })返回 (IsBadStringPtrA_指针_是否有效 (要判断的指针地址, 4 ) = 0 )置入代码 ({ 139, 69, 8, 137, 69, 252 })返回 (ret )置入代码 ({ 139, 69, 8, 137, 69, 252 })返回 (ret )返回 (lstrcpyn_指针_文本型 (欲取地址的数据, 欲取地址的数据, 0 )) 长度 = lstrlenA_指针_文本型 (文本指针 ) + 1 文本 = 取空白文本 (长度 )RtlMoveMemory_指针_文本型 (取指针_文本型 (文本 ), 文本指针, 长度 )返回 (文本 )置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })返回 (0 )置入代码 ({ 139, 69, 8, 201, 194, 4, 0 })返回 (“”)返回 (lstrcpyn_指针_字节集 (欲取地址的数据, 欲取地址的数据, 0 )) |
| 到指针_字节集 | 字节集 | | |
| 字节集指针 | 整数型 | | | | 数据长度 | 整数型 | | | |
字节集 = API_取空白字节集 (数据长度 )RtlMoveMemory_int2Bytes_指针_字节集 (字节集, 字节集指针, 数据长度 )返回 (字节集 ) 如果真 (零字节数目 ≤ 0 ) 置入代码 ({ 51, 192, 139, 229, 93, 194, 4, 0 })字节集指针 = HeapAlloc_空白字节集 (GetProcessHeap_空白字节集 (), 8, 零字节数目 + 8) 如果真 (字节集指针 = 0 ) 置入代码 ({ 139, 229, 93, 194, 4, 0 })置入代码 ({ 254, 0, 255, 117, 8, 143, 64, 4, 139, 229, 93, 194, 4, 0 })返回 ({ })置入代码 ({ 139, 69, 8, 201, 194, 4, 0 })返回 (0 )置入代码 ({ 139, 69, 8, 138, 0, 201, 194, 4, 0 })返回 (0 )置入代码 ({ 139, 69, 8, 201, 194, 4, 0 })返回 (0 )置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })返回 (假)返回 (lstrcpyn_指针_小数型 (欲取地址的数据, 欲取地址的数据, 0 )) 置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })返回 (0 )返回 (lstrcpyn_指针_整数型 (欲取地址的数据, 欲取地址的数据, 0 )) 置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })返回 (0 )返回 (lstrcpyn_指针_短整数型 (欲取地址的数据, 欲取地址的数据, 0 )) 置入代码 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })返回 (0 )返回 (lstrcpyn_指针_长整数型 (欲取地址的数据, 欲取地址的数据, 0 )) 置入代码 ({ 139, 69, 8, 255, 48, 143, 69, 248, 255, 112, 4, 143, 69, 252 })返回 (Ret )置入代码 ({ 139, 69, 8, 201, 194, 4, 0 })返回 (0 )置入代码 ({ 139, 69, 8, 139, 16, 137, 85, 248, 139, 64, 4, 137, 69, 252 })返回 (结果 )置入代码 ({ 139, 69, 8, 201, 194, 4, 0 })返回 (0 )置入代码 ({ 139, 69, 8, 139, 16, 137, 85, 248, 139, 64, 4, 137, 69, 252 })返回 (结果 )
下面是调用测试
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 文本变量 | 文本型 | | | | 文本指针 | 整数型 | | | | 字节集变量 | 字节集 | | | | 字节集指针 | 整数型 | | | | 字节变量 | 字节型 | | | | 字节指针 | 整数型 | | | | 逻辑变量 | 逻辑型 | | | | 逻辑指针 | 整数型 | | | | 小数变量 | 小数型 | | | | 小数指针 | 整数型 | | | | 整数变量 | 整数型 | | | | 整数指针 | 整数型 | | | | 短整数变量 | 短整数型 | | | | 短整数指针 | 整数型 | | | | 长整数变量 | 长整数型 | | | | 长整数指针 | 整数型 | | | | 日期变量 | 日期时间型 | | | | 日期指针 | 整数型 | | | | 双精度变量 | 双精度小数型 | | | | 双精度指针 | 整数型 | | | | 还原文本 | 文本型 | | | | 还原字节集 | 字节集 | | | 调试输出 (“========== 指针_递增 ==========”)整数变量 = 100 整数指针 = 取指针_整数型 (整数变量 )调试输出 (“原值:”, 到指针_整数型 (整数指针 )) 指针_递增 (整数指针, 50 )调试输出 (“+50:”, 到指针_整数型 (整数指针 )) 调试输出 (“========== 指针_递减 ==========”)指针_递减 (整数指针, 30 )调试输出 (“-30:”, 到指针_整数型 (整数指针 )) 调试输出 (“========== 指针_是否有效 ==========”)调试输出 (“有效:”, 指针_是否有效 (整数指针 )) 调试输出 (“空:”, 指针_是否有效 (0 )) 调试输出 (“========== API_取空白字节集 ==========”)还原字节集 = API_取空白字节集 (8 )调试输出 (“长度:”, 取字节集长度 (还原字节集 )) 调试输出 (“========== 取指针_子程序 ==========”)调试输出 (“取:”, 取指针_子程序 (&测试_指针 )) 调试输出 (“到:”, 到指针_子程序 (取指针_子程序 (&测试_指针 )) = &测试_指针 )调试输出 (“========== 文本型(汇编) ==========”)文本变量 = “Hello”文本指针 = 取指针_文本型 (文本变量 )调试输出 (“取:”, 文本指针 )还原文本 = 到指针_文本型 (文本指针 )调试输出 (“到:”, 还原文本 )调试输出 (“========== 文本型(API) ==========”)文本指针 = 取指针_文本型1 (文本变量 )调试输出 (“取:”, 文本指针 )还原文本 = 到指针_文本型1 (文本指针 )调试输出 (“到:”, 还原文本 )调试输出 (“========== 字节集 ==========”)字节集变量 = { 1, 2, 3, 255 }字节集指针 = 取指针_字节集 (字节集变量 )调试输出 (“取:”, 字节集指针 )还原字节集 = 到指针_字节集 (字节集指针, 4 )调试输出 (“到:”, 还原字节集 )调试输出 (“========== 字节型 ==========”)字节变量 = 255 字节指针 = 取指针_字节型 (字节变量 )调试输出 (“取:”, 字节指针 )调试输出 (“到:”, 到指针_字节型 (字节指针 )) 调试输出 (“========== 逻辑型 ==========”)逻辑变量 = 真 逻辑指针 = 取指针_逻辑型 (逻辑变量 )调试输出 (“取:”, 逻辑指针 )调试输出 (“到:”, 到指针_逻辑型 (逻辑指针 )) 调试输出 (“========== 小数型 ==========”)小数变量 = 3.14 小数指针 = 取指针_小数型 (小数变量 )调试输出 (“取:”, 小数指针 )调试输出 (“到:”, 到指针_小数型 (小数指针 )) 调试输出 (“========== 整数型 ==========”)整数变量 = 123456 整数指针 = 取指针_整数型 (整数变量 )调试输出 (“取:”, 整数指针 )调试输出 (“到:”, 到指针_整数型 (整数指针 )) 调试输出 (“========== 短整数型 ==========”)短整数变量 = 32767 短整数指针 = 取指针_短整数型 (短整数变量 )调试输出 (“取:”, 短整数指针 )调试输出 (“到:”, 到指针_短整数型 (短整数指针 )) 调试输出 (“========== 长整数型 ==========”)长整数变量 = 1234567890123 长整数指针 = 取指针_长整数型 (长整数变量 )调试输出 (“取:”, 长整数指针 )调试输出 (“到:”, 到指针_长整数型 (长整数指针 )) 调试输出 (“========== 日期时间型 ==========”)日期变量 = [2026年7月16日15时30分 ]日期指针 = 取指针_日期时间型 (日期变量 )调试输出 (“取:”, 日期指针 )调试输出 (“到:”, 到指针_日期时间型 (日期指针 )) 调试输出 (“========== 双精度小数型 ==========”)双精度变量 = 3.14159265359 双精度指针 = 取指针_双精度小数型 (双精度变量 )调试输出 (“取:”, 双精度指针 )调试输出 (“到:”, 到指针_双精度小数型 (双精度指针 )) 调试输出 (“========== 全部测试完成 ==========”)
|