我正在考慮將IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP
和IMAGE_FILE_NET_RUN_FROM_SWAP
PE標誌包含到我的可執行文件中。是否存在與IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP或IMAGE_FILE_NET_RUN_FROM_SWAP相關的風險?
這個想法是爲了防止從網絡運行可執行文件的客戶端看到偶爾出現的異常,例如網絡卷在睡眠後無法重新連接。到目前爲止,我們一直建議客戶從本地連接的捲上運行可執行文件。
但是,我對虛擬內存,加載器等知之甚少,知道使用這些PE標誌會帶來哪些風險。
例如,如果我這樣做,我的可執行文件會消耗更多的物理內存,特別是如果同時運行多個可執行文件實例?
對不起,我不能舉出更多潛在風險的例子,但這是我的問題的本質。我有一種感覺,可能會有這樣做的缺點,但根本不知道這些缺點可能是什麼。
由於整個EXE都被複制到分頁文件中,所以它應該冷啓動較慢。不知道Windows是否足夠聰明以共享頁面,我有點懷疑它。 Process Explorer會告訴你,看看私人字節。 –
@Hans在加載時EXE是否被複制到分頁文件中,或者是否在頁面被複制時複製到頁面中?我應該如何解讀私人字節?我對虛擬內存的運作真的很無知。 –
頁面輸入操作是問題,而不是頁面輸出。所以是的,所有的頁面都必須被複制,以便以後可以分頁。私人字節數是不可共享的虛擬機數量。 –