我知道系统的一些DLL如,ntdll.dll,kernel32.dll,user32.dll,gdi32.dll等这些DLL,他们基本上映射到各个进程中,我用WINHEX观察,这些DLL在每个进程中的地址都是相同的,我想了解的是这些DLL在物理内存是否只有一份?还是多份拷贝?  如果多份,DLL的优越性体现在哪呢? 我通过用WINHEX直接修改某个进程的ntdll.dll的数据,再打开另一个进程看其中的ntdll.dll发现数据没有发现变化,据此,应该是互不干扰的,应该是内存中存在多份ntdll.dll的拷贝. 事实上在hook api中也是要一个个进程去改,这样看来,某个程序要引入调用一个DLL时,不是把这个DLL又装入一遍了吗?请大家发表对此问题的看法.