下你所需,载你所想!
汇集开发技术源码资料

32位进程成功申请超过4GB内存

:129.738KB :1 :2022-08-23 19:37:42

部分简介

众所周知:在64位系统上,32位程序依赖Wow64子系统运行。
这个Wow64子系统本质上是由4个64位的Dll(ntdll.dll,wow64.dll,wow64win.dll,wow64cpu.dll)模拟了一个32位的程序。(这个进程虽然是运行的32位代码,但API接口核心由64位完成,甚至这个进程有64位的PEB、TEB和32位的PEB、TEB,系统判断进程是否为32位无非是检查TEB->WowTebOffset的值)
所以本质上64位系统下的32位程序是有64位进程的特性。
所以只要突破系统对于进程的限制,申请大内存的问题就迎刃而解了。
如何突破?直接用64位的NtAllocateVirtualMemory就可以了。

32位进程成功申请超过4GB内存

热门推荐

相关文章