如何使用 DPMI 将内存分配给特定的虚拟地址?

我想使用 DPMI 将内存分配给特定的虚拟地址并像这样清除它:

mov edi, 0x400000  ; Base address.
mov ecx, 0x2000    ; Number of bytes to allocate.
???
cld
mov al, 0
rep stosb  ; Clear the allocated memory.

我该怎么做,即我应该写什么给???部分?

看起来这不是 DPMI 中的 API。

仅供参考,带有 Win32s 的 Windows 3.11 也无法将 PE .exe 文件加载到任意基地址。(它要求 PE .exe 文件具有重定位。)如果有用于内存分配的 DPMI API 任意虚拟地址,那么带有 Win32s 的 Windows 3.11 可能会在 Windows 3.11 386 增强模式下使用类似的 API 来加载 PE .exe 文件到任意基地址。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何分配虚拟地址?

强制将内存分配始终分配给相同的虚拟地址

编译器如何将内存地址分配给变量?

如何定义全局func指针并分配给特定地址

如何将内存分配给const char *数组

使用指针将内存分配给结构

使用指针将内存分配给结构

如何将部署分配给特定的节点池

如何使用Next.js将更多内存分配给Javascript堆

如何使用 CudaMallocHost 将固定内存分配给二维数组?

如何确定如何使用input()和.split()将字符串分配给特定变量

如何将内存分配分配给数据库中的每个属性

分页/页面错误处理程序-如何使用虚拟地址在磁盘上查找特定内容

如何在SQL中使用PIVOT将方法分配给特定参数?

如何使用“textmineR”包将通过 LDA 在 R 中重试的主题分配给特定文档

如何将多个传出 IP 地址分配给 AWS 上的单个实例?

如何将现有对象的地址分配给智能指针?

如何在VPC内将STATIC地址分配给EBS(beanstalk)?

如何(通过CLI)将多个IP地址分配给一个接口?

克隆链接列表时如何将内存分配给tail-> next指针

如何将Eigen :: Matrix分配给共享内存(或堆)?

如何将内存分配给空字符串数组

如何将内存(例如添加行)重新分配给GSL矩阵?

C-如何将内存分配给可变长度的字符串输入?

如何将内存分配给具有数组成员的类实例?

如何使用反射将值分配给未知结构

如何使用AppleScript将获取值分配给变量?

如何使用循环将值分配给数组

如何使用ObjectMapper将枚举的rawValue分配给变量?