0 0 0
分享排行榜
修正错误贡献榜
已审核词条 未审核词条
子程序名返回值类型公开备 注
API_取空白文本文本型 返回具有指定数目半角空格的文本。
参数名类 型参考可空数组备 注
重复次数整数型
变量名类 型静态数组备 注
文本指针整数型 
' 注:以下的代码仿效了易核心库命令“取空白文本”,只是填充空白字符0x20部分使用了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字节型字节数据


词条作者信息
项目部004 -  一个月只活跃几分钟
使用例程
参与校正错误的易友
评论列表   发现违规评论、广告、刷屏,请点击举报(有奖)
无评论 评论
  • Copyright © ijingyi.com All Rights Reserved.