亚洲乱码一卡二卡四卡乱码新区_亚洲乱码中文字幕小综合_亚洲人成电影在线播放_亚洲性色AV一区二区三区_亚洲一区二区三区影院_亚洲中文字幕久久精品无码A_亚洲中文字幕无码专区_伊人热热久久原色播放WWW_在线观看AV永久免费_最新欧洲大片免费在线,欧美日韩成人三级免费看,久久黄色网址,欧美激情内射喷水高潮

首頁
社區(qū)
課程
招聘
為什么可以修改一個運行的進程系統(tǒng)dll的代碼段,?
0312 2022-1-3 1172

例如一些hook會修改kernel32.dll或者其他系統(tǒng)dll的代碼段,那如果修改了這些dll數(shù)據(jù)段不是違背了dll所有進程共用一份這句話了嗎,?測試發(fā)現(xiàn)我修改了一個進程中的kernel32.dll的代碼段,,其他進程不會有影響,那問題是這樣這時這個被修改的dll在物理內存中還是之前只有一份嗎,?

收藏
1條回答
0346954 2022-1-8

沒有修改前所有進程共用一份系統(tǒng)dll,,修改時系統(tǒng)存在寫時復制機制Copy on write,應用程序修改映射的dll內存時,,系統(tǒng)會重新分配一份內存頁面,,把dll內存頁面的內容復制一份到新的頁面上,應用程序寫入時寫到的是新的物理內存頁面上,,不影響其它程序,。

回復