关于windows内存分割的几个问题。
Windows 中的每个进程都有自己的虚拟内存。这是否意味着每个进程都有自己的任务(我的意思是自己的任务描述符或任务门)?
我用 ollydbg 打开了一个简单的 exe,我看到每个对 dll 函数的 CALL 指令都将我带到了跳转表。跳转表有到 DLL 的跳转指令,如下所示:
JMP DWORD PTR DS:[402058]
我的问题是为什么它使用数据段而不是 CS 选择器作为基地址?如果我打开内存映射并找到存储在 402058 的内容,我会发现它包含资源。如果我正确理解了存储在 DS 中的 DLL 函数的地址?
我注意到内存映射是由所有者组织的。它不应该用段来组织,比如所有代码都在 DS 等的 CS 数据中吗?
谢谢你