对比 | 32位系统 | 64位系统 |
---|---|---|
物理内存最大容量 | 4GB | 2TB |
单进程地址空间最大容量 | 3GB | 8TB |
Windows 64 位系统
当前64位平台上只实现了48位的线性地址空间,0-47位是地址,48-63保持与第47位相同。低地址范围:0x0000000000000000-0x00007FFFFFFFFFFF,高地址范围:0xFFFF800000000000-0xFFFFFFFFFFFFFFFF。Windows 64 位系统内核使用高地址范围,用户态使用低地址范围
Wow 64 子系统
Wow64 是 Windows 64 位系统的一个子系统,负责在 Windows 64 位系统上执行 32 位的应用程序
木马要同时支持 32 位系统和 64 位系统,需要针对 Wow64 的实现与运行机制,进行有针对性的处理,才能更好地适应 Windows64 位环境,并进行有效的防护。木马使用 IsWow64Process 函数判断其是否运行在 Wow64 子系统中,由于 32 位的 Windows 系统也实现了该函数,故该函数只能判断进程是否运行在 Wow64 中,而不能判断所在系统为 64 位系统。要获取是否为 64 位系统,需要使用 GetNativeSystemInfo 函数
Wow64 子系统主要由用户模式下的一组 DLL 及系统内核中的部分功能组成