| 子程序名 | 返回值类型 | 公开 | 备 注 | ||||
| API_取空白文本 | 文本型 | 返回具有指定数目半角空格的文本。 | |||||
| 参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
| 重复次数 | 整数型 | ||||||
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
| 文本指针 | 整数型 | |||||
如果真 (重复次数 ≤ 0)
' 这里嵌入汇编代码取代 返回 (“”)
置入代码 ({ 51, 192, 139, 229, 93, 194, 4, 0 })
' XOR EAX,EAX
' MOV ESP,EBP
' POP EBP
' RETN 04
' 分配可用内存空间, 1是为了填充文本终止符“0”。
文本指针 = HeapAlloc (GetProcessHeap (), 0, 重复次数 + 1)
如果真 (文本指针 = 0)
' 这里嵌入汇编代码取代 返回 (“”)
置入代码 ({ 139, 229, 93, 194, 4, 0 })
' MOV ESP,EBP
' POP EBP
' RETN 04' 以空白字符0x20填充分配的内存块字节数据,这里使用了API函数,当然也可以用嵌入汇编来实现。
RtlFillMemory_字节 (文本指针, 重复次数, 32)
' 嵌入汇编代码以替换掉原来的返回代码,并添加文本终止符标志“0”。
' 如用“指针到文本”命令会使效率大大减低,不推荐使用。
置入代码 ({ 139, 69, 8, 3, 69, 252, 198, 0, 0, 139, 69, 252, 139, 229, 93, 194, 4, 0 })
' 至于释放内存就交给易IDE了,使用HeapAlloc申请内存的目的就在这里,因为易IDE也是使用HeapAlloc
' 申请内存的,最终易IDE会帮我们使用HeapFree释放内存。哈哈!是不是有点欺骗易IDE的味道。
返回 (“”)
| DLL命令名 | 返回值类型 | 公开 | 备 注 | |
| RtlFillMemory_字节 | 整数型 | 填充内存字节 | ||
| DLL库文件名: | ||||
| kernel32.dll | ||||
| 在DLL库中对应命令名: | ||||
| RtlFillMemory | ||||
| 参数名 | 类 型 | 传址 | 数组 | 备 注 |
| Destination | 整数型 | 指针地址 | ||
| Length | 整数型 | 长度 | ||
| Fill | 字节型 | 字节数据 | ||
词条作者信息 使用例程
