Win 10系統(tǒng)如何隱藏注冊(cè)表

Windows 10正式版已經(jīng)出了幾個(gè)月了,來(lái)看一下怎樣隱藏注冊(cè)表。下圖是一個(gè)從Windows XP — Windows 10的偏移量表。
Win 10系統(tǒng)如何隱藏注冊(cè)表

其他用到的結(jié)構(gòu)體CM_KEY_BODY、CM_KEY_NODE、CM_KEY_INDEX都沒(méi)有變化,可以直接使用。

Win 10系統(tǒng)如何隱藏注冊(cè)表

GetCellRoutine()的變化
偏移量、結(jié)構(gòu)體都沒(méi)變化,就直接編譯運(yùn)行了。結(jié)果自然是藍(lán)屏了,否則也不會(huì)有這篇文章了。通過(guò)分析memory dump,發(fā)現(xiàn)Hook是成功的,但執(zhí)行到自定義GetCellRoutine()函數(shù)時(shí),因?yàn)闂2黄胶鈱?dǎo)致了藍(lán)屏。

Win 10系統(tǒng)如何隱藏注冊(cè)表

既然Hook沒(méi)有問(wèn)題,就證明是GetCellRoutine()本身有了變化,重啟虛擬機(jī),看看原始的GetCellRoutine()指向哪個(gè)處理函數(shù)。

Win 10系統(tǒng)如何隱藏注冊(cè)表

處理函數(shù)是HvpGetCellPaged(),請(qǐng)出IDA看看代碼。

第3個(gè)參數(shù)是一個(gè)OUT DWROD *,只用來(lái)返回,不需要輸入,這樣就方便多了。把這里兼容掉,應(yīng)該就不會(huì)藍(lán)屏了。
修復(fù)藍(lán)屏

Win 10系統(tǒng)如何隱藏注冊(cè)表

Win 10系統(tǒng)如何隱藏注冊(cè)表

編譯運(yùn)行后,就可以隱藏了。(64位也能用此方法。)

Win 10系統(tǒng)如何隱藏注冊(cè)表